mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 08:11:39 +00:00
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.
This commit is contained in:
parent
87ebdfff2a
commit
cd1e29b0af
527
inxi.1
527
inxi.1
|
@ -15,7 +15,7 @@
|
|||
.\" with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
.\"
|
||||
.TH INXI 1 "2022\-01\-18" "inxi" "inxi manual"
|
||||
.TH INXI 1 "2022\-02\-22" "inxi" "inxi manual"
|
||||
|
||||
.SH NAME
|
||||
inxi \- Command line system information script for console and IRC
|
||||
|
@ -266,43 +266,49 @@ in order to avoid spamming. ARM CPUs: show \fBfeatures\fR items.
|
|||
.TP
|
||||
.B \-F \fR, \fB\-\-full\fR
|
||||
Show Full output for inxi. Includes all Upper Case line letters (except
|
||||
\fB\-J\fR and \fB\-W\fR) plus \fB\-\-swap\fR, \fB\-s\fR and \fB\-n\fR. Does
|
||||
not show extra verbose options such as \fB\-d \-f \-i -J \-l \-m \-o \-p \-r
|
||||
\-t \-u \-x\fR unless you use those arguments in the command, e.g.:
|
||||
\fB\-J\fR and \fB\-W\fR) plus \fB\-\-swap\fR, \fB\-s\fR and \fB\-n\fR. Does not
|
||||
show extra verbose options such as \fB\-d \-f \-i -J \-l \-m \-o \-p \-r \-t \-u
|
||||
\-x\fR unless you use those arguments in the command, e.g.:
|
||||
\fBinxi \-Frmxx\fR
|
||||
|
||||
.TP
|
||||
.B \-G \fR, \fB\-\-graphics\fR
|
||||
Show Graphic device(s) information, including details of device and display
|
||||
drivers (\fBloaded:\fR, and, if applicable: \fBunloaded:\fR, \fBfailed:\fR),
|
||||
display protocol (if available), display server (and/or Wayland compositor),
|
||||
vendor and version number, e.g.:
|
||||
drivers (\fBX:\fR \fBloaded:\fR, and, if applicable: \fBunloaded:\fR,
|
||||
\fBfailed:\fR, and active \fBgpu:\fR drivers), display protocol (if available),
|
||||
display server (and/or Wayland compositor), vendor and version number, e.g.:
|
||||
|
||||
\fBDisplay: x11 server: Xorg 1.15.1\fR
|
||||
\fBDisplay: x11 server: Xorg v: 1.15.1\fR
|
||||
|
||||
or
|
||||
|
||||
\fBDisplay: wayland server: X.org v: 1.20.1 with: Xwayland v: 20.1\fR
|
||||
|
||||
If protocol is not detected, shows:
|
||||
|
||||
\fBDisplay: server: Xorg 1.15.1\fR
|
||||
|
||||
Also shows screen resolution(s) (per monitor/X screen), OpenGL renderer,
|
||||
OpenGL core profile version/OpenGL version.
|
||||
Also shows screen resolution(s) (per monitor/X screen). For X.org: OpenGL
|
||||
renderer, OpenGL core profile version/OpenGL version; for VESA: data (for
|
||||
Xvesa); for Wayland: GBM/EGL data (not implemented).
|
||||
|
||||
Compositor information will show if detected using \fB\-xx\fR option
|
||||
or always if detected and Wayland.
|
||||
Compositor information will show if detected using \fB\-xx\fR option or always
|
||||
if detected and Wayland since the compositor is the server with Wayland.
|
||||
|
||||
\fB\-Gxx\fR shows monitor data as well, if detected.
|
||||
|
||||
.TP
|
||||
.B \-h \fR, \fB\-\-help\fR
|
||||
The help menu. Features dynamic sizing to fit into terminal window. Set script
|
||||
global \fBCOLS_MAX_CONSOLE\fR if you want a different default value, or
|
||||
use \fB\-y <width>\fR to temporarily override the defaults or actual window
|
||||
width.
|
||||
The help menu. Features dynamic sizing to fit into terminal window. Set script
|
||||
global \fBCOLS_MAX_CONSOLE\fR if you want a different default value, or use
|
||||
\fB\-y <width>\fR to temporarily override the defaults or actual window width.
|
||||
|
||||
.TP
|
||||
.B \-i \fR, \fB\-\-ip\fR
|
||||
Show WAN IP address and local interfaces (latter requires \fBifconfig\fR or
|
||||
\fBip\fR network tool), as well as network output from \fB\-n\fR.
|
||||
Not shown with \fB\-F\fR for user security reasons. You shouldn't paste your
|
||||
local/WAN IP. Shows both IPv4 and IPv6 link IP addresses.
|
||||
Show WAN IP address and local interfaces (latter requires \fBifconfig\fR or
|
||||
\fBip\fR network tool), as well as network output from \fB\-n\fR. Not shown with
|
||||
\fB\-F\fR for user security reasons. You shouldn't paste your local/WAN IP.
|
||||
Shows both IPv4 and IPv6 link IP addresses.
|
||||
|
||||
.TP
|
||||
.B \-I \fR, \fB\-\-info\fR
|
||||
|
@ -313,9 +319,9 @@ for extra information (init type/version, runlevel, packages).
|
|||
Note: if \fB\-m\fR is used or triggered, the memory item will show in the main
|
||||
Memory: report of \fB\-m\fR, not in \fB\Info:\fR.
|
||||
|
||||
Raspberry Pi only: uses \fBvcgencmd get_mem gpu\fR to get gpu RAM amount,
|
||||
if user is in video group and \fBvcgencmd\fR is installed. Uses
|
||||
this result to increase the \fBMemory:\fR amount and \fBused:\fR amounts.
|
||||
Raspberry Pi only: uses \fBvcgencmd get_mem gpu\fR to get gpu RAM amount, if
|
||||
user is in video group and \fBvcgencmd\fR is installed. Uses this result to
|
||||
increase the \fBMemory:\fR amount and \fBused:\fR amounts.
|
||||
|
||||
.TP
|
||||
.B \-j\fR, \fB\-\-swap\fR
|
||||
|
@ -327,19 +333,17 @@ To show partition labels or UUIDs (when available and relevant), use with
|
|||
|
||||
.TP
|
||||
.B \-J \fR, \fB\-\-usb\fR
|
||||
Show USB data for attached Hubs and Devices. Hubs also show number of ports.
|
||||
Be aware that a port is not always external, some may be internal, and either
|
||||
used or unused (for example, a motherboard USB header connector that is not
|
||||
used).
|
||||
Show USB data for attached Hubs and Devices. Hubs also show number of ports. Be
|
||||
aware that a port is not always external, some may be internal, and either used
|
||||
or unused (for example, a motherboard USB header connector that is not used).
|
||||
|
||||
Hubs and Devices are listed in order of BusID.
|
||||
|
||||
BusID is generally in this format: BusID\-port[.port][.port]:DeviceID
|
||||
|
||||
Device ID is a number created by the kernel, and has no necessary ordering
|
||||
or sequence connection, but can be used to match this output to lsusb
|
||||
values, which generally shows BusID / DeviceID (except for tree view, which
|
||||
shows ports).
|
||||
Device ID is a number created by the kernel, and has no necessary ordering or
|
||||
sequence connection, but can be used to match this output to lsusb values, which
|
||||
generally shows BusID / DeviceID (except for tree view, which shows ports).
|
||||
|
||||
Examples: \fBDevice\-3: 4\-3.2.1:2\fR or \fBHub: 4\-0:1\fR
|
||||
|
||||
|
@ -355,31 +359,29 @@ Sample: \fB\-ojpl\fR.
|
|||
|
||||
.TP
|
||||
.B \-L\fR, \fB\-\-logical\fR
|
||||
Show Logical volume information, for LVM, LUKS, bcache, etc. Shows
|
||||
size, free space (for LVM VG). For LVM, shows \fBDevice\-[xx]: VG:\fR
|
||||
(Volume Group) size/free, \fBLV\-[xx]\fR (Logical Volume). LV shows type,
|
||||
size, and components. Note that components are made up of either containers
|
||||
(aka, logical devices), or physical devices. The full report requires
|
||||
doas/sudo/root.
|
||||
Show Logical volume information, for LVM, LUKS, bcache, etc. Shows size, free
|
||||
space (for LVM VG). For LVM, shows \fBDevice\-[xx]: VG:\fR (Volume Group)
|
||||
size/free, \fBLV\-[xx]\fR (Logical Volume). LV shows type, size, and components.
|
||||
Note that components are made up of either containers (aka, logical devices), or
|
||||
physical devices. The full report requires doas/sudo/root.
|
||||
|
||||
Logical block devices can be thought of as devices that are made up out
|
||||
of either other logical devices, or physical devices. inxi does its best
|
||||
to show what each logical device is made out of. RAID devices form a subset
|
||||
of all possible Logical devices, but have their own section, \fB\-R\fR.
|
||||
Logical block devices can be thought of as devices that are made up out of
|
||||
either other logical devices, or physical devices. inxi does its best to show
|
||||
what each logical device is made out of. RAID devices form a subset of all
|
||||
possible Logical devices, but have their own section, \fB\-R\fR.
|
||||
|
||||
If \fB\-R\fR is used with \fB\-Lxx\fR, \fB\-Lxx\fR will not show RAID
|
||||
information for LVM RAID devices since it's redundant. If \fB\-R\fR is
|
||||
not used, a simple RAID line will appear for LVM RAID in \fB\-Lxx\fR.
|
||||
information for LVM RAID devices since it's redundant. If \fB\-R\fR is not used,
|
||||
a simple RAID line will appear for LVM RAID in \fB\-Lxx\fR.
|
||||
|
||||
\fB\-Lxx\fR also shows all components and devices. Note that since
|
||||
components can go in many levels, each level per primary component is
|
||||
indicated by either another 'c', or ends with a 'p' device, the physical
|
||||
device. The number of c's or p's indicates the depth, so you can see which
|
||||
component belongs to which.
|
||||
\fB\-Lxx\fR also shows all components and devices. Note that since components
|
||||
can go in many levels, each level per primary component is indicated by either
|
||||
another 'c', or ends with a 'p' device, the physical device. The number of c's
|
||||
or p's indicates the depth, so you can see which component belongs to which.
|
||||
|
||||
\fB\-L\fR shows only the top level components/devices (like \fB\-R\fR).
|
||||
\fB\-La\fR shows component/device size, maj:min ID, mapped name
|
||||
(if applicable), and puts each component/device on its own line.
|
||||
\fB\-L\fR shows only the top level components/devices (like \fB\-R\fR).
|
||||
\fB\-La\fR shows component/device size, maj:min ID, mapped name (if applicable),
|
||||
and puts each component/device on its own line.
|
||||
|
||||
Sample:
|
||||
|
||||
|
@ -945,10 +947,10 @@ configuration item \fBINDENT\fR to make permanent.
|
|||
|
||||
.TP
|
||||
.B \-\-indents [0\-10]\fR
|
||||
Change primary wrap mode, second, and -y1 level indents. First indent level only
|
||||
applied if output width is less than max wrap width (see \fB\-\-max\-wrap\fR). 0
|
||||
disables all wrapped indents and all second level indents. Use configuration
|
||||
item \fBINDENTS\fR to make permanent.
|
||||
Change primary wrap mode, second, and \fB\-y1\fR level indents. First indent
|
||||
level only applied if output width is less than max wrap width (see
|
||||
\fB\-\-max\-wrap\fR). 0 disables all wrapped indents and all second level
|
||||
indents. Use configuration item \fBINDENTS\fR to make permanent.
|
||||
|
||||
.TP
|
||||
.B \-\-limit [\-1 \- x]\fR
|
||||
|
@ -1085,8 +1087,8 @@ each extra data level.
|
|||
|
||||
.TP
|
||||
.B \-x \-A\fR
|
||||
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
|
||||
specific vendor [product] information.
|
||||
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows specific
|
||||
vendor [product] information.
|
||||
|
||||
\- Adds version/port(s)/driver version (if available) for each device.
|
||||
|
||||
|
@ -1101,9 +1103,9 @@ specific vendor [product] information.
|
|||
\- Adds attached battery powered peripherals (\fBDevice\-[number]:\fR) if
|
||||
detected (keyboard, mouse, etc.).
|
||||
|
||||
\- Adds battery \fBvolts:\fR, \fBmin:\fR voltages. Note that if difference
|
||||
is critical, that is current voltage is too close to minimum voltage, shows
|
||||
without \fB\-x\fR.
|
||||
\- Adds battery \fBvolts:\fR, \fBmin:\fR voltages. Note that if difference is
|
||||
critical, that is current voltage is too close to minimum voltage, shows without
|
||||
\fB\-x\fR.
|
||||
|
||||
.TP
|
||||
.B \-x \-C\fR
|
||||
|
@ -1195,14 +1197,15 @@ for each HCI ID.
|
|||
|
||||
.TP
|
||||
.B \-x \-G\fR
|
||||
\- Adds PCI/USB ID of each device.
|
||||
|
||||
\- Adds (if available and/or relevant) \fBvendor:\fR item, which shows
|
||||
specific vendor [product] information.
|
||||
|
||||
\- Adds direct rendering status.
|
||||
\- \fBX.org:\fR Adds direct rendering status.
|
||||
|
||||
\- Adds (for single GPU, nvidia driver) screen number that GPU is running on.
|
||||
|
||||
\- Adds PCI/USB ID of each device.
|
||||
\- \fBX.org:\fR Adds (for single GPU, nvidia driver) screen number that GPU is
|
||||
running on.
|
||||
|
||||
.TP
|
||||
.B \-x \-i\fR
|
||||
|
@ -1329,6 +1332,8 @@ found for each distribution system base detection.
|
|||
.B \-xx \-A\fR
|
||||
\- Adds vendor:product ID for each device.
|
||||
|
||||
\- Adds PCIe speed and lanes item (Linux only, if detected).
|
||||
|
||||
.TP
|
||||
.B \-xx \-B\fR
|
||||
\- Adds serial number.
|
||||
|
@ -1363,31 +1368,103 @@ For a PCIe 3 NVMe drive, with speed of \fB8 GT/s\fR and \fB4\fR lanes
|
|||
\- Adds (\fBhciconfig \fRonly) LMP subversion (and/or HCI revision
|
||||
if applicable) for each device.
|
||||
|
||||
\- Adds PCIe speed and lanes item (Linux only, and if PCIe bluetooth, which is
|
||||
rare).
|
||||
|
||||
.TP
|
||||
.B \-xx \-G\fR
|
||||
Triggers much more complete Screen/Monitor output.
|
||||
|
||||
\fBX.org:\fR requires \fBxdpyinfo\fR or \fBxrandr\fR, and the advanced per
|
||||
monitor feature requires \fBxrandr\fR.
|
||||
|
||||
\fBWayland:\fR requires any tool capable of showing monitor and resolution
|
||||
information. \fBSway\fR has \fBswaymsg\fR, \fBweston\-info\fR or
|
||||
\fBwayland\-info\fR can show Wayland information on any Wayland compositor, and
|
||||
\fBwlr\-randr\fR can show Wayland information for any \fBwlroots\fR based
|
||||
compositor.
|
||||
|
||||
Further note that all references to \fBDisplays\fR, \fBScreens\fR, and
|
||||
\fBMonitors\fR are referring to the \fBX\fR or \fBWayland\fR technical terms,
|
||||
not normal consumer usage.
|
||||
|
||||
\fBX.org:\fR 1 \fBDisplay\fR runs 1 or more \fBScreens\fR, and 1 \fBScreen\fR
|
||||
runs 1 or more \fBMonitors\fR.
|
||||
|
||||
\fBWayland:\fR The \fBDisplay\fR is the primary container, and it can contain 1
|
||||
or more \fBMonitors\fR.
|
||||
|
||||
\- Adds vendor:product ID of each device.
|
||||
|
||||
\- Adds Xorg compositor, if found (always shows for Wayland systems).
|
||||
\- Adds PCIe speed and lanes item (Linux only, and if PCIe device and detected).
|
||||
|
||||
\- For free drivers, adds OpenGL compatibility version number if available.
|
||||
For nonfree drivers, the core version and compatibility versions are usually
|
||||
the same. Example:
|
||||
\- Adds output port IDs, active, off (connected but disabled, like a closed
|
||||
laptop lid) and empty. Example:
|
||||
|
||||
\fBports: active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1\fR
|
||||
|
||||
\- Adds \fBDisplay\fR ID. X.org: the Display running the Screen that runs the
|
||||
Monitors; Wayland: the Display that runs the monitors.
|
||||
|
||||
\- Adds compositor, if found (always shows for Wayland).
|
||||
|
||||
\- \fBWayland:\fR Adds to \fBDisplay\fR \fBd-rect:\fR if > 1 monitors in
|
||||
Display. This is the size of the rectangle Wayland creates to situate the
|
||||
monitors in.
|
||||
|
||||
\- \fBX.org:\fR If available, shows \fBalternate:\fR Xorg drivers. This means a
|
||||
driver on the default list of drivers Xorg automatically checks for the device,
|
||||
but which is not installed. For example, if you have \fBnouveau\fR driver,
|
||||
\fBnvidia\fR would show as alternate if it was not installed. Note that
|
||||
\fBalternate:\fR does NOT mean you should have it, it's just one of the drivers
|
||||
Xorg checks to see if is present and loaded when checking the device. This can
|
||||
let you know there are other driver options. Note that if you have explicitly
|
||||
set the driver in \fBxorg.conf\fR, Xorg will not create this automatic check
|
||||
driver list.
|
||||
|
||||
\- \fBXorg:\fR Adds total number of \fBScreens\fR listed for the current
|
||||
\fBDisplay\fR.
|
||||
|
||||
\- \fBXorg:\fR Adds default \fBScreen\fR ID if Screen (not monitor!) total is
|
||||
greater than 1.
|
||||
|
||||
\- \fBX.org:\fR Adds \fBScreen\fR line, which includes the ID (\fBScreen: 0\fR)
|
||||
then \fBs-res\fR (Screen resolution), \fBs\-dpi\fR. Remember, this is an Xorg
|
||||
\fBScreen\fR, NOT a monitor screen, and the information listed is about the Xorg
|
||||
Screen! It may at times be the same as a single monitor system, but usually it's
|
||||
different in some ways. Note that the physical monitor dpi and the Xorg dpi are
|
||||
not necessarily the same thing, and can vary widely.
|
||||
|
||||
\- Adds \fBMonitor\fR lines. Monitors are a subset of a \fBScreen\fR (X.org) or
|
||||
\fBDisplay\fR (Wayland), each of which can have one or more monitors. Normally a
|
||||
dual monitor setup is 2 monitors run by one Xorg Screen/Wayland Display.
|
||||
|
||||
\- \fBpos: [primary,]{position string|row\-col}\fR (X.org: requires
|
||||
\fBxrandr\fR; Wayland: requires \fBswaymsg\fR [sway], \fBwlr\-randr\fR [wlroots
|
||||
based compositors], \fBweston\-info\fR / \fBwayland\-info\fR [all]). Uses either
|
||||
explicit \fBprimary\fR value or +0+0 position if no primary monitor value set.
|
||||
\fBpos:\fR does not show for single monitor setups, or if no position data was
|
||||
found.
|
||||
|
||||
Position is text (left, center, center-l, center\-r, right, top, top\-left,
|
||||
top\-center, top\-right, middle, middle\-c, middle\-r, bottom, bottom\-l,
|
||||
bottom\-c, bottom\-r) if monitors fit within the following grids: 1x2, 1x3, 1x4,
|
||||
2x1, 2x2, 2x3, 3x1, 3x2, 3x3. If layout not supported in text, uses
|
||||
[row\-nu]\-[column\-nu] instead to indicate the monitor's position in its grid.
|
||||
|
||||
The position is based on the upper left corner of each monitor relative to the
|
||||
grid of monitors that the \fBXorg\fR \fBScreen\fR is composed of.
|
||||
|
||||
\- \fBdiag:\fR monitor screen diagonal in mm (inches). Note that this is the
|
||||
real monitor size, not the Xorg full Screen diagonal size, which can be quite
|
||||
different.
|
||||
|
||||
\- For free drivers, adds OpenGL compatibility version number if available. For
|
||||
nonfree drivers, the core version and compatibility versions are usually the
|
||||
same. Example:
|
||||
|
||||
\fBv: 3.3 Mesa 11.2.0 compat\-v: 3.0\fR
|
||||
|
||||
\- If available, shows \fBalternate:\fR Xorg drivers. This means a driver on
|
||||
the default list of drivers Xorg automatically checks for the device, but which
|
||||
is not installed. For example, if you have \fBnouveau\fR driver, \fBnvidia\fR
|
||||
would show as alternate if it was not installed. Note that \fBalternate:\fR
|
||||
does NOT mean you should have it, it's just one of the drivers Xorg checks to
|
||||
see if is present and loaded when checking the device. This can let you know
|
||||
there are other driver options. Note that if you have explicitly set the driver
|
||||
in \fBxorg.conf\fR, Xorg will not create this automatic check driver list.
|
||||
|
||||
\- If available, shows Xorg dpi (\fBs-dpi:\fR) for the active Xorg \fBScreen\fR
|
||||
(not physical monitor). Note that the physical monitor dpi and the Xorg
|
||||
dpi are not necessarily the same thing, and can vary widely.
|
||||
|
||||
.TP
|
||||
.B \-xx \-I\fR
|
||||
\- Adds init type version number (and rc if present).
|
||||
|
@ -1444,6 +1521,8 @@ ROM size if using \fBdmidecode\fR.
|
|||
.B \-xx \-N\fR
|
||||
\- Adds vendor:product ID for each device.
|
||||
|
||||
\- Adds PCIe speed and lanes item (Linux only, and if PCIe device and detected).
|
||||
|
||||
.TP
|
||||
.B \-xx \-r\fR
|
||||
\- Adds Packages info. See \fB\-Ixx\fR
|
||||
|
@ -1536,7 +1615,28 @@ are spinning, no rpm data will show.
|
|||
|
||||
.TP
|
||||
.B \-xxx \-G\fR
|
||||
\- Adds, if present, PCI/USB class ID.
|
||||
\- Adds, if present, Device PCI/USB class ID.
|
||||
|
||||
\- Adds to Device \fBserial:\fR number (if found).
|
||||
|
||||
\- \fBXorg:\fR Adds to \fBScreen:\fR \fBs\-size:\fR and \fBs\-diag:\fR. (Screen
|
||||
size data requires \fBxdpyinfo\fR). This is the X.org Screen dimensions, NOT the
|
||||
Monitor size!
|
||||
|
||||
\- Adds to Monitors (if detected) frequency (\fBhz:\fR).
|
||||
|
||||
\- Adds to Monitors (if detected) size (\fBsize: 277x156mm (10.9x6.1")\fR). Note
|
||||
that this is the real physical monitor size, not the Xorg Screen/Wayland Display
|
||||
size, which can be quite different (1 Xorg Screen / Wayland Display can for
|
||||
instance contain two or more monitors).
|
||||
|
||||
\- Adds to Monitors \fBmodes: min: max:\fR (if detected). These are the smallest
|
||||
and largest monitor modes found, using an inexact method, so might not always be
|
||||
right.
|
||||
|
||||
\- Adds to Monitors \fBserial:\fR number (if detected).
|
||||
|
||||
\- \fBWayland:\fR Adds to Monitors \fBscale:\fR (if detected).
|
||||
|
||||
.TP
|
||||
.B \-xxx \-I\fR
|
||||
|
@ -1631,6 +1731,10 @@ non\-driver modules found, shows nothing. NOTE: just because it lists a module
|
|||
does NOT mean it is available in the system, it's just something the kernel
|
||||
knows could possibly be used instead.
|
||||
|
||||
\- Adds PCIe generation, and, if different than running PCIe generation, speed
|
||||
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
|
||||
shown).
|
||||
|
||||
.TP
|
||||
.B \-a \-C\fR
|
||||
\- Adds CPU family, model\-id, and stepping (replaces \fBrev\fR of \fB\-Cx\fR).
|
||||
|
@ -1758,7 +1862,7 @@ differences shown, like \fBcores:, \fBmin/max:\fR, etc.
|
|||
bogomips: 267823
|
||||
.fi
|
||||
|
||||
\- Adds CPU Vulnerabilities (bugs) as known by your current kernel. Lists by
|
||||
\- Adds CPU Vulnerabilities (bugs) as known by your current kernel. Lists by
|
||||
\fBType: ... (status|mitigation): ....\fR for systems that support this feature
|
||||
(Linux kernel 4.14 or newer, or patched older kernels).
|
||||
|
||||
|
@ -1774,20 +1878,20 @@ Using \fBsmartctl\fR (requires doas/sudo/root privileges).
|
|||
|
||||
\- Adds device kernel major:minor number (Linux only).
|
||||
|
||||
\- Adds SMART report line: status, enabled/disabled, health, powered on,
|
||||
cycles, and some error cases if out of range values. Note that for Pre\-fail
|
||||
items, it will show the VALUE and THRESHOLD numbers. It will also fall back
|
||||
for unknown attributes that are or have been failing and print out the
|
||||
Attribute name, value, threshold, and failing message. This way even for
|
||||
unhandled Attribute names, you should get a solid report for full failure
|
||||
cases. Other cases may show if inxi believes that the item may be approaching
|
||||
failure. This is a guess so make sure to check the drive and smartctl full
|
||||
output to verify before taking any further action.
|
||||
\- Adds SMART report line: status, enabled/disabled, health, powered on, cycles,
|
||||
and some error cases if out of range values. Note that for Pre\-fail items, it
|
||||
will show the VALUE and THRESHOLD numbers. It will also fall back for unknown
|
||||
attributes that are or have been failing and print out the Attribute name,
|
||||
value, threshold, and failing message. This way even for unhandled Attribute
|
||||
names, you should get a solid report for full failure cases. Other cases may
|
||||
show if inxi believes that the item may be approaching failure. This is a guess
|
||||
so make sure to check the drive and smartctl full output to verify before taking
|
||||
any further action.
|
||||
|
||||
\- Adds, for USB or other external drives, actual model name/serial if
|
||||
available, and different from enclosure model/serial, and corrects block
|
||||
sizes if necessary. Adds in drive temperature for some drives as well,
|
||||
and other useful data.
|
||||
\- Adds, for USB or other external drives, actual model name/serial if
|
||||
available, and different from enclosure model/serial, and corrects block sizes
|
||||
if necessary. Adds in drive temperature for some drives as well, and other
|
||||
useful data.
|
||||
|
||||
.TP
|
||||
.B \-a \-E\fR (\fB\-\-bluetooth\fR)
|
||||
|
@ -1795,86 +1899,72 @@ and other useful data.
|
|||
Includes, if available, ACL MTU, SCO MTU, Link policy, Link mode,
|
||||
and Service Classes.
|
||||
|
||||
\- Adds PCIe generation, and, if different than running PCIe generation, speed
|
||||
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
|
||||
shown. Bluetooth PCIe rare).
|
||||
|
||||
.TP
|
||||
.B \-a \-G\fR
|
||||
Triggers a much more complete Screen/Monitor output on the
|
||||
\fBDisplay:\fR line of \fB\-G\fR. Note that the
|
||||
basic feature requires \fBxdpyinfo\fR, and the advanced per monitor
|
||||
feature requires \fBxrandr\fR.
|
||||
|
||||
No support currently exists for \fBWayland\fR since we so far can find
|
||||
no documentation or easy methods to extract this information from \fBWayland\fR
|
||||
compositors. This unfortunate situation may change in the future, hopefully.
|
||||
However, most \fBWayland\fR systems also come with \fBxwayland\fR,
|
||||
which should supply the tools necessary for the time being.
|
||||
|
||||
Further note that all references to \fBDisplays\fR, \fBScreens\fR,
|
||||
and \fBMonitors\fR are referring to the \fBX\fR technical terms,
|
||||
not normal consumer usage. 1 \fBDisplay\fR runs 1 or more
|
||||
\fBScreens\fR, and a \fBScreen\fR runs 1 or more \fBMonitors\fR.
|
||||
|
||||
\- Adds \fBDisplay\fR ID, for the Display running the Screen that runs the
|
||||
Monitors.
|
||||
|
||||
\- Adds total number of \fBScreens\fR listed for the current \fBDisplay\fR.
|
||||
|
||||
\- Adds default \fBScreen\fR ID if Screen (not monitor!) total is greater than
|
||||
1.
|
||||
|
||||
\- Adds \fBScreen\fR line, which includes the ID (\fBScreen: 0\fR) then
|
||||
\fBs-res\fR (Screen resolution), \fBs\-dpi\fR, \fBs\-size\fR and \fBs\-diag\fR.
|
||||
Remember, this is an Xorg \fBScreen\fR, NOT a monitor screen, and the
|
||||
information listed is about the Xorg Screen! It may at times be the same as a
|
||||
single monitor system, but usually it's different in some ways.
|
||||
|
||||
\- Adds \fBMonitor\fR ID(s). Monitors are a subset of a Screen, each of which
|
||||
can have one or more monitors. Normally a dual monitor setup is 2 monitors
|
||||
run by one Xorg Screen. Each monitor has the following data, if available:
|
||||
|
||||
\- \fBres:\fR resolution in pixels. This is the individual monitor's
|
||||
reported pixel dimensions.
|
||||
|
||||
\- \fBhz:\fR frequency in Herz, as reported to Xorg. Note that there have been
|
||||
and may continue to be bugs with how Xorg treats > 1 monitor frequencies.
|
||||
|
||||
\- \fBdpi:\fR dpi (dots per inch), aka, ppi (pixels per inch). This is the
|
||||
physical screen dpi, which is calculated using the screen dimensions and its
|
||||
resolution.
|
||||
|
||||
\- \fBsize:\fR size in mm (inches). Note that this is the real monitor size,
|
||||
not the Xorg Screen size, which can be quite different (1 Xorg Screen can
|
||||
for instance contain two or more monitors).
|
||||
|
||||
\- \fBdiag:\fR monitor screen diagonal in mm (inches). Note that this is
|
||||
the real monitor size, not the Xorg full Screen diagonal size, which
|
||||
can be quite different.
|
||||
|
||||
Sample (with both \fBxdpyinfo\fR and \fBxrandr\fR data available):
|
||||
.nf
|
||||
\fBinxi \-aG
|
||||
Graphics:
|
||||
....
|
||||
Display: x11 server: X.Org 1.20.6 driver: loaded: modesetting
|
||||
display ID: :0.0 screens: 1
|
||||
Screen\-1: 0 s\-res: 2560x1024 s\-dpi: 96 s\-size: 677x271mm (26.7x10.7")
|
||||
s\-diag: 729mm (28.7")
|
||||
Monitor\-1: DVI\-I\-0 res: 1280x1024 hz: 60 dpi: 96
|
||||
size: 338x270mm (13.3x10.6") diag: 433mm (17")
|
||||
Monitor\-2: VGA\-0 res: 1280x1024 hz: 60 dpi: 86
|
||||
size: 376x301mm (14.8x11.9") diag: 482mm (19")
|
||||
....\fR
|
||||
.fi
|
||||
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of
|
||||
driving each \fBDevice\-x\fR (not including the current \fBloaded:\fR). If no
|
||||
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of driving
|
||||
each \fBDevice\-x\fR (not including the current \fBloaded:\fR). If no
|
||||
non\-driver modules found, shows nothing. NOTE: just because it lists a module
|
||||
does NOT mean it is available in the system, it's just something the kernel
|
||||
knows could possibly be used instead.
|
||||
|
||||
\- Adds PCIe generation, and, if different than running PCIe generation, speed
|
||||
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
|
||||
shown).
|
||||
|
||||
\- Adds to Monitors \fBbuilt:\fR, \fBgamma:\fR, \fBratio:\fR (if found).
|
||||
|
||||
X.org sample (with both \fBxdpyinfo\fR and \fBxrandr\fR data available):
|
||||
.nf
|
||||
\fBinxi \-aGz
|
||||
Graphics:
|
||||
Device\-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
|
||||
driver: radeon v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link\-max:
|
||||
gen: 2 speed: 5 GT/s ports: active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1
|
||||
bus-ID: 0a:00.0 chip-ID: 1002:68f9 class\-ID: 0300
|
||||
Display: x11 server: X.Org v: 1.20.13 compositor: xfwm v: 4.16.1 driver: X:
|
||||
loaded: modesetting gpu: radeon display\-ID: :0.0 screens: 1
|
||||
Screen\-1: 0 s\-res: 2560x1024 s\-dpi: 96 s\-size: 677x270mm (26.7x10.6")
|
||||
s\-diag: 729mm (28.7")
|
||||
Monitor\-1: DVI\-I\-1 pos: primary,left model: SyncMaster serial: <filter>
|
||||
built: 2004 res: 1280x1024 hz: 60 dpi: 96 gamma: 1.2
|
||||
size: 338x270mm (13.3x10.6") diag: 433mm (17") ratio: 5:4 modes:
|
||||
max: 1280x1024 min: 720x400
|
||||
Monitor\-2: VGA\-1 pos: right model: DELL 1908FP serial: <filter>
|
||||
built: 2008 res: 1280x1024 hz: 60 dpi: 86 gamma: 1.4
|
||||
size: 376x301mm (14.8x11.9") diag: 482mm (19") ratio: 5:4 modes:
|
||||
max: 1280x1024 min: 720x400
|
||||
....\fR
|
||||
.fi
|
||||
Wayland sample, with Sway/swaymsg:
|
||||
.nf
|
||||
\fBinxi \aGz
|
||||
Graphics:
|
||||
Device\-1: Advanced Micro Devices [AMD/ATI] Cedar [Radeon HD
|
||||
5000/6000/7350/8350 Series] vendor: XFX Pine
|
||||
driver: radeon v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 16 ports:
|
||||
active: DVI\-I\-1,VGA\-1 empty: HDMI\-A\-1 bus\-ID: 0a:00.0 chip\-ID: 1002:68f9
|
||||
class\-ID: 0300
|
||||
Display: wayland server: Xwayland v: 21.1.4 compositor: sway v: 1.6.1
|
||||
driver: gpu: radeon d\-rect: 2560x1024
|
||||
Monitor-1: DVI\-I\-1 pos: right model: SyncMaster serial: <filter>
|
||||
built: 2004 res: 1280x1024 hz: 60 dpi: 96 gamma: 1.2
|
||||
size: 340x270mm (13.4x10.6") diag: 434mm (17.1") ratio: 5:4 modes:
|
||||
max: 1280x1024 min: 720x400
|
||||
Monitor\-2: VGA-1 pos: primary,left model: DELL 1908FP serial: <filter>
|
||||
res: 1280x1024 hz: 60 gamma: 1.4 dpi: 86 gamma: 1.4
|
||||
size: 380x300mm (15.0x11.8") diag: 484mm (19.1") ratio: 5:4 modes:
|
||||
max: 1280x1024 min: 720x400
|
||||
Message: Wayland GBM/EGL data currently not available.
|
||||
.fi
|
||||
.TP
|
||||
.B \-a \-I\fR
|
||||
\- Adds Packages, totals, per package manager totals, and number of lib
|
||||
packages detected per package manager. Also adds detected package managers
|
||||
with 0 packages listed. Moves to \fBRepos\fR if \fB\-ra\fR.
|
||||
\- Adds Packages, totals, per package manager totals, and number of lib packages
|
||||
detected per package manager. Also adds detected package managers with 0
|
||||
packages listed. Moves to \fBRepos\fR if \fB\-ra\fR.
|
||||
|
||||
.nf
|
||||
\fBinxi \-aI
|
||||
|
@ -1891,9 +1981,9 @@ which you need when using an unfamiliar machine.
|
|||
|
||||
.TP
|
||||
.B \-a \-j\fR, \fB\-a \-P\fR [swap], \fB\-a \-P\fR [swap]
|
||||
\- Adds swappiness and vfs cache pressure, and a message to indicate
|
||||
if the value is the default value or not (Linux only, and only if available).
|
||||
If not the default value, shows default value as well, e.g.
|
||||
\- Adds swappiness and vfs cache pressure, and a message to indicate if the
|
||||
value is the default value or not (Linux only, and only if available). If not
|
||||
the default value, shows default value as well, e.g.
|
||||
|
||||
For \fB\-P\fR per swap physical partition:
|
||||
|
||||
|
@ -1907,19 +1997,23 @@ For \fB\-j\fR row 1 output:
|
|||
|
||||
.TP
|
||||
.B \-a \-L\fR
|
||||
\- Expands Component report, shows size / maj-min of components and devices,
|
||||
and mapped name for logical components. Puts each component/device on its own
|
||||
line.
|
||||
\- Expands Component report, shows size / maj-min of components and devices, and
|
||||
mapped name for logical components. Puts each component/device on its own line.
|
||||
|
||||
\- Adds maj-min to LV and other devices.
|
||||
|
||||
.TP
|
||||
.B \-a \-n\fR, \fB\-a \-N\fR, \fB\-a \-i\fR
|
||||
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of
|
||||
driving each \fBDevice\-x\fR (not including the current \fBdriver:\fR). If no
|
||||
\- Adds, if present, possible \fBalternate:\fR kernel modules capable of driving
|
||||
each \fBDevice\-x\fR (not including the current \fBdriver:\fR). If no
|
||||
non\-driver modules found, shows nothing. NOTE: just because it lists a module
|
||||
does NOT mean it is available in the system, it's just something the kernel
|
||||
knows could possibly be used instead.
|
||||
|
||||
\- Adds PCIe generation, and, if different than running PCIe generation, speed
|
||||
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
|
||||
shown).
|
||||
|
||||
.TP
|
||||
.B \-a \-o\fR
|
||||
\- Adds device kernel major:minor number (Linux only).
|
||||
|
@ -1962,35 +2056,35 @@ varies by OS type.
|
|||
|
||||
.TP
|
||||
.B \-\-alt 40\fR
|
||||
Bypass \fBPerl\fR as a downloader option. Priority is: Perl (HTTP::Tiny),
|
||||
Curl, Wget, Fetch, (OpenBSD only) ftp.
|
||||
Bypass \fBPerl\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
|
||||
Wget, Fetch, (OpenBSD only) ftp.
|
||||
|
||||
.TP
|
||||
.B \-\-alt 41\fR
|
||||
Bypass \fBCurl\fR as a downloader option. Priority is: Perl (HTTP::Tiny),
|
||||
Curl, Wget, Fetch, (OpenBSD only) ftp.
|
||||
Bypass \fBCurl\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
|
||||
Wget, Fetch, (OpenBSD only) ftp.
|
||||
|
||||
.TP
|
||||
.B \-\-alt 42\fR
|
||||
Bypass \fBFetch\fR as a downloader option. Priority is: Perl (HTTP::Tiny),
|
||||
Curl, Wget, Fetch, (OpenBSD only) ftp.
|
||||
Bypass \fBFetch\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
|
||||
Wget, Fetch, (OpenBSD only) ftp.
|
||||
|
||||
.TP
|
||||
.B \-\-alt 43\fR
|
||||
Bypass \fBWget\fR as a downloader option. Priority is: Perl (HTTP::Tiny),
|
||||
Curl, Wget, Fetch, OpenBSD only: ftp
|
||||
Bypass \fBWget\fR as a downloader option. Priority is: Perl (HTTP::Tiny), Curl,
|
||||
Wget, Fetch, OpenBSD only: ftp
|
||||
|
||||
.TP
|
||||
.B \-\-alt 44\fR
|
||||
Bypass \fBCurl\fR, \fBFetch\fR, and \fBWget\fR as downloader options. This
|
||||
Bypass \fBCurl\fR, \fBFetch\fR, and \fBWget\fR as downloader options. This
|
||||
basically forces the downloader selection to use \fBPerl 5.x\fR
|
||||
\fBHTTP::Tiny\fR, which is generally slower than \fBCurl\fR or \fBWget\fR but
|
||||
it may help bypass issues with downloading.
|
||||
\fBHTTP::Tiny\fR, which is generally slower than \fBCurl\fR or \fBWget\fR but it
|
||||
may help bypass issues with downloading.
|
||||
|
||||
.TP
|
||||
.B \-\-bt\-tool [bt\-adapter|hciconfig|rfkill]\fR
|
||||
Force the use of the given tool for bluetooth report (\fB\-E\fR).
|
||||
\fBrfkill\fR does not support mac address data.
|
||||
Force the use of the given tool for bluetooth report (\fB\-E\fR). \fBrfkill\fR
|
||||
does not support mac address data.
|
||||
|
||||
.TP
|
||||
.B \-\-dig\fR
|
||||
|
@ -1999,15 +2093,15 @@ dig. Restores default behavior for WAN IP, which is use dig if present.
|
|||
|
||||
.TP
|
||||
.B \-\-display [:<integer>]\fR
|
||||
Will try to get display data out of X (does not usually work as root user).
|
||||
Default gets display info from display \fB:0\fR. If you use the format
|
||||
\fB\-\-display :1\fR then it would get it from display \fB1\fR instead,
|
||||
or any display you specify.
|
||||
Will try to get display data out of X (does not usually work as root user).
|
||||
Default gets display info from display \fB:0\fR. If you use the format
|
||||
\fB\-\-display :1\fR then it would get it from display \fB1\fR instead, or any
|
||||
display you specify.
|
||||
|
||||
Note that in some cases, \fB\-\-display\fR will cause inxi to hang endlessly
|
||||
when running the option in console with Intel graphics. The situation regarding
|
||||
other free drivers such as nouveau/ATI is currently unknown. It may be that
|
||||
this is a bug with the Intel graphics driver \- more information is required.
|
||||
other free drivers such as nouveau/ATI is currently unknown. It may be that this
|
||||
is a bug with the Intel graphics driver \- more information is required.
|
||||
|
||||
You can test this easily by running the following command out of X/display
|
||||
server: \fBglxinfo \-display :0\fR
|
||||
|
@ -2016,16 +2110,16 @@ If it hangs, \fB\-\-display\fR will not work.
|
|||
|
||||
.TP
|
||||
.B \-\-dmidecode\fR
|
||||
Shortcut, legacy. See \fB\-\-force dmidecode\fR.
|
||||
Shortcut. See \fB\-\-force dmidecode\fR.
|
||||
|
||||
.TP
|
||||
.B \-\-downloader [curl|fetch|perl|wget]\fR
|
||||
Force inxi to use Curl, Fetch, Perl, or Wget for downloads.
|
||||
|
||||
.TP
|
||||
.B \-\-force [colors|dmidecode|hddtemp|lsusb|pkg|usb-sys|vmstat|wmctrl]\fR
|
||||
Various force options to allow users to override defaults. Values be given
|
||||
as a comma separated list:
|
||||
.B \-\-force [colors|dmidecode|hddtemp|lsusb|pkg|usb-sys|wayland|vmstat|wmctrl]\fR
|
||||
Various force options to allow users to override defaults. Values be given as a
|
||||
comma separated list:
|
||||
|
||||
\fBinxi \-MJ --force dmidecode,lsusb\fR
|
||||
|
||||
|
@ -2037,8 +2131,8 @@ redirected output.
|
|||
|
||||
\- \fBhddtemp\fR \- Force use of hddtemp instead of /sys temp data for disks.
|
||||
|
||||
\- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as
|
||||
data source (default). Overrides \fBUSB_SYS\fR in user configuration file(s).
|
||||
\- \fBlsusb\fR \- Forces the USB data generator to use \fBlsusb\fR as data
|
||||
source (default). Overrides \fBUSB_SYS\fR in user configuration file(s).
|
||||
|
||||
\- \fBpkg\fR \- Force override of disabled package counts. Known package
|
||||
managers with non\-resolvable issues:
|
||||
|
@ -2048,26 +2142,29 @@ rpm: Due to up to 30 seconds delays executing
|
|||
\fBrpm \-qa \-\-nodigest \-\-nosignature\fR
|
||||
.fi
|
||||
on older hardware (and over 1 second on new hardware with some rpm versions)
|
||||
package counts are disabled by default because of the unacceptable slowdowns
|
||||
to execute a simple package list command.
|
||||
package counts are disabled by default because of the unacceptable slowdowns to
|
||||
execute a simple package list command.
|
||||
|
||||
\- \fBusb-sys\fR \- Forces the USB data generator to use \fB/sys\fR as
|
||||
data source instead of \fBlsusb\fR (Linux only).
|
||||
\- \fBusb-sys\fR \- Forces the USB data generator to use \fB/sys\fR as data
|
||||
source instead of \fBlsusb\fR (Linux only).
|
||||
|
||||
\- \fBvmstat\fR \- Forces use of vmstat for memory data.
|
||||
|
||||
\- \fBwmctrl\fR \- Force \fBSystem\fR item \fBwm\fR to use \fBwmctrl\fR
|
||||
as data source, override default \fBps\fR source.
|
||||
\- \fBwayland\fR \- Forces use of Wayland, disables x tools glxinfo, xrandr,
|
||||
xdpyinfo.
|
||||
|
||||
\- \fBwmctrl\fR \- Force \fBSystem\fR item \fBwm\fR to use \fBwmctrl\fR as data
|
||||
source, override default \fBps\fR source.
|
||||
|
||||
.TP
|
||||
.B \-\-hddtemp\fR
|
||||
Shortcut, legacy. See \fB\-\-force hddtemp\fR.
|
||||
Shortcut. See \fB\-\-force hddtemp\fR.
|
||||
|
||||
.TP
|
||||
.B \-\-html\-wan\fR
|
||||
Temporary override of \fBNO_HTML_WAN\fR configuration item. Only use to test
|
||||
w/wo HTML downloaders for WAN IP. Restores default behavior for WAN IP, which
|
||||
is use HTML downloader if present and if dig failed.
|
||||
w/wo HTML downloaders for WAN IP. Restores default behavior for WAN IP, which is
|
||||
use HTML downloader if present and if dig failed.
|
||||
|
||||
.TP
|
||||
.B \-\-man\fR
|
||||
|
@ -2210,11 +2307,11 @@ believes it is running in an IRC client.
|
|||
|
||||
.TP
|
||||
.B \-\-usb\-sys\fR
|
||||
Shortcut, legacy. See \fB\-\-force usb\-sys\fR
|
||||
Shortcut. See \fB\-\-force usb\-sys\fR
|
||||
|
||||
.TP
|
||||
.B \-\-usb\-tool\fR
|
||||
Shortcut, legacy. See \fB\-\-force lsusb\fR
|
||||
Shortcut. See \fB\-\-force lsusb\fR
|
||||
|
||||
.TP
|
||||
.B \-\-wan\-ip\-url [URL]\fR
|
||||
|
@ -2228,9 +2325,13 @@ Same as configuration value (example):
|
|||
|
||||
\fBWAN_IP_URL='https://mysite.com/ip.php'\fR
|
||||
|
||||
.TP
|
||||
.B \-\-wayland\fR, \fB\-\-wl\fR
|
||||
Shortcut. See \fB\-\-force wayland\fR.
|
||||
|
||||
.TP
|
||||
.B \-\-wm\fR
|
||||
Shortcut, legacy. See \fB\-\-force wmctl\fR.
|
||||
Shortcut. See \fB\-\-force wmctl\fR.
|
||||
|
||||
.SH DEBUGGING OPTIONS
|
||||
.TP
|
||||
|
|
364
inxi.changelog
364
inxi.changelog
|
@ -1,3 +1,367 @@
|
|||
================================================================================
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue