mirror of
https://github.com/smxi/inxi.git
synced 2024-11-16 08:11:39 +00:00
Rollout of advanced microarchitecture info continues, added AMD/Intel gfx
devices, CPU built dates, process nodes, generation (in some cases, where it makes sense), etc. Please note: the 3.3.16 > 17 releases require manual matching table updates. If you think disk or ram vendor, CPU or GPU process, release date, generation, etc, information is not correct: * FIRST: do the research, confirm it's wrong, using wikichips, techpowerup, wikipedia links, but also be aware, sometimes these slightly contradict each- other, so research. Don't make me do all your work for you. * Show the relelevant data, like cpu model/stepping, to correct the issue, or model name string. * There are 4 main manually updated matching tables, which use either raw regex to generate the match based on the model name (ram, disk vendors), or vendor id matching (ram vendors), product id matching (gpu data), or cpu family / model / stepping id matching. Each of these has its own matching tool at: inxi-perl/tools/[tool-name].pl which is used to generate either raw data used by the functions (ids for gpu data), or which contains the master copy of the function used to generate the regex matches (cp_cpu_arch/set_ram_vendors/set_disk_vendors). * Please use pinxi and inxi-perl branch for this data, inxi is only released when next stable is done, all development is done in inxi-perl branch. All development for the data or functions these tools are made for occurs in the tools, not in pinxi, and those results are moved into pinxi from the tools. * Saying something "doesn't work" is not helpful, provide the required data for the feature that needs updating, or ideally, find the correct answer yourself and do the research and then provide the updated data for matching. -------------------------------------------------------------------------------- KNOWN ISSUES: 1. GPU/CPU process node sizes are marketing, not engineering, terms, but work-around is to list the fab too so you at least know which set of marketing terms you're dealing with. As of around 7nm, most of the fabs are not using nm in their names anymore, TSMC is using n7, Intel 7, for example. While these marketing terms do reflect changes from the previous process node, more efficient, faster, faster per watt, and so on, and these changes are often quite significant, 10-30%, or more, they do not reflect the size of the transistor gate like they used to up until about 350nm. Intel will move to A20 for the node after 4 or 5, 2nm, meaning 20 angstroms. Intel suggested million transistors per mm^2 as an objective measure (currently around 300+ million!! as of ~7nm), but TSMC didn't take them up on it. GlobalFoundries (GF) stepped away from these ultra small processes at around 14nm, so you won't see GF very often in the data. AMD spun off its chip fabs to GF aound 2009, so you don't see AMD as foundry after GF was formed. ATI always used TSMC so GPU data for AMD/ATI is I think all TSMC. Intel has always been its own foundry. 2. Wayland drops all its data and can't be detected if sudo or su is used to run inxi. That's unfortunate, but goes along with their dropping support for > 1 user, which was one of the points of wayland, same reason you can do desktop sharing or ssh desktop forwarding etc. This means inxi doesn't show wayland as Display protocol, it is just blank, if you use su, or sudo start. This makes some internal inxi wayland triggers then fail. Still looking to see if there is a fix or workaround for this. 3. In sensors, a new syntax for k10-pci temp, Tctl, which unfortunately is the only temp type present for AMD family 17h (zen) and newer cpus, but that is not an actual cpu temp, it's: https://www.kernel.org/doc/html/v5.12/hwmon/k10temp.html "Tctl is the processor temperature control value, used by the platform to control cooling systems. Tctl is a non-physical temperature on an arbitrary scale measured in degrees. It does _not_ represent an actual physical temperature like die or case temperature." Even worse, it replaced Tdie, which was, correctly, temp1_input, and, somewhat insanely, the non real cpu temp is now temp1_input, and if present, the real Tdie cpu temp is temp2_input. I don't know how to work around this problem. -------------------------------------------------------------------------------- BUGS: 1. Fallback test for Intel cpu arch was not doing anything, used wrong variable name. 2. A very old bug, thanks mrmazda for spotting this one, runlevel in case of init 3 > init 5 showed 35, not 5. Doesn't show on systemd stuff often since it doesn't use runlevels in this way, but this bug has been around a really long time. 3. SensorItem::gpu_data was always logging its data, missing the if $b_log. -------------------------------------------------------------------------------- FIXES: 1. Fixed some disk vendor detection rules. 2. Failing to return default target for systemd/systemctl when no: /etc/systemd/system/default.target file exists. Corrected to use systemctl get-default as fallback if file doesn't exist. 3. Fixed indentation for default: runlevel, should be child of runlevel: / target: 4. Fixed corner case where systemd has no /proc/1/comm file but is still the init system. Added fallback check for /run/systemd/units, if that exists, safe to assume systemd is running init. 5. Fixed subtle case, -h/--recommends/--version/--version-short should not print to -y1 width, but rather to the original or modified widths >= 80 cols. Corrected this in print_basic() by using max-cols-basic. 6. Forgot to add --pkg, --edid, and --gpu to debugger run_self() tool. 7. Fixed broken sandisk vendor id. -------------------------------------------------------------------------------- ENHANCEMENTS: 1. Added AMD and Intel GPU microarchitecture detections for -Gx. These are not as easy as Nvidia because there is no one reliable data source for product ids. 2. Going with the -Ga process: .. built: item, -Ca will show process: [node] and built: years and sometimes gen: if available. Geeky, sure, not always perfect, or correct, but will generally be close. Due to difficultly in finding reliable release > build end years for example, not all cpus have all this data. Using CPU generation,where that data is available and makes sense. Like AMD Zen+ is zen gen: 2, for example,. Because Intel microarch names are often marketing driven, not engineering, it's too difficult to assign gen consistently based only on model names. Shows for Core intels like: gen: core 3 That will cover most consumer Intel CPU users currently. 3. Added initial Zen 3+ and Zen 4 ids for cp_cpu_arch(). There is very little info on these yet, so I'm going on what may prove to be incomplete or wrong data. 4. Added GPU process, build years for -Ga. 5. Added fallback test for gpus that we don't have product IDs for yet because dbs have not been updated. Only used for cases where it's the newest gpu series and no prodoct IDs have been found. 6. Added AMD am386 support to cp_cpu_arch... ok ok, inxi takes 9 minutes to execute on that, but there you have it. 7. Added unverified Hyprland wayland compositor detection. 8. By request, added --version-short/--vs, which outputs version info in one line if used together with other options and if not short form. With any normal line option, will output version (date) info first line, without any other option, will output 1 line version info and exit. 9. More disk vendors, ids! Much easier with new tool disk_vendors.pl. -------------------------------------------------------------------------------- CHANGES: 1. Deprecated --nvidia/--nv in favor of more consistent --gpu, that's easier to work with multiple vendors for advanced gpu architecture. Note for non nvidia, --gpu only adds codename, if available and different from arch name. For nvidia, it adds a lot more data. 2. Changed inxi-perl/tools tool names to more clearly reflect what function they serve. 3. Going with runlevel fixes, changed 'runlevel:' to be 'target:' if systemd. Also changed incorrect 'target:' for 'default:'. -------------------------------------------------------------------------------- DOCUMENTATION: 1. Updated man, help, docs/inxi-data.txt for new gpu data and tools, and to indicate switch to more generic --gpu trigger for advanced gpu data, instead of the now deprecated --nvidia/--nv, which probably will go down as the shortest lasting option documented, though of course inxi always keeps legacy syntax working, behind the scenes, it's just removed from the -h and man page in favor of --gpu. Also updated to show AMD/Intel/Nvidia now, since the data now roughly works for all three main gpus. 2. Updated pinxi README.txt to reflect the tools and how to use them and what they are for. 3. --help, man, updated for target/runlevel, default: changes for init data. 4. Updated configuration html and man for --fake-data-dir. -------------------------------------------------------------------------------- CODE: 1. Upgraded tools/gpu_ids.pl to handle nvidia, intel, or amd data, added data files in tools/lists/ for amd. First changed name from ids.pl to gpu_ids.pl 2. New data files added for amd/intel pci ids, and a new tool to merge them and prep them for gpu_ids.pl -j amd|intel handling. All work. Took a while to get these things sorted, but don't want to get stuck in future with manual updates, it needs to be automated as much as possible, same as with disk_vendors.pl etc, if I'm going to try to maintain this over time. 3. Made all gpu data file names use consistent formats, and made disk data files also follow this format. 4. Changed raw_ids.pl to gpu_raw.pl, trying to keep things easy to remember and consistent here. 5. Refactored core gpu data logic, now all types use the same sub, and just assign various data depending on the type. 6. Changed vendors.pl name to disk_vendors.pl 7. Big redo of array/hash handling in OutputHandler, was partially by reference, now is completely by reference. All Items now use and return $rows array ref as well, from start to finish, unlike previously, where @rows was copied repeatedly. 8. Going along with 7, made most internal passing of hash/arrays use hash/array references instead, where it makes sense, and doesn't make the code harder to work with. 9. Refactored WeatherItem, split apart the parts from output to be more like normal Items in terms of error handling etc. 10. Added 'ref' return option for reader() and grabber(). Only useful for very large data sets, added also default 'arr' if no value is provided for that argument. 11. Switched some features to use grabber/reader by ref on the off chance that will dump some execution time. 12. A few places added qr/.../ precompiled regex, in simple form, for loops, maybe it helps a little. I don't know. 13. Added global $fake_data_dir, this can be changed via configuration item: FAKE_DATA_DIR or one time by --fake-data-dir. 14. Created data directory, and initial data items. cpu is the fake data used to test CPU info. More will be added as data is checked and sanitized.
This commit is contained in:
parent
7245e42aa2
commit
35e8a95055
154
inxi.1
154
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\-05\-19" "inxi" "inxi manual"
|
||||
.TH INXI 1 "2022\-06\-10" "inxi" "inxi manual"
|
||||
|
||||
.SH NAME
|
||||
inxi \- Command line system information script for console and IRC
|
||||
|
@ -31,9 +31,9 @@ inxi \- Command line system information script for console and IRC
|
|||
[\fB\-v NUMBER\fR] [\fB\-W LOCATION\fR]
|
||||
[\fB\-\-weather\-unit\fR {\fBm\fR|\fBi\fR|\fBmi\fR|\fBim\fR}] [\fB\-y WIDTH\fR]
|
||||
|
||||
\fBinxi\fR [\fB\-\-edid\fR] [\fB\-\-memory\-modules\fR]
|
||||
[\fB\-\-memory\-short\fR] [\fB\-\-nvidia\fR] [\fB\-\-recommends\fR]
|
||||
[\fB\-\-sensors\-default\fR] [\fB\-\-slots\fR]
|
||||
\fBinxi\fR [\fB\-\-edid\fR] [\fB\-\-gpu\fR] [\fB\-\-memory\-modules\fR]
|
||||
[\fB\-\-memory\-short\fR] [\fB\-\-recommends\fR] [\fB\-\-sensors\-default\fR]
|
||||
[\fB\-\-slots\fR]
|
||||
|
||||
\fBinxi\fB [\fB\-x\fR|\fB\-xx\fR|\fB\-xxx\fR|\fB\-a\fR] \fB\-OPTION(s)\fR
|
||||
|
||||
|
@ -310,6 +310,38 @@ 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 \-\-gpu\fR
|
||||
Show advanced gpu data. Triggers \fB\-G\fR and \fB\-a\fR as well. Expands
|
||||
existing \fBnon\-free:\fR driver (Linux and Nvidia only), and \fBarch:\fR
|
||||
reports (AMD/Intel/Nvidia). Useful to help diagnose driver support issues, shows
|
||||
extra data that can help diagnose/debug. Adds \fBcode:\fR item if found and not
|
||||
the same as \fBarch:\fR.
|
||||
.nf
|
||||
\fBinxi \-\-gpu \-y1
|
||||
Graphics:
|
||||
Device\-1: NVIDIA NV34 [GeForce FX 5200]
|
||||
driver: nouveau
|
||||
v: kernel
|
||||
non\-free:
|
||||
series: 173.14.xx
|
||||
status: legacy (EOL)
|
||||
last:
|
||||
kernel: 3.12
|
||||
xorg: 1.15
|
||||
release: 173.14.39
|
||||
arch: Rankine
|
||||
code: NV3x
|
||||
process: 130\-150nm
|
||||
built: 2003-05
|
||||
ports:
|
||||
active: VGA\-1
|
||||
empty: DVI\-I\-1,TV\-1
|
||||
bus\-ID: 01:00.0
|
||||
chip\-ID: 10de:0322
|
||||
class\-ID: 0300
|
||||
.fi
|
||||
|
||||
.TP
|
||||
.B \-G \fR, \fB\-\-graphics\fR
|
||||
Show Graphic device(s) information, including details of device and display
|
||||
|
@ -354,7 +386,7 @@ Shows both IPv4 and IPv6 link IP addresses.
|
|||
.B \-I \fR, \fB\-\-info\fR
|
||||
Show Information: processes, uptime, memory, IRC client (or shell type if run
|
||||
in shell, not IRC), inxi version. See \fB\-Ix\fR, \fB\-Ixx\fR, and \fB\-Ia\fR
|
||||
for extra information (init type/version, runlevel, packages).
|
||||
for extra information (init type/version, runlevel/target, 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.
|
||||
|
@ -570,33 +602,8 @@ shows Bus ID, Port number.
|
|||
|
||||
.TP
|
||||
.B \-\-nvidia\fR, \fB\-\-nv\fR
|
||||
Show advanced non\-free Nvidia driver data. Triggers \fB\-G\fR and \fB\-a\fR as
|
||||
well. Expands existing \fBnon\-free:\fR driver report (Linux and Nvidia only).
|
||||
Also shows some basic information if not legacy driver. Useful to help diagnose
|
||||
driver support issues, shows extra data that can help diagnose/debug:
|
||||
.nf
|
||||
\fBinxi \-\-nvidia \-y1
|
||||
Graphics:
|
||||
Device\-1: NVIDIA NV34 [GeForce FX 5200]
|
||||
driver: nouveau
|
||||
v: kernel
|
||||
non\-free:
|
||||
series: 173.14.xx
|
||||
status: legacy (EOL)
|
||||
last:
|
||||
kernel: 3.12
|
||||
xorg: 1.15
|
||||
release: 173.14.39
|
||||
arch: Rankine
|
||||
code: NV3x
|
||||
process: 130\-150nm
|
||||
ports:
|
||||
active: VGA\-1
|
||||
empty: DVI\-I\-1,TV\-1
|
||||
bus\-ID: 01:00.0
|
||||
chip\-ID: 10de:0322
|
||||
class\-ID: 0300
|
||||
.fi
|
||||
.br
|
||||
See \fB\-\-gpu\fR.
|
||||
|
||||
.TP
|
||||
.B \-o \fR, \fB\-\-unmounted\fR
|
||||
|
@ -785,7 +792,13 @@ See \fB\-J\fR.
|
|||
|
||||
.TP
|
||||
.B \-V\fR, \fB\-\-version\fR
|
||||
inxi version information. Prints information then exits.
|
||||
inxi full version and license information. Prints information then exits.
|
||||
|
||||
.TP
|
||||
.B \-\-version\-short\fR, \fB\-\-vs\fR
|
||||
inxi single line version information. Prints information if not short form
|
||||
(which shows version info already). Does not exit unless used without any other
|
||||
options. Can be used with normal line options.
|
||||
|
||||
.TP
|
||||
.B \-v \fR, \fB\-\-verbosity\fR
|
||||
|
@ -839,10 +852,10 @@ of optical drives.
|
|||
|
||||
.TP
|
||||
.B \-v 8
|
||||
\- All system data available. Adds Nvidia non\-free driver data
|
||||
(\fB\-\-nvidia\fR), advanced EDID data (\fB\-\-edid\fR), Repos (\fB\-r\fR), PCI
|
||||
slots (\fB\-\-slots\fR), processes (\fB\-tcm\fR), admin (\fB\-\-admin\fR).
|
||||
Useful for testing output and to see what data you can get from your system.
|
||||
\- All system data available. Adds extra gpu data (\fB\-\-gpu\fR), advanced EDID
|
||||
data (\fB\-\-edid\fR), Repos (\fB\-r\fR), PCI slots (\fB\-\-slots\fR), processes
|
||||
(\fB\-tcm\fR), admin (\fB\-\-admin\fR). Useful for testing output and to see
|
||||
what data you can get from your system.
|
||||
|
||||
.TP
|
||||
.B \-w \fR, \fB\-\-weather\fR
|
||||
|
@ -1267,7 +1280,7 @@ for each HCI ID.
|
|||
|
||||
.TP
|
||||
.B \-x \-G\fR
|
||||
\- Adds GPU micro\-architecture (if Nvidia and found).
|
||||
\- Adds GPU micro\-architecture (if AMD/Intel/Nvidia and detected).
|
||||
|
||||
\- Adds PCI/USB ID of each device.
|
||||
|
||||
|
@ -1312,7 +1325,7 @@ With \fB\-xx\fR, shows init/rc version number, if available.
|
|||
\- Adds default system gcc. With \fB\-xx\fR, also show other installed gcc
|
||||
versions.
|
||||
|
||||
\- Adds current runlevel (not available with all init systems).
|
||||
\- Adds current runlevel/target (not available with all init systems).
|
||||
|
||||
\- Adds total packages discovered in system. See \fB\-xx\fR and \fB\-a\fR
|
||||
for per package manager types output. Moves to \fBRepos\fR if \fB\-rx\fR.
|
||||
|
@ -1545,8 +1558,8 @@ same. Example:
|
|||
|
||||
\- Adds other detected installed gcc versions (if present).
|
||||
|
||||
\- Adds system default runlevel, if detected. Supports Systemd/Upstart/SysVinit
|
||||
type defaults.
|
||||
\- Adds system default runlevel/target, if detected. Supports Systemd / Upstart
|
||||
/SysVinit type defaults.
|
||||
|
||||
\- Shows \fBPackages:\fR counts by discovered package manager types. In cases
|
||||
where only 1 type had results, does not show total after \fBPackages:\fR. Does
|
||||
|
@ -1824,6 +1837,11 @@ shown).
|
|||
|
||||
.TP
|
||||
.B \-a \-C\fR
|
||||
.br
|
||||
\- Adds CPU generation, process node, and built years, if detected. For Intel,
|
||||
only will show if Core generation, otherwise the arch value is enough. For AMD,
|
||||
only shows Zen generation.
|
||||
|
||||
\- Adds CPU family, model\-id, and stepping (replaces \fBrev\fR of \fB\-Cx\fR).
|
||||
Format is \fBhexadecimal (decimal)\fR if greater than 9, otherwise
|
||||
\fBhexadecimal\fR.
|
||||
|
@ -1917,6 +1935,9 @@ differences shown, like \fBcores:, \fBmin/max:\fR, etc.
|
|||
bits: 64
|
||||
type: MT MCP MCM SMP
|
||||
arch: Zen
|
||||
gen: 1
|
||||
process: GF 14nm
|
||||
built: 2017-19
|
||||
family:0x17 (23)
|
||||
model\-id:1
|
||||
stepping: 2
|
||||
|
@ -1998,24 +2019,28 @@ 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 (if Linux and Nvidia card) non\-free support information (if available).
|
||||
This can be useful for forum support people to determine if the card supports
|
||||
current active legacy Nvidia driver branches, or if the card nonfree driver is
|
||||
EOL or active. Note that if card is current, shows basic series and status.
|
||||
\- Adds (AMD/Intel/Nvidia, if available) \fBprocess: [node] built: [years]\fR
|
||||
to \fBarch:fR item.
|
||||
|
||||
\- Adds (if Linux and Nvidia device) non\-free support information (if
|
||||
available). This can be useful for forum support people to determine if the card
|
||||
supports current active legacy Nvidia driver branches, or if the card nonfree
|
||||
driver is EOL or active. Note that if card is current, shows basic series and
|
||||
status.
|
||||
.nf
|
||||
\fBinxi \-GIaz
|
||||
Graphics:
|
||||
Device\-1: NVIDIA NV34 [GeForce FX 5200] driver: nouveau v: kernel
|
||||
non-free: 173.14.xx status: legacy (EOL, try \-\-nv) arch: Rankine
|
||||
ports: active: VGA-1 empty: DVI\-I\-1,TV\-1 bus\-ID: 01:00.0
|
||||
chip\-ID: 10de:0322 class\-ID: 0300
|
||||
non-free: 173.14.xx status: legacy (EOL, try \-\-gpu) arch: Rankine
|
||||
process: 130\-150nm built: 2003-05 ports: active: VGA-1
|
||||
empty: DVI\-I\-1,TV\-1 bus\-ID: 01:00.0 chip\-ID: 10de:0322
|
||||
class\-ID: 0300
|
||||
Display: x11 server: X.Org v: 21.1.3 driver: X: loaded: nouveau
|
||||
unloaded: fbdev,modesetting,vesa alternate: nv,nvidia gpu: nouveau
|
||||
display\-ID: :0 screens: 1\fR
|
||||
.fi
|
||||
|
||||
For extended non free Nvidia legacy informatin, use
|
||||
\fB\-\-nvidia\fR/\fB\-\-nv\fR.
|
||||
For extended non free Nvidia legacy informatin, use \fB\-\-gpu\fR.
|
||||
|
||||
\- Adds PCIe generation, and, if different than running PCIe generation, speed
|
||||
or lanes, \fBlink\-max: gen: speed: lanes:\fR (only items different from primary
|
||||
|
@ -2049,11 +2074,11 @@ 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
|
||||
Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: XFX Pine
|
||||
driver: radeon v: kernel alternate: amdgpu arch: TeraScale 2
|
||||
process: TSMC 32\-40nm 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: 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>
|
||||
|
@ -2076,9 +2101,10 @@ packages listed. Moves to \fBRepos\fR if \fB\-ra\fR.
|
|||
\fBinxi \-aI
|
||||
Info:
|
||||
....
|
||||
Init: systemd v: 245 runlevel: 5 Compilers: gcc: 9.3.0 alt: 5/6/7/8/9
|
||||
Packages: apt: 3681 lib: 2096 rpm: 0 Shell: ksh v: A_2020.0.0 default: Bash
|
||||
v: 5.0.16 running\-in: kate inxi: 3.1.04\fR
|
||||
Init: systemd v: 245 target: graphical.target (5) default: graphical.target
|
||||
Compilers: gcc: 9.3.0 alt: 5/6/7/8/9 Packages: apt: 3681 lib: 2096 rpm: 0
|
||||
Shell: ksh v: A_2020.0.0 default: Bash v: 5.0.16 running\-in: kate
|
||||
inxi: 3.1.04\fR
|
||||
.fi
|
||||
|
||||
\- Adds service control tool, tested for in the following order: \fBsystemctl
|
||||
|
@ -2514,6 +2540,11 @@ Automatically uploads debugger data tar.gz file to \fIftp.smxi.org\fR, then
|
|||
removes the debug data directory and the tar.gz file.
|
||||
See \fB\-\-ftp\fR for uploading to alternate locations.
|
||||
|
||||
.TP
|
||||
.B \-\-fake\-data\-dir\fR
|
||||
Developer only: Change default location of $fake_data_dir, which is where files
|
||||
are for \fB\-\-fake {item}\fR items.
|
||||
|
||||
.TP
|
||||
.B \-\-ftp [ftp.yoursite.com/incoming]\fR
|
||||
For alternate ftp upload locations: Example:
|
||||
|
@ -2755,6 +2786,13 @@ X/Wayland).
|
|||
\fBVIRT_TERM_COLOR_SCHEME\fR Color scheme for virtual terminal output (in
|
||||
X/Wayland).
|
||||
|
||||
.TP
|
||||
.B Developer Options
|
||||
These are useful only for developers.
|
||||
|
||||
\fBFAKE_DATA_DIR\fR - change default fake data directory location. See
|
||||
\fB\-\-fake\-data\-dir\fR.
|
||||
|
||||
.SH BUGS
|
||||
Please report bugs using the following resources.
|
||||
|
||||
|
|
262
inxi.changelog
262
inxi.changelog
|
@ -1,3 +1,252 @@
|
|||
================================================================================
|
||||
Version: 3.3.17
|
||||
Patch: 01
|
||||
Date: 2022-06-10
|
||||
--------------------------------------------------------------------------------
|
||||
RELEASE NOTES:
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Rollout of advanced microarchitecture info continues, added AMD/Intel gfx
|
||||
devices, CPU built dates, process nodes, generation (in some cases, where it
|
||||
makes sense), etc.
|
||||
|
||||
Please note: the 3.3.16 > 17 releases require manual matching table updates. If
|
||||
you think disk or ram vendor, CPU or GPU process, release date, generation, etc,
|
||||
information is not correct:
|
||||
|
||||
* FIRST: do the research, confirm it's wrong, using wikichips, techpowerup,
|
||||
wikipedia links, but also be aware, sometimes these slightly contradict each-
|
||||
other, so research. Don't make me do all your work for you.
|
||||
|
||||
* Show the relelevant data, like cpu model/stepping, to correct the issue, or
|
||||
model name string.
|
||||
|
||||
* There are 4 main manually updated matching tables, which use either raw regex
|
||||
to generate the match based on the model name (ram, disk vendors), or vendor id
|
||||
matching (ram vendors), product id matching (gpu data), or cpu family / model /
|
||||
stepping id matching. Each of these has its own matching tool at:
|
||||
inxi-perl/tools/[tool-name].pl
|
||||
which is used to generate either raw data used by the functions (ids for gpu
|
||||
data), or which contains the master copy of the function used to generate the
|
||||
regex matches (cp_cpu_arch/set_ram_vendors/set_disk_vendors).
|
||||
|
||||
* Please use pinxi and inxi-perl branch for this data, inxi is only released
|
||||
when next stable is done, all development is done in inxi-perl branch. All
|
||||
development for the data or functions these tools are made for occurs in the
|
||||
tools, not in pinxi, and those results are moved into pinxi from the tools.
|
||||
|
||||
* Saying something "doesn't work" is not helpful, provide the required data for
|
||||
the feature that needs updating, or ideally, find the correct answer yourself
|
||||
and do the research and then provide the updated data for matching.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
KNOWN ISSUES:
|
||||
|
||||
1. GPU/CPU process node sizes are marketing, not engineering, terms, but
|
||||
work-around is to list the fab too so you at least know which set of marketing
|
||||
terms you're dealing with. As of around 7nm, most of the fabs are not using nm
|
||||
in their names anymore, TSMC is using n7, Intel 7, for example. While these
|
||||
marketing terms do reflect changes from the previous process node, more
|
||||
efficient, faster, faster per watt, and so on, and these changes are often quite
|
||||
significant, 10-30%, or more, they do not reflect the size of the transistor
|
||||
gate like they used to up until about 350nm. Intel will move to A20 for the node
|
||||
after 4 or 5, 2nm, meaning 20 angstroms.
|
||||
|
||||
Intel suggested million transistors per mm^2 as an objective measure (currently
|
||||
around 300+ million!! as of ~7nm), but TSMC didn't take them up on it.
|
||||
|
||||
GlobalFoundries (GF) stepped away from these ultra small processes at around
|
||||
14nm, so you won't see GF very often in the data. AMD spun off its chip fabs to
|
||||
GF aound 2009, so you don't see AMD as foundry after GF was formed. ATI always
|
||||
used TSMC so GPU data for AMD/ATI is I think all TSMC. Intel has always been its
|
||||
own foundry.
|
||||
|
||||
2. Wayland drops all its data and can't be detected if sudo or su is used to run
|
||||
inxi. That's unfortunate, but goes along with their dropping support for > 1
|
||||
user, which was one of the points of wayland, same reason you can do desktop
|
||||
sharing or ssh desktop forwarding etc. This means inxi doesn't show wayland as
|
||||
Display protocol, it is just blank, if you use su, or sudo start. This makes
|
||||
some internal inxi wayland triggers then fail. Still looking to see if there is
|
||||
a fix or workaround for this.
|
||||
|
||||
3. In sensors, a new syntax for k10-pci temp, Tctl, which unfortunately is the
|
||||
only temp type present for AMD family 17h (zen) and newer cpus, but that is not
|
||||
an actual cpu temp, it's:
|
||||
https://www.kernel.org/doc/html/v5.12/hwmon/k10temp.html
|
||||
|
||||
"Tctl is the processor temperature control value, used by the platform to
|
||||
control cooling systems. Tctl is a non-physical temperature on an arbitrary
|
||||
scale measured in degrees. It does _not_ represent an actual physical
|
||||
temperature like die or case temperature."
|
||||
|
||||
Even worse, it replaced Tdie, which was, correctly, temp1_input, and, somewhat
|
||||
insanely, the non real cpu temp is now temp1_input, and if present, the real
|
||||
Tdie cpu temp is temp2_input. I don't know how to work around this problem.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
BUGS:
|
||||
|
||||
1. Fallback test for Intel cpu arch was not doing anything, used wrong variable
|
||||
name.
|
||||
|
||||
2. A very old bug, thanks mrmazda for spotting this one, runlevel in case of
|
||||
init 3 > init 5 showed 35, not 5. Doesn't show on systemd stuff often since it
|
||||
doesn't use runlevels in this way, but this bug has been around a really long
|
||||
time.
|
||||
|
||||
3. SensorItem::gpu_data was always logging its data, missing the if $b_log.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
FIXES:
|
||||
|
||||
1. Fixed some disk vendor detection rules.
|
||||
|
||||
2. Failing to return default target for systemd/systemctl when no:
|
||||
/etc/systemd/system/default.target
|
||||
file exists. Corrected to use systemctl get-default as fallback if file doesn't
|
||||
exist.
|
||||
|
||||
3. Fixed indentation for default: runlevel, should be child of runlevel: /
|
||||
target:
|
||||
|
||||
4. Fixed corner case where systemd has no /proc/1/comm file but is still the
|
||||
init system. Added fallback check for /run/systemd/units, if that exists, safe
|
||||
to assume systemd is running init.
|
||||
|
||||
5. Fixed subtle case, -h/--recommends/--version/--version-short should not print
|
||||
to -y1 width, but rather to the original or modified widths >= 80 cols.
|
||||
Corrected this in print_basic() by using max-cols-basic.
|
||||
|
||||
6. Forgot to add --pkg, --edid, and --gpu to debugger run_self() tool.
|
||||
|
||||
7. Fixed broken sandisk vendor id.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ENHANCEMENTS:
|
||||
|
||||
1. Added AMD and Intel GPU microarchitecture detections for -Gx. These are not
|
||||
as easy as Nvidia because there is no one reliable data source for product ids.
|
||||
|
||||
2. Going with the -Ga process: .. built: item, -Ca will show process: [node] and
|
||||
built: years and sometimes gen: if available. Geeky, sure, not always perfect,
|
||||
or correct, but will generally be close. Due to difficultly in finding reliable
|
||||
release > build end years for example, not all cpus have all this data.
|
||||
|
||||
Using CPU generation,where that data is available and makes sense. Like AMD
|
||||
Zen+ is zen gen: 2, for example,. Because Intel microarch names are often
|
||||
marketing driven, not engineering, it's too difficult to assign gen consistently
|
||||
based only on model names. Shows for Core intels like: gen: core 3
|
||||
|
||||
That will cover most consumer Intel CPU users currently.
|
||||
|
||||
3. Added initial Zen 3+ and Zen 4 ids for cp_cpu_arch(). There is very little
|
||||
info on these yet, so I'm going on what may prove to be incomplete or wrong
|
||||
data.
|
||||
|
||||
4. Added GPU process, build years for -Ga.
|
||||
|
||||
5. Added fallback test for gpus that we don't have product IDs for yet because
|
||||
dbs have not been updated. Only used for cases where it's the newest gpu series
|
||||
and no prodoct IDs have been found.
|
||||
|
||||
6. Added AMD am386 support to cp_cpu_arch... ok ok, inxi takes 9 minutes to
|
||||
execute on that, but there you have it.
|
||||
|
||||
7. Added unverified Hyprland wayland compositor detection.
|
||||
|
||||
8. By request, added --version-short/--vs, which outputs version info in one
|
||||
line if used together with other options and if not short form. With any normal
|
||||
line option, will output version (date) info first line, without any other
|
||||
option, will output 1 line version info and exit.
|
||||
|
||||
9. More disk vendors, ids! Much easier with new tool disk_vendors.pl.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
CHANGES:
|
||||
|
||||
1. Deprecated --nvidia/--nv in favor of more consistent --gpu, that's easier to
|
||||
work with multiple vendors for advanced gpu architecture. Note for non nvidia,
|
||||
--gpu only adds codename, if available and different from arch name. For nvidia,
|
||||
it adds a lot more data.
|
||||
|
||||
2. Changed inxi-perl/tools tool names to more clearly reflect what function they
|
||||
serve.
|
||||
|
||||
3. Going with runlevel fixes, changed 'runlevel:' to be 'target:' if systemd.
|
||||
Also changed incorrect 'target:' for 'default:'.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
DOCUMENTATION:
|
||||
|
||||
1. Updated man, help, docs/inxi-data.txt for new gpu data and tools, and to
|
||||
indicate switch to more generic --gpu trigger for advanced gpu data, instead of
|
||||
the now deprecated --nvidia/--nv, which probably will go down as the shortest
|
||||
lasting option documented, though of course inxi always keeps legacy syntax
|
||||
working, behind the scenes, it's just removed from the -h and man page in favor
|
||||
of --gpu. Also updated to show AMD/Intel/Nvidia now, since the data now roughly
|
||||
works for all three main gpus.
|
||||
|
||||
2. Updated pinxi README.txt to reflect the tools and how to use them and what
|
||||
they are for.
|
||||
|
||||
3. --help, man, updated for target/runlevel, default: changes for init data.
|
||||
|
||||
4. Updated configuration html and man for --fake-data-dir.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
CODE:
|
||||
|
||||
1. Upgraded tools/gpu_ids.pl to handle nvidia, intel, or amd data, added data
|
||||
files in tools/lists/ for amd. First changed name from ids.pl to gpu_ids.pl
|
||||
|
||||
2. New data files added for amd/intel pci ids, and a new tool to merge them and
|
||||
prep them for gpu_ids.pl -j amd|intel handling. All work. Took a while to get
|
||||
these things sorted, but don't want to get stuck in future with manual updates,
|
||||
it needs to be automated as much as possible, same as with disk_vendors.pl etc,
|
||||
if I'm going to try to maintain this over time.
|
||||
|
||||
3. Made all gpu data file names use consistent formats, and made disk data files
|
||||
also follow this format.
|
||||
|
||||
4. Changed raw_ids.pl to gpu_raw.pl, trying to keep things easy to remember and
|
||||
consistent here.
|
||||
|
||||
5. Refactored core gpu data logic, now all types use the same sub, and just
|
||||
assign various data depending on the type.
|
||||
|
||||
6. Changed vendors.pl name to disk_vendors.pl
|
||||
|
||||
7. Big redo of array/hash handling in OutputHandler, was partially by reference,
|
||||
now is completely by reference. All Items now use and return $rows array ref as
|
||||
well, from start to finish, unlike previously, where @rows was copied
|
||||
repeatedly.
|
||||
|
||||
8. Going along with 7, made most internal passing of hash/arrays use hash/array
|
||||
references instead, where it makes sense, and doesn't make the code harder to
|
||||
work with.
|
||||
|
||||
9. Refactored WeatherItem, split apart the parts from output to be more like
|
||||
normal Items in terms of error handling etc.
|
||||
|
||||
10. Added 'ref' return option for reader() and grabber(). Only useful for very
|
||||
large data sets, added also default 'arr' if no value is provided for that
|
||||
argument.
|
||||
|
||||
11. Switched some features to use grabber/reader by ref on the off chance that
|
||||
will dump some execution time.
|
||||
|
||||
12. A few places added qr/.../ precompiled regex, in simple form, for loops,
|
||||
maybe it helps a little. I don't know.
|
||||
|
||||
13. Added global $fake_data_dir, this can be changed via configuration item:
|
||||
FAKE_DATA_DIR or one time by --fake-data-dir.
|
||||
|
||||
14. Created data directory, and initial data items. cpu is the fake data used to
|
||||
test CPU info. More will be added as data is checked and sanitized.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Harald Hope - Fri, 10 June 2022 13:05:17 -0700
|
||||
|
||||
================================================================================
|
||||
Version: 3.3.16
|
||||
Patch: 00
|
||||
|
@ -501,6 +750,9 @@ to not break on 1 character length string matches.
|
|||
concept in terms of adding a new feature during the original inxi 2.9 rewrite,
|
||||
and was never actually touched after that.
|
||||
|
||||
5. Added option to reader() to return array ref, if expecting a large file can
|
||||
be useful.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Harald Hope - Thu, 24 Mar 2022 12:01:50 -0800
|
||||
|
||||
|
@ -3464,6 +3716,16 @@ replaced all of them with 'device[s]'.
|
|||
4. Subtle fix, for debugger data collectors, added -y1 support, which can be
|
||||
useful at times.
|
||||
|
||||
5. Optimized PATH searches, now inxi only adds things to PATH if they exist in
|
||||
the system, not blindly.
|
||||
|
||||
6. Added to path test /usr/X11R6/bin to defaults, that is needed, if present, by
|
||||
OpenBSD and maybe other BSDs for tools like glxinfo.
|
||||
|
||||
7. Corrected missing PCI device data requires root message, that should have
|
||||
shown PCI device, not Device, since sometimes there is USB device data also
|
||||
next even if no permissions to read PCI device data tool, like in OpenBSD.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ENHANCEMENTS:
|
||||
|
||||
|
|
Loading…
Reference in a new issue