aboutsummaryrefslogtreecommitdiffstats
path: root/inxi.changelog
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2022-02-24 23:57:12 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2022-02-24 23:57:12 -0500
commitf42f69813157b01202b94608e22e631ef8a46ff6 (patch)
tree3d67f6c98a4dafab52d26beaa56ccc233655a0e4 /inxi.changelog
parent81d27411acb309cebb1b6ea3b1ee928828827c81 (diff)
parentb8adc21d8a16323bc7f02e8cff78c2a85ac10585 (diff)
Update upstream source from tag 'upstream/3.3.13-1'
Update to upstream version '3.3.13-1' with Debian dir 4e1685610e3b8199855e4e599ed504e1fe871724
Diffstat (limited to 'inxi.changelog')
-rw-r--r--inxi.changelog364
1 files changed, 364 insertions, 0 deletions
diff --git a/inxi.changelog b/inxi.changelog
index fd0ff52..57e3763 100644
--- a/inxi.changelog
+++ b/inxi.changelog
@@ -1,4 +1,368 @@
================================================================================
+Version: 3.3.13
+Patch: 00
+Date: 2022-02-22
+--------------------------------------------------------------------------------
+RELEASE NOTES:
+--------------------------------------------------------------------------------
+
+Just as 3.3.10 > 3.3.11 were a huge set of CPU upgrades, including significant
+internal refactors, so too is 3.3.13 a significant Graphics upgrade, featuring
+significant upgrades to Wayland (and Xvesa/TinyX!) support, and allowing for
+much more granular output controls. The legacy -Ga showing
+Display/Screen/Monitors is now split apart, and can now work for some features
+in and out of display.
+
+This upgrade should be of significant interest to any Wayland using distro, as
+well as the tiny Xvesa based distros like TinyCore, Slitaz, and Puppy.
+
+--------------------------------------------------------------------------------
+NOTE TO MAINTAINERS AND PACKAGERS:
+
+If you had Cpanel::JSON::XS or JSON::XS Perl modules as dependencies, you can
+remove those, inxi now can use JSON::PP, which is in Core Modules since Perl
+5.14 (unless for some reason your distro removed that module from Core Modules).
+
+Basically inxi will simply look for whichever of the 3 is installed, and use
+that one.
+
+--------------------------------------------------------------------------------
+KNOWN ISSUES:
+
+1. The free drivers for xorg like amdgpu, modesetting, alter the the internal
+kernel IDs for monitors/gfx device ports, which is somewhat bizarre since the
+ideal role of any ID is to be an identifier that always works. Due to this
+situation, inxi has to map the kernel ids to the x driver monitor IDs in order
+to show the advanced monitor data, like model: mapped: and modes:. This may not
+always work as expected since if the mapping fails, the data will fail to match
+to the monitors. While not enough data is in to make any conclusions, hoping
+that this issue does not exist on Wayland compositors.
+
+--------------------------------------------------------------------------------
+BUGS:
+
+1. Not sure if this was a bug, but I believe RAM vendor ID matches would never
+have generated results, and might have generated errors. That's corrected as
+part of Code fix 1.
+
+--------------------------------------------------------------------------------
+FIXES:
+
+1. Tiny indentation level issue, for -Ga, Monitor was not set to be a container
+for its data. This would only impact -y 1 or json and xml output cases, and would
+be subtle, but it was an oversight.
+
+2. Small fix for monitor dimensions, failed to switch the mm dimensions for
+monitors placed in a vertical, portait mode, instead of standard landscape mode.
+Now switches mm x and y if that is detected, which corrects dpi as well.
+
+3. For Xvesa:
+
+* Show vesa as display driver, Xvesa == vesa, dugh,lol.
+
+* Show better Interface and Screen resolution data missing messages.
+
+* See FIX 5 for adding in display-ID:.
+
+* Show TinX Xvesa string for server data, not just Xvesa.
+
+4. For Wayland, which currently has no EGL support in inxi, if no glxinfo
+present, show EGL Wayland specific Messsage: for advanced EGL data, not the
+generic glxinfo that were shown previously.
+
+5. Display was relying on xdpyinfo or a Wayland environmental variable to set
+display-ID:, now falls back always to $ENV{DISPLAY} if nothing else was found
+and that exists. I hadn't realized how much was depending on those x tools,
+which many people never had installed in the first place. This also supplies
+that for Xvesa as well, which has features that need the Display-ID to use.
+
+6. Intel family 6, model 17h, supposed to be yorkfield, was penryn, fixed.
+
+7. Small fix for remove_duplicates, it was not case insensitive so missed things
+like DELL Dell in strings.
+
+8. Failed to detect or get Xfree86 X server version number.
+
+--------------------------------------------------------------------------------
+ENHANCEMENTS:
+
+1. Extensive Graphics Upgrades:
+
+* -Gxx Devices: For some gpus / drivers, show vram total and used for -Gxx.
+amdgpu supports this, I believe it's the only one, but don't know for sure.
+
+* -Gxx Devices: (Linux only): Show active, off (connected but disabled, like a
+closed laptop screen with attached moniitor), and empty ports on devices. Not
+tested for USB yet.
+
+* -Gxx Devices: Show device ports (like VGA-1, DVI-I-1, HDMI-A-1), active, off
+(off is connected but disabled) and empty (linux only).
+
+* -G Display/Screen: Removed strict dependency on xdpyinfo to show advanced xorg
+screen and display data. Now it will show most of the data if xrandr is
+available, and all if xrandr and xdpyinfo are installed. More granular error
+messages as well.
+
+* -G Wayland Display: new type, d-rect: for > 1 monitor Wayland display layouts.
+Works roughly the same as Screen: s-res: does, except since Wayland has no
+'Screen' concept, that goes into Display. This is sort of a rough algo,
+basically it takes either the dimensions of the total of x and y resolutions, or
+the greatest x or y resolution found for any monitor, whichever is greater, and
+uses that to create the display rectangle resolution composite value.
+
+* -G Display, Monitors: Extended display tool options from just xrandr to
+swaymsg, wlr-xrandr, weston-info, wayland-info. Still nothing on kwin_wayland or
+gnome-shell and mutter data.
+
+*. -S, -G: compositors, full redo of list, now supported:
+
+asc awc cage cagebreak cardboard chameleonwm clayland comfc dwc dwl epd-wm
+fireplace feathers fenestra glass gamescope greenfield grefson hikari hopalong
+inaban japokwm kiwmi kwinft labwc laikawm lipstick liri mahogany marina maze
+motorcar newm nucleus orbital perceptia phoc pywm qtile river rustland simulavr
+skylight sommelier sway swc swvkc tabby taiwins tinybox tinywl trinkster velox
+vimway vivarium wavy waybox way-cooler wayfire wayhouse waymonad westeros
+westford weston wio+ wio wxrc wxrd xuake
+
+* -G Enhanced Interfaces/GL item, previously only type OpenGL forX, now has:
+
+ * X - OpenGL, requires glxinfo , same as before.
+
+ * Wayland - EGL, currently no tool available, stub in place. Allegedly this
+ data can be found but have no idea how or if a tool does that yet
+
+ * Xvesa - Interface: interface type (VBE/GOP). GOP not confirmed, no data
+ samples; v:, source:, dac: (no idea what it is, show it though), controller:,
+ and ram: items.
+
+ This is based on TinyX/Xvesa as found in TinyCore, but should work in Slitaz
+ and Puppy TinyX as well if those projects are still around.
+
+* -G Display/Screen/Monitor data: Created structures and abstractions that allow
+for Wayland/Xorg/Xvesa data, most new features will work with any of these. Or
+Arcan, if that actually makes it, and we get data for it. We'll wait on Arcan,
+heh.
+
+* -G Display server: For Xvesa, added type TinyX to server if detected. Added
+Xwayland, which was not handled previously. For Xwayland, if wayland running,
+and if Xorg also installed, shows:
+
+ server: X.org
+ v: 1.20.14
+ with: Xwayland
+ v: 21.01
+
+Otherwise shows:
+
+ server: Xwayland
+ v: 21.01
+
+* -G Compositors: fixed a long standing weak spot, if > 1 compositor detected
+running, not common, but could happen, shows all detected compositors.
+
+ Display: x11
+ server: X.Org
+ v: 1.20.13
+ compositors:
+ 1: Mutter
+ v: 41.1
+ 2: xfwm
+ v: 4.16.1
+ driver:
+ X:
+ loaded: modesetting
+ gpu: radeon
+
+* -G drivers: now shows if X or gpu driver, in each its own section. This makes
+it more obvious what is going on:
+
+ Display: x11
+ server: X.Org
+ v: 1.20.13
+ driver:
+ X:
+ loaded: modesetting
+ gpu: radeon
+ resolution:
+
+* -Gxx Monitors: Show primary monitor with pos: primary,right. Uses either
+xrandr 'primary' value, or if no 'primary' found in an Xorg Screen, uses +0+0
+positioned monitor. Position is based on the row and column number in the
+rectangular grid of monitors when monitors per Xorg Screen are > 1.
+
+For most common multi-monitor layouts, text positions are used, which are in
+general more clear and easy to understand than their internal numeric
+counterparts, that is, unless the layout is too complicated, it will show left,
+or top-left, instead of 1-1, and so on.
+
+Text mode positions are available for the following grid styles currently: 1x2,
+1x3, 1x4, 2x1, 2x2, 2x3, 3x1, 3x2, 3x3. 'top' means the top row if > 1 row,
+'bottom' means the bottom row, 'middle' is the middle row if 3 rows, 'left' is
+the first column, 'right' the last, 'center' if 3 columns, and 'center-l' (1-2),
+'center-r' (1-3) are the 2 center columns if 4 columns. 'bottom-l', 'bottom-c',
+'bottom-r'; 'middle-l', 'middle-c', 'middle-r'; 'top-left', 'top-center',
+'top-right' complete the possible values.
+
+If the grid of monitors is greater than the supported rows or columns, it will
+switch to numeric row-column mode, with column-row numbering starting at 1-1,
+top left.
+
+* -Gxx Monitors: show (if detected, Linux only) monitor model, and if the
+display ID (from Xorg or Wayland) is different from the /sys monitor ID, show
+mapped: to show the /sys id.
+
+* -Gxxx Monitors: show modes: max: XxY min: XxY, or mode: XxY (if only 1 mode
+found). Shows hz:
+
+* -Ga Monitors: shows serial, built year, gamma, ratio, if detected.
+
+2. Added impish 21-10 and jammy 22-04 to ubuntu id. That's for Mint base ID. Not
+huge point in updating if Mint doesn't update inxi, but there it is.
+
+3. For -Axx, -Exx, -Gxx, -Nxx, shows PCIe speed and lanes. With -a, shows max
+speed / lanes if different than current speeds/lanes. Note that for unknown
+reasons not all devices in a PCIe slot show this data.
+
+4. -Ixx: terminals added: foot, ate
+
+5. -Sxx: login/display managers added: emptty, greetd, qingy, tbsm. See CODE 5
+for more info on how this change was done.
+
+6. -Sxxx: status/dock/panel bars added: i3-status-rs, luastatus, nwg-bar,
+nwg-dock, nwg-panel, rootbar, sfwbar, wapanel, waybar, yambar
+
+7. Added a Tyan board IPMI sensor data set.
+
+8. Added support for fruid_print for Elbrus -M Machine data. Those boards don't
+have dmi tables, but do ship with Elbrus OS which has fruid_print.
+
+9. More disk vendors! Yes, you know the drill, the world turns, and with every
+turn, a flock of new vendors appears, like baby rabbits emerging from their
+warren, endlessly, a stream that is the life essence itself... or something.
+
+--------------------------------------------------------------------------------
+CHANGES:
+
+1. When xdpyinfo is not installed, user will still see advanced -Ga Monitor and
+Screen data as long as xrandr at least is installed. Better error messages as
+well now to explain which tool or tools missing caused the missing data.
+
+2. -Gxx will show basic Screen and Monitors, id, mapped, pos:, model, res, dpi,
+diag; -Gxxx adds Monitor modes; --Ga adds screen/monitor size, Screen diag.
+
+3. -ba/-v2 no longer show the full screens/monitor report, now it remains basic
+mode output, which it should have always done, unless -G is also explicitly
+added.
+
+4. Split apart x-server version to v:, which should always have been the case.
+
+5. Xvesa and Wayland no longer show glxinfo messages for no glxinfo for GL data.
+Now they show their own custom messages, appropriate to the case.
+
+6. json features now test for JSON::PP, JSON::XS, or Cpanel::JSON::XS modules,
+and use whichever is found. Note I did not realize JSON::PP was in core modules
+as of 5.14 so that makes sense to use, and will allow inxi to start using json
+data sources, which are a lot easier to parse.
+
+7. Changed -G drivers to show subsections for X and gpu drivers, and updated
+missing driver messages to account for this change. X drivers now show the sub
+sets of loaded/unloaded/failed/alternate, and gpu shows active gpu drivers,
+assuming such are detected.
+
+--------------------------------------------------------------------------------
+DOCUMENTATION:
+
+1. Help and man page updates for -G Display/Screen/Monitor changes. Redid -G,
+-Gx, -Gxx, -Gxxx, -Ga. Added monitor layout position feature.
+
+2. Updated -Ga for xrandr/xdpyinfo changes.
+
+3. Updated --recommends to more accurately show function of xdpyinfo and xrandr
+for -G and -Ga.
+
+4. Reorganized and added complete table of contents to docs/inxi-data.txt
+
+--------------------------------------------------------------------------------
+CODE:
+
+1. Slightly optimized use of array loads on disk_vendor() and ram_vendor() based
+on how it's now done for monitor layouts, which is more efficient, use a scalar
+to hold a reference to the array, that avoids having the array ever exist in
+more than 1 place. Part of the ongoing process of avoiding extra hash and array
+copies globally.
+
+2. Moved to consistent undef behaviors.
+ * For lists of variables use () to undefine, changed all of the the following:
+ 1. (@a,$b,$c,%d) = (undef,undef,undef,undef);
+ 2. (@a,$b,$c,%d) = (undef);
+ 3. (@a,$b,$c,%d) = undef;
+ to use: (@a,$b,$c,%d) = (); This undefines all the variables in the list.
+ Note that assigning undef to @a in the first example creates an array of 1
+ key, with the value undef, and (@a,@b) = (undef,undef) creates arrays of 2
+ indexes, or something like that. Not what was wanted.
+ Examples 2 and 3 assign undef to @a: an array of 1 index, value undef, and
+ undefine the others variables in the list. This was not the desired behavior!
+ * For most scalars, arrays, and hashes, use: undef @a; undef $s; undef %h.
+ * For some hash and array index values, use $h{a} = undef. These cases may want
+ the key itself to exist, with the value of undef, though I believe:
+ undef $h{a};
+ is synonymous, but still have to verify that.
+
+I did some testing, and realized that some of the undef I had used in the
+various previous ways of using undef were not actually resulting in the expected
+behaviors.
+
+3. Refactored display_data_x into 3 functions, added display_data_xdpyinfo and
+display_data_xrandr, which allows for more granular handling of those
+dependencies, now inxi can show most advanced display data with only xrandr
+installed.
+
+4. Significantly improved all error handling and missing data for Wayland/Xorg.
+
+5. Refactored get_display_manager() to better handle corner case dm file or
+directory names, and to avoid endless loops. Much cleaner now. Required because
+greetd had varying file names, greetd.run, or just greet-546.sock. With some
+other dm's that use similar, or unreadable directories in /run, now just doing
+a glob of /run/ /var/run, /var/run/rc.d as detected and checking for the dms
+in the names, then just using the dms that were found. Simpler.
+
+6. Massively simplified and integrated compositor logic in Graphics, now using
+program_values() and program_data() as appropriate, and simple matching list
+to ps_gui data to get detected compositor[s], much simpler, far more efficient
+code, less to maintain. Also fixed long-standing weak spot of exiting on first
+detected compositor, now shows all detected, with version etc for each if
+available.
+
+7. With 6. also significantly simplified and optimized get_ps_de_data() for
+desktop data, that's the ps aux fallback case for wm desktop detections.
+
+8. Made $wl compositors list global to avoid having to update each section,
+that's now used in -G compositor, -S desktop/wm, and wm sections. It is set
+in ps_gui() on initial load.
+
+7. Settled on one and only way to do multiline conditionals, now use no space,
+use same indent level as starting if/elsif etc. I've been debating this one, but
+can't find any real way to handle that elegantly so I think best to just not
+try, and leave it up the code flow to show when it's wrapped condition tests.
+
+8. Refactored previous gl_output, expanded it to handle all interface types,
+OpenGL, EGL (not currently active due to no known tool to get EGL data for
+Wayland, and Interface: VBE type data for Xvesa. This roughly completed the
+breaking apart of the X.org centric logic for Display, Monitors, and GL data,
+and make all sections now fully agnostic to display server or protocol type.
+
+Should new display servers appear, it will now be far more simple to add support
+for them, since they would just plug into the existing abstraction layers.
+
+9. Added --debug-arg to allow for passing specific custom args to the debugger.
+
+10. Refactored display_server version, now works much better, creates lists of
+server/version, and xwayland as well if found.
+
+--------------------------------------------------------------------------------
+-- Harald Hope - Tue, 22 Feb 2022 15:30:24 -0800
+
+================================================================================
Version: 3.3.12
Patch: 00
Date: 2022-01-18