mirror of
https://github.com/smxi/inxi.git
synced 2025-04-25 19:19:13 +00:00
Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
|
15a55d0b94 | ||
|
308f2a97be | ||
|
4d6c596ed6 | ||
|
8c3b64c74d | ||
|
bf13ee49a8 | ||
|
4b5bdd7114 | ||
|
59f25a43f1 | ||
|
33a1d1ddbc | ||
|
bfbda726a4 |
5 changed files with 305 additions and 126 deletions
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
inxi linguist-language=Perl
|
|
@ -31,7 +31,7 @@ inxi master and inxi-perl/pinxi will be mirrored until late 2023, then they will
|
|||
no longer get updates.
|
||||
|
||||
The inxi repo only contains master, plus the one, two branches, which are
|
||||
obsolete.
|
||||
obsolete.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
@ -56,7 +56,7 @@ Help support the project with a one time or a sustaining donation.
|
|||
|
||||
Paypal: https://www.paypal.com/donate/?hosted_button_id=77DQVM6A4L5E2
|
||||
|
||||
Open Collective: https://opencollective.com/inxi
|
||||
LiberaPay (sustaining donations): https://liberapay.com/smxi/
|
||||
|
||||
================================================================================
|
||||
DEVELOPMENT AND ISSUES
|
||||
|
|
281
inxi
281
inxi
|
@ -49,8 +49,8 @@ use POSIX qw(ceil uname strftime ttyname);
|
|||
|
||||
## INXI INFO ##
|
||||
my $self_name='inxi';
|
||||
my $self_version='3.3.30';
|
||||
my $self_date='2023-09-25';
|
||||
my $self_version='3.3.31';
|
||||
my $self_date='2023-11-02';
|
||||
my $self_patch='00';
|
||||
## END INXI INFO ##
|
||||
|
||||
|
@ -111,7 +111,7 @@ my ($wan_url,$wl_compositors) = ('','');
|
|||
my ($bits_sys,$cpu_arch,$ppid);
|
||||
my ($cpu_sleep,$dl_timeout,$limit,$ps_cols,$ps_count) = (0.35,4,10,0,5);
|
||||
my $sensors_cpu_nu = 0;
|
||||
my ($dl_ua,$weather_source,$weather_unit) = ('s-tools/' . $self_name . '-',100,'mi');
|
||||
my ($weather_source,$weather_unit) = (100,'mi');
|
||||
|
||||
## Tools
|
||||
my ($display,$ftp_alt);
|
||||
|
@ -424,9 +424,9 @@ sub set_basics {
|
|||
$b_root = $< == 0; # root UID 0, all others > 0
|
||||
$dl{'dl'} = 'curl';
|
||||
$dl{'curl'} = 1;
|
||||
$dl{'fetch'} = 1;
|
||||
$dl{'tiny'} = 1; # note: two modules needed, tested for in set_downloader
|
||||
$dl{'wget'} = 1;
|
||||
$dl{'fetch'} = 1;
|
||||
$client{'console-irc'} = 0;
|
||||
$client{'dcop'} = (check_program('dcop')) ? 1 : 0;
|
||||
$client{'qdbus'} = (check_program('qdbus')) ? 1 : 0;
|
||||
|
@ -2654,6 +2654,7 @@ sub ram_use {
|
|||
#### DOWNLOADER
|
||||
#### -------------------------------------------------------------------
|
||||
|
||||
# args: 0: download type; 1: url; 2: file; 3: [ua type string]
|
||||
sub download_file {
|
||||
my ($type, $url, $file,$ua) = @_;
|
||||
my ($cmd,$args,$timeout) = ('','','');
|
||||
|
@ -2675,7 +2676,7 @@ sub download_file {
|
|||
## NOTE: 1 is success, 0 false for Perl
|
||||
if ($dl{'dl'} eq 'tiny'){
|
||||
$cmd = "Using tiny: type: $type \nurl: $url \nfile: $file";
|
||||
$result = get_file_tiny_http($type, $url, $file);
|
||||
$result = get_file_http_tiny($type,$url,$file,$ua);
|
||||
$debug_data = ($type ne 'stdout') ? $result : 'Success: stdout data not null.';
|
||||
}
|
||||
# But: 0 is success, and 1 is false for these
|
||||
|
@ -2707,9 +2708,11 @@ sub download_file {
|
|||
return $result;
|
||||
}
|
||||
|
||||
sub get_file_tiny_http {
|
||||
my ($type, $url, $file) = @_;
|
||||
my $tiny = HTTP::Tiny->new;
|
||||
sub get_file_http_tiny {
|
||||
my ($type,$url,$file,$ua) = @_;
|
||||
$ua = ($ua && $dl{'ua'}) ? $dl{'ua'} . $ua: '';
|
||||
my %headers = ($ua) ? ('agent' => $ua) : ();
|
||||
my $tiny = HTTP::Tiny->new(%headers);
|
||||
# note: default is no verify, so default here actually is to verify unless overridden
|
||||
$tiny->verify_SSL => 1 if !$use{'no-ssl'};
|
||||
my $response = $tiny->get($url);
|
||||
|
@ -2756,6 +2759,7 @@ sub get_file_tiny_http {
|
|||
sub set_downloader {
|
||||
eval $start if $b_log;
|
||||
my $quiet = '';
|
||||
my $ua_raw = 's-tools/' . $self_name . '-';
|
||||
$dl{'no-ssl'} = '';
|
||||
$dl{'null'} = '';
|
||||
$dl{'spider'} = '';
|
||||
|
@ -2782,6 +2786,7 @@ sub set_downloader {
|
|||
$dl{'file'} = '';
|
||||
$dl{'stdout'} = '';
|
||||
$dl{'timeout'} = '';
|
||||
$dl{'ua'} = $ua_raw;
|
||||
}
|
||||
elsif ($dl{'curl'} && check_program('curl')){
|
||||
$quiet = '-s ' if !$dbg[1];
|
||||
|
@ -2790,7 +2795,7 @@ sub set_downloader {
|
|||
$dl{'no-ssl'} = ' --insecure';
|
||||
$dl{'stdout'} = " -L ${quiet}";
|
||||
$dl{'timeout'} = ' -y ';
|
||||
$dl{'ua'} = ' -A ' . $dl_ua;
|
||||
$dl{'ua'} = ' -A ' . $ua_raw;
|
||||
}
|
||||
elsif ($dl{'wget'} && check_program('wget')){
|
||||
$quiet = '-q ' if !$dbg[1];
|
||||
|
@ -2800,7 +2805,7 @@ sub set_downloader {
|
|||
$dl{'spider'} = " ${quiet}--spider";
|
||||
$dl{'stdout'} = " $quiet -O -";
|
||||
$dl{'timeout'} = ' -T ';
|
||||
$dl{'ua'} = ' -U ' . $dl_ua;
|
||||
$dl{'ua'} = ' -U ' . $ua_raw;
|
||||
}
|
||||
elsif ($dl{'fetch'} && check_program('fetch')){
|
||||
$quiet = '-q ' if !$dbg[1];
|
||||
|
@ -2809,6 +2814,7 @@ sub set_downloader {
|
|||
$dl{'no-ssl'} = ' --no-verify-peer';
|
||||
$dl{'stdout'} = " ${quiet}-o -";
|
||||
$dl{'timeout'} = ' -T ';
|
||||
$dl{'ua'} = ' --user-agent=' . $ua_raw;
|
||||
}
|
||||
# at least openbsd/netbsd
|
||||
elsif ($bsd_type && check_program('ftp')){
|
||||
|
@ -2817,6 +2823,7 @@ sub set_downloader {
|
|||
$dl{'null'} = ' 2>/dev/null';
|
||||
$dl{'stdout'} = ' -o - ';
|
||||
$dl{'timeout'} = '';
|
||||
$dl{'ua'} = ' -U ' . $ua_raw;
|
||||
}
|
||||
else {
|
||||
$dl{'dl'} = '';
|
||||
|
@ -6260,7 +6267,7 @@ sub show_options {
|
|||
(Linux only)."],
|
||||
['1', '', '--wan-ip-url', "[URL] Skips dig, uses supplied URL for WAN IP (-i).
|
||||
URL output must end in the IP address. See man.
|
||||
Example:^$self_name^-i^--wan-ip-url^https://yoursite.com/ip.php"],
|
||||
Example:^$self_name^-i^--wan-ip-url^https://yoursite.com/remote-ip"],
|
||||
['1', '', '--wm', "Force wm: to use wmctrl as data source. Default uses ps."],
|
||||
['0', '', '', $line ],
|
||||
['0', '', '', "Debugging Options:"],
|
||||
|
@ -6951,9 +6958,11 @@ sub make_line {
|
|||
return $line;
|
||||
}
|
||||
|
||||
# args: 0: type; 1: info [optional]; 2: info [optional]
|
||||
sub message {
|
||||
my ($type,$id) = @_;
|
||||
my ($type,$id,$id2) = @_;
|
||||
$id ||= '';
|
||||
$id2 ||= '';
|
||||
my %message = (
|
||||
'arm-cpu-f' => 'Use -f option to see features',
|
||||
'audio-server-on-pipewire-pulse' => 'off (using pipewire-pulse)',
|
||||
|
@ -7018,8 +7027,9 @@ sub message {
|
|||
'note-est' => 'est.',
|
||||
'note-not-reliable' => 'not reliable',
|
||||
'nv-current' => "current (as of $id)",
|
||||
'nv-current-eol' => "current (as of $id; EOL~$id2)",
|
||||
'nv-legacy-active' => "legacy-active (EOL~$id)",
|
||||
'nv-legacy-eol' => 'legacy (EOL)',
|
||||
'nv-legacy-eol' => "legacy (EOL~$id)",
|
||||
'optical-data' => 'No optical or floppy data found.',
|
||||
'optical-data-bsd' => 'No optical or floppy data found.',
|
||||
'output-control' => "-:: 'Enter' to continue to next block. Any key + 'Enter' to exit:",
|
||||
|
@ -16120,9 +16130,10 @@ sub gl_data {
|
|||
# $file = "$fake_data_dir/graphics/glxinfo/glxinfo-partial-intel-5500-1.txt";
|
||||
# $file = "$fake_data_dir/graphics/glxinfo/glxinfo-vbox-debian-etch-1.txt";
|
||||
$file = "$fake_data_dir/graphics/glxinfo/glxinfo-x11-neomagic-lenny-1.txt";
|
||||
$file = "$fake_data_dir/graphics/glxinfo/glxinfo-nvidia-gl4.6-chr.txt";
|
||||
$file = "$fake_data_dir/graphics/glxinfo/glxinfo-intel-atom-dell_studio-bm.txt";
|
||||
$file = "$fake_data_dir/graphics/glxinfo/glxinfo-asus_1025c-atom-bm.txt";
|
||||
# $file = "$fake_data_dir/graphics/glxinfo/glxinfo-nvidia-gl4.6-chr.txt";
|
||||
# $file = "$fake_data_dir/graphics/glxinfo/glxinfo-intel-atom-dell_studio-bm.txt";
|
||||
# $file = "$fake_data_dir/graphics/glxinfo/glxinfo-asus_1025c-atom-bm.txt";
|
||||
# $file = "$fake_data_dir/graphics/glxinfo/glxinfo-2011-nvidia-glx1.4.txt";
|
||||
$gl_data= main::reader($file,'','ref');
|
||||
}
|
||||
}
|
||||
|
@ -17984,7 +17995,7 @@ sub set_amd_data {
|
|||
'689b|689c|689d|689e|68a0|68a1|68a8|68a9|68b8|68b9|68ba|68be|68bf|68c0|68c1|' .
|
||||
'68c7|68c8|68c9|68d8|68d9|68da|68de|68e0|68e1|68e4|68e5|68e8|68e9|68f1|68f2|' .
|
||||
'68f8|68f9|68fa|68fe|9640|9641|9642|9643|9644|9645|9647|9648|9649|964a|964b|' .
|
||||
'964c|964e|964f|9802|9803|9804|9805|9806|9807|9808|9809|980a',
|
||||
'964c|964e|964f|9802|9803|9804|9805|9806|9807|9808|9809|980a|9925|9926',
|
||||
'code' => 'Evergreen',
|
||||
'process' => 'TSMC 32-40nm',
|
||||
'years' => '2009-15',
|
||||
|
@ -18014,14 +18025,15 @@ sub set_amd_data {
|
|||
'1312|1313|1315|1316|1317|1318|131b|131c|131d|6640|6641|6646|6647|6649|664d|' .
|
||||
'6650|6651|6658|665c|665d|665f|67a0|67a1|67a2|67a8|67a9|67aa|67b0|67b1|67b8|' .
|
||||
'67b9|67be|9830|9831|9832|9833|9834|9835|9836|9837|9838|9839|983d|9850|9851|' .
|
||||
'9852|9853|9854|9855|9856|9857|9858|9859|985a|985b|985c|985d|985e|985f|9920',
|
||||
'9852|9853|9854|9855|9856|9857|9858|9859|985a|985b|985c|985d|985e|985f|991e|' .
|
||||
'9920|9922',
|
||||
'code' => 'Sea Islands',
|
||||
'process' => 'GF/TSMC 16-28nm',
|
||||
'years' => '2013-17',
|
||||
},
|
||||
{'arch' => 'GCN-3',
|
||||
'ids' => '6900|6901|6902|6907|6920|6921|6929|692b|692f|6930|6938|6939|693b|' .
|
||||
'7300|730f|9874|98e4',
|
||||
'7300|730f|9874|98c0|98e4',
|
||||
'code' => 'Volcanic Islands',
|
||||
'process' => 'TSMC 28nm',
|
||||
'years' => '2014-19',
|
||||
|
@ -18065,16 +18077,22 @@ sub set_amd_data {
|
|||
'years' => '2020-22',
|
||||
},
|
||||
{'arch' => 'RDNA-3',
|
||||
'ids' => '73a8|73f0|7448|744c|745e|7480|7483|7489',
|
||||
'ids' => '73a8|73c4|73c5|73c8|7448|744c|745e|7460|7461|7470|7478|747e',
|
||||
'code' => 'Navi-3x',
|
||||
'process' => 'TSMC n5 (5nm)',
|
||||
'years' => '2022+',
|
||||
},
|
||||
{'arch' => 'RDNA-3',
|
||||
'ids' => '15bf|15c8|164f',
|
||||
'ids' => '73f0|7480|7481|7483|7487|7489|748b|749f',
|
||||
'code' => 'Navi-33',
|
||||
'process' => 'TSMC n6 (6nm)',
|
||||
'years' => '2023+',
|
||||
},
|
||||
{'arch' => 'RDNA-3',
|
||||
'ids' => '15bf|15c8|164f|1900|1901',
|
||||
'code' => 'Phoenix',
|
||||
'process' => 'TSMC n4 (4nm)',
|
||||
'years' => '2022+',
|
||||
'years' => '2023+',
|
||||
},
|
||||
{'arch' => 'CDNA-1',
|
||||
'ids' => '7388|738c|738e',
|
||||
|
@ -18220,15 +18238,16 @@ sub set_intel_data {
|
|||
},
|
||||
# gen10 was cancelled.,
|
||||
{'arch' => 'Gen-11',
|
||||
'ids' => '0d16|0d26|0d36|4555|4571|4e55|4e61|4e71|8a50|8a51|8a52|8a53|8a54|' .
|
||||
'8a56|8a57|8a58|8a59|8a5a|8a5b|8a5c|8a5d|8a71|9840|9841',
|
||||
'ids' => '0d16|0d26|0d36|4541|4551|4555|4557|4571|4e51|4e55|4e57|4e61|4e71|' .
|
||||
'8a50|8a51|8a52|8a53|8a54|8a56|8a57|8a58|8a59|8a5a|8a5b|8a5c|8a5d|8a70|8a71|' .
|
||||
'9840|9841',
|
||||
'code' => '',
|
||||
'process' => 'Intel 10nm',
|
||||
'years' => '2019-21',
|
||||
},
|
||||
{'arch' => 'Gen-12.1',
|
||||
'ids' => '4905|4908|4c8a|4c8b|4c8c|4c90|4c9a|9a40|9a49|9a60|9a68|9a70|9a78|' .
|
||||
'9ac0|9ac9|9ad9|9af8',
|
||||
'ids' => '4905|4907|4908|4c80|4c8a|4c8b|4c8c|4c90|4c9a|9a40|9a49|9a59|9a60|' .
|
||||
'9a68|9a70|9a78|9ac0|9ac9|9ad9|9af8',
|
||||
'code' => '',
|
||||
'process' => 'Intel 10nm',
|
||||
'years' => '2020-21',
|
||||
|
@ -18241,29 +18260,28 @@ sub set_intel_data {
|
|||
'years' => '2021-22+',
|
||||
},
|
||||
{'arch' => 'Gen-12.5',
|
||||
'ids' => '',
|
||||
'code' => 'Arctic Sound',
|
||||
'pattern' => 'Arctic',
|
||||
'ids' => '0bd0|0bd5|0bd6|0bd7|0bd9|0bda|0bdb',
|
||||
'code' => '',
|
||||
'process' => 'Intel 10nm',
|
||||
'years' => '2021-22+',
|
||||
'years' => '2021-23+',
|
||||
},
|
||||
# Jupiter Sound cancelled?
|
||||
{'arch' => 'Gen-12.7',
|
||||
'ids' => '5690|5691|5692|5693|5694|5698|56a0|56a1|56a3|56a4|56a5|56a6|56a7|' .
|
||||
'56a8|56a9',
|
||||
'ids' => '5690|5691|5692|5693|5694|5695|5696|5697|5698|56a0|56a1|56a3|56a4|' .
|
||||
'56a5|56a6|56a7|56a8|56a9|56b0|56b1|56b2|56b3',
|
||||
'code' => 'Alchemist',
|
||||
'process' => 'TSMC n6 (7nm)',
|
||||
'years' => '2022+',
|
||||
},
|
||||
{'arch' => 'Gen-12.7',
|
||||
'ids' => '56c0|56c1',
|
||||
'code' => 'XeHPG',
|
||||
'code' => '',
|
||||
'process' => 'TSMC n6 (7nm)',
|
||||
'years' => '2022+',
|
||||
},
|
||||
{'arch' => 'Gen-13',
|
||||
'ids' => 'a720|a721|a780|a781|a782|a783|a788|a789|a78a|a78b|a7a0|a7a1|a7a8|' .
|
||||
'a7a9',
|
||||
'ids' => 'a720|a721|a74d|a780|a781|a782|a783|a788|a789|a78a|a78b|a7a0|a7a1|' .
|
||||
'a7a8|a7a9|a7aa|a7ab|a7ac|a7ad',
|
||||
'code' => '',
|
||||
'process' => 'Intel 7 (10nm)',
|
||||
'years' => '2022+',
|
||||
|
@ -18283,7 +18301,7 @@ sub set_nv_data {
|
|||
# 0008|0009|0010|0018|0019
|
||||
# and these are vendor id: 10de for 73.14
|
||||
# 0020|0028|0029|002c|002d|00a0|0100|0101|0103|0150|0151|0152|0153
|
||||
my $status_eol = main::message('nv-legacy-eol');
|
||||
# generic fallback if we don't have the actual EOL termination date
|
||||
my $date = $self_date;
|
||||
$date =~ s/-\d+$//;
|
||||
my $status_current = main::message('nv-current',$date);
|
||||
|
@ -18299,7 +18317,7 @@ sub set_nv_data {
|
|||
'process' => 'TSMC 220-350nm',
|
||||
'release' => '71.86.15',
|
||||
'series' => '71.86.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2011-08-xx'),
|
||||
'xorg' => '1.7',
|
||||
'years' => '1998-2000',
|
||||
},
|
||||
|
@ -18311,7 +18329,7 @@ sub set_nv_data {
|
|||
'process' => 'TSMC 150-220nm',
|
||||
'release' => '71.86.15',
|
||||
'series' => '71.86.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2011-08-xx'),
|
||||
'xorg' => '1.7',
|
||||
'years' => '1999-2005',
|
||||
},
|
||||
|
@ -18324,7 +18342,7 @@ sub set_nv_data {
|
|||
'process' => 'TSMC 150-220nm',
|
||||
'release' => '96.43.23',
|
||||
'series' => '96.43.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2012-09-xx'),
|
||||
'xorg' => '1.12',
|
||||
'years' => '1999-2005',
|
||||
},
|
||||
|
@ -18332,17 +18350,18 @@ sub set_nv_data {
|
|||
'ids' => '0170|0171|0172|0173|0174|0175|0176|0177|0178|0179|017a|017c|017d|' .
|
||||
'0181|0182|0183|0185|0188|018a|018b|018c|01f0|0200|0201|0202|0203|0250|0251|' .
|
||||
'0253|0258|0259|025b|0280|0281|0282|0286|0288|0289|028c',
|
||||
'code' => 'NV[12]x',
|
||||
'code' => 'NV2x',
|
||||
'kernel' => '3.6',
|
||||
'legacy' => 1,
|
||||
'process' => 'TSMC 150nm',
|
||||
'release' => '96.43.23',
|
||||
'series' => '96.43.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2012-09-xx'),
|
||||
'xorg' => '1.12',
|
||||
'years' => '2001-03',
|
||||
'years' => '2001-2003',
|
||||
},
|
||||
## Legacy 173.14.xx
|
||||
# process: IBM 130, TSMC 130-150
|
||||
{'arch' => 'Rankine',
|
||||
'ids' => '00fa|00fb|00fc|00fd|00fe|0301|0302|0308|0309|0311|0312|0314|031a|' .
|
||||
'031b|031c|0320|0321|0322|0323|0324|0325|0326|0327|0328|032a|032b|032c|032d|' .
|
||||
|
@ -18350,14 +18369,16 @@ sub set_nv_data {
|
|||
'code' => 'NV3x',
|
||||
'kernel' => '3.12',
|
||||
'legacy' => 1,
|
||||
'process' => '130-150nm', # IBM 130, TSMC 130-150
|
||||
'process' => '130-150nm',
|
||||
'release' => '173.14.39',
|
||||
'series' => '173.14.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2013-12-xx'),
|
||||
'xorg' => '1.15',
|
||||
'years' => '2003-05',
|
||||
'years' => '2003-2005',
|
||||
},
|
||||
## Legacy 304.xx
|
||||
# code: hard to get these, roughly MCP[567]x/NV4x/G7x
|
||||
# process: IBM 130, TSMC 90-110
|
||||
{'arch' => 'Curie',
|
||||
'ids' => '0040|0041|0042|0043|0044|0045|0046|0047|0048|004e|0090|0091|0092|' .
|
||||
'0093|0095|0098|0099|009d|00c0|00c1|00c2|00c3|00c8|00c9|00cc|00cd|00ce|00f1|' .
|
||||
|
@ -18368,18 +18389,20 @@ sub set_nv_data {
|
|||
'0292|0293|0294|0295|0297|0298|0299|029a|029b|029c|029d|029e|029f|02e0|02e1|' .
|
||||
'02e2|02e3|02e4|038b|0390|0391|0392|0393|0394|0395|0397|0398|0399|039c|039e|' .
|
||||
'03d0|03d1|03d2|03d5|03d6|0531|0533|053a|053b|053e|07e0|07e1|07e2|07e3|07e5',
|
||||
'code' => '', # hard to get these, roughly MCP[567]x/NV4x/G7x
|
||||
'code' => '',
|
||||
'kernel' => '4.13',
|
||||
'legacy' => 1,
|
||||
'process' => '90-130nm', # IBM 130, TSMC 90-110
|
||||
'process' => '90-130nm',
|
||||
'release' => '304.137',
|
||||
'series' => '304.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2017-09-xx'),
|
||||
'xorg' => '1.19',
|
||||
'years' => '2003-13',
|
||||
'years' => '2003-2013',
|
||||
},
|
||||
## Legacy 340.xx
|
||||
# these are both Tesla and Tesla 2.0
|
||||
# code: not clear, 8800/GT2xx/maybe G7x
|
||||
# years: 2006-2010 Tesla 2007-2013 Tesla 2.0
|
||||
{'arch' => 'Tesla',
|
||||
'ids' => '0191|0193|0194|0197|019d|019e|0400|0401|0402|0403|0404|0405|0406|' .
|
||||
'0407|0408|0409|040a|040b|040c|040d|040e|040f|0410|0420|0421|0422|0423|0424|' .
|
||||
|
@ -18398,28 +18421,28 @@ sub set_nv_data {
|
|||
'0a65|0a66|0a67|0a68|0a69|0a6a|0a6c|0a6e|0a6f|0a70|0a71|0a72|0a73|0a74|0a75|' .
|
||||
'0a76|0a78|0a7a|0a7c|0ca0|0ca2|0ca3|0ca4|0ca5|0ca7|0ca8|0ca9|0cac|0caf|0cb0|' .
|
||||
'0cb1|0cbc|10c0|10c3|10c5|10d8',
|
||||
'code' => '', # not clear, 8800/GT2xx/maybe G7x
|
||||
'code' => '',
|
||||
'kernel' => '5.4',
|
||||
'legacy' => 1,
|
||||
'process' => '40-80nm',
|
||||
'release' => '340.108',
|
||||
'series' => '340.xx',
|
||||
'status' => $status_eol,
|
||||
'status' => main::message('nv-legacy-eol','2019-12-xx'),
|
||||
'xorg' => '1.20',
|
||||
'years' => '2006-13',
|
||||
'years' => '2006-2013',
|
||||
},
|
||||
## Legacy 367.xx
|
||||
{'arch' => 'Kepler',
|
||||
'ids' => '0fef|0ff2|11bf',
|
||||
'code' => 'GKxxx',
|
||||
'kernel' => '',
|
||||
'kernel' => '5.4',
|
||||
'legacy' => 1,
|
||||
'process' => 'TSMC 28nm',
|
||||
'release' => '',
|
||||
'series' => '367.xx',
|
||||
'status' => main::message('nv-legacy-active','late 2022'),
|
||||
'xorg' => '',
|
||||
'years' => '2012-18',
|
||||
'status' => main::message('nv-legacy-eol','2017'),
|
||||
'xorg' => '1.20',
|
||||
'years' => '2012-2018',
|
||||
},
|
||||
## Legacy 390.xx
|
||||
# this is Fermi, Fermi 2.0
|
||||
|
@ -18434,14 +18457,14 @@ sub set_nv_data {
|
|||
'1207|1208|1210|1211|1212|1213|1241|1243|1244|1245|1246|1247|1248|1249|124b|' .
|
||||
'124d|1251',
|
||||
'code' => 'GF1xx',
|
||||
'kernel' => '',
|
||||
'kernel' => '6.0',
|
||||
'legacy' => 1,
|
||||
'process' => '40/28nm',
|
||||
'release' => '',
|
||||
'release' => '390.157',
|
||||
'series' => '390.xx+',
|
||||
'status' => main::message('nv-legacy-active','late 2022'),
|
||||
'xorg' => '',
|
||||
'years' => '2010-16',
|
||||
'status' => main::message('nv-legacy-eol','2022-11-22'),
|
||||
'xorg' => '1.21',
|
||||
'years' => '2010-2016',
|
||||
},
|
||||
## Legacy 470.xx
|
||||
{'arch' => 'Fermi 2',
|
||||
|
@ -18452,10 +18475,12 @@ sub set_nv_data {
|
|||
'process' => 'TSMC 28nm',
|
||||
'release' => '',
|
||||
'series' => '470.xx+',
|
||||
'status' => main::message('nv-legacy-active','2023/24'),
|
||||
'status' => main::message('nv-legacy-active','2024-09-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2010-16',
|
||||
'years' => '2010-2016',
|
||||
},
|
||||
# GT 720M and 805A/810A are the same cpu id.
|
||||
# years: 2012-2018 Kepler 2013-2015 Kepler 2.0
|
||||
{'arch' => 'Kepler',
|
||||
'ids' => '0fc6|0fc8|0fc9|0fcd|0fce|0fd1|0fd2|0fd3|0fd4|0fd5|0fd8|0fd9|0fdf|' .
|
||||
'0fe0|0fe1|0fe2|0fe3|0fe4|0fe9|0fea|0fed|0fee|0ff6|0ff8|0ff9|0ffa|0ffb|0ffc|' .
|
||||
|
@ -18471,9 +18496,9 @@ sub set_nv_data {
|
|||
'process' => 'TSMC 28nm',
|
||||
'release' => '',
|
||||
'series' => '470.xx+',
|
||||
'status' => main::message('nv-legacy-active','2023/24'),
|
||||
'status' => main::message('nv-legacy-active','2024-09-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2012-18',
|
||||
'years' => '2012-2018',
|
||||
},
|
||||
## Current Active Series
|
||||
# load microarch data, as stuff goes legacy, these will form new legacy items.
|
||||
|
@ -18482,47 +18507,45 @@ sub set_nv_data {
|
|||
'1380|1381|1382|1390|1391|1392|1393|1398|1399|139a|139b|139c|139d|13b0|13b1|' .
|
||||
'13b2|13b3|13b4|13b6|13b9|13ba|13bb|13bc|13c0|13c2|13d7|13d8|13d9|13da|13f0|' .
|
||||
'13f1|13f2|13f3|13f8|13f9|13fa|13fb|1401|1402|1406|1407|1427|1430|1431|1436|' .
|
||||
'1617|1618|1619|161a|1667|174d|174e|179c|17c8|17f0|17f1|17fd|1c8c|1c8d|1c90|' .
|
||||
'1c91|1d10|1d12|1e91|1ed1|1ed3|1f14|1f54',
|
||||
'1617|1618|1619|161a|1667|174d|174e|179c|17c8|17f0|17f1|17fd|1c90|1d10|1d12',
|
||||
'code' => 'GMxxx',
|
||||
'kernel' => '',
|
||||
'legacy' => 0,
|
||||
'process' => 'TSMC 28nm',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'status' => $status_current,
|
||||
'series' => '545.xx+',
|
||||
'status' => main::message('nv-current-eol',$date,'2026-12-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2014-19',
|
||||
'years' => '2014-2019',
|
||||
},
|
||||
{'arch' => 'Pascal',
|
||||
'ids' => '15f0|15f7|15f8|15f9|17c2|1b00|1b02|1b06|1b30|1b38|1b80|1b81|1b82|' .
|
||||
'1b83|1b84|1b87|1ba0|1ba1|1ba2|1bb0|1bb1|1bb4|1bb5|1bb6|1bb7|1bb8|1bb9|1bbb|' .
|
||||
'1bc7|1be0|1be1|1c02|1c03|1c04|1c06|1c07|1c09|1c20|1c21|1c22|1c23|1c30|1c31|' .
|
||||
'1c60|1c61|1c62|1c81|1c82|1c83|1c8c|1c8d|1c8f|1c90|1c91|1c92|1c94|1c96|1cb1|' .
|
||||
'1cb2|1cb3|1cb6|1cba|1cbb|1cbc|1cbd|1cfa|1cfb|1d01|1d02|1d11|1d13|1d16|1d33|' .
|
||||
'1d34|1d52',
|
||||
'1b83|1b84|1b87|1ba0|1ba1|1ba2|1bb0|1bb1|1bb3|1bb4|1bb5|1bb6|1bb7|1bb8|1bb9|' .
|
||||
'1bbb|1bc7|1be0|1be1|1c02|1c03|1c04|1c06|1c07|1c09|1c20|1c21|1c22|1c23|1c30|' .
|
||||
'1c31|1c60|1c61|1c62|1c81|1c82|1c83|1c8c|1c8d|1c8f|1c90|1c91|1c92|1c94|1c96|' .
|
||||
'1cb1|1cb2|1cb3|1cb6|1cba|1cbb|1cbc|1cbd|1cfa|1cfb|1d01|1d02|1d11|1d13|1d16|' .
|
||||
'1d33|1d34|1d52',
|
||||
'code' => 'GP10x',
|
||||
'kernel' => '',
|
||||
'legacy' => 0,
|
||||
'process' => 'TSMC 16nm',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'status' => $status_current,
|
||||
'series' => '545.xx+',
|
||||
'status' => main::message('nv-current-eol',$date,'2026-12-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2016-21',
|
||||
'years' => '2016-2021',
|
||||
},
|
||||
{'arch' => 'Volta',
|
||||
'ids' => '1d81|1db1|1db3|1db4|1db5|1db6|1db7|1db8|1dba|1df0|1df2|1df6|1fb0|' .
|
||||
'20b0|20b6',
|
||||
'ids' => '1d81|1db1|1db3|1db4|1db5|1db6|1db7|1db8|1dba|1df0|1df2|1df6|1fb0',
|
||||
'code' => 'GV1xx',
|
||||
'kernel' => '',
|
||||
'legacy' => 0,
|
||||
'process' => 'TSMC 12nm',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'status' => $status_current,
|
||||
'series' => '545.xx+',
|
||||
'status' => main::message('nv-current-eol',$date,'2026-12-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2017-20',
|
||||
'years' => '2017-2020',
|
||||
},
|
||||
{'arch' => 'Turing',
|
||||
'ids' => '1e02|1e04|1e07|1e09|1e30|1e36|1e78|1e81|1e82|1e84|1e87|1e89|1e90|' .
|
||||
|
@ -18536,53 +18559,55 @@ sub set_nv_data {
|
|||
'legacy' => 0,
|
||||
'process' => 'TSMC 12nm FF',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'status' => $status_current,
|
||||
'series' => '545.xx+',
|
||||
'status' => main::message('nv-current-eol',$date,'2026-12-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2018-22',
|
||||
'years' => '2018-2022',
|
||||
},
|
||||
{'arch' => 'Ampere',
|
||||
'ids' => '20b0|20b2|20b3|20b5|20b7|20bd|20f1|20f3|20f5|20f6|2203|2204|2206|' .
|
||||
'2207|2208|220a|220d|2216|2230|2231|2232|2233|2235|2236|2237|2238|2414|2420|' .
|
||||
'2438|2460|2482|2484|2486|2487|2488|2489|248a|249c|249d|24a0|24b0|24b1|24b6|' .
|
||||
'24b7|24b8|24b9|24ba|24bb|24c7|24c9|24dc|24dd|24e0|24fa|2503|2504|2507|2508|' .
|
||||
'2520|2521|2523|2531|2544|2560|2563|2571|2582|25a0|25a2|25a5|25ab|25ac|25b6|' .
|
||||
'25b8|25b9|25ba|25bb|25bc|25bd|25e0|25e2|25e5|25ec|25f9|25fa|25fb|2838',
|
||||
'ids' => '20b0|20b2|20b3|20b5|20b6|20b7|20bd|20f1|20f3|20f5|20f6|2203|2204|' .
|
||||
'2206|2207|2208|220a|220d|2216|2230|2231|2232|2233|2235|2236|2237|2238|2414|' .
|
||||
'2420|2438|2460|2482|2484|2486|2487|2488|2489|248a|249c|249d|24a0|24b0|24b1|' .
|
||||
'24b6|24b7|24b8|24b9|24ba|24bb|24c7|24c9|24dc|24dd|24e0|24fa|2503|2504|2507|' .
|
||||
'2508|2520|2521|2523|2531|2544|2560|2563|2571|2582|25a0|25a2|25a5|25ab|25ac|' .
|
||||
'25b6|25b8|25b9|25ba|25bb|25bc|25bd|25e0|25e2|25e5|25ec|25f9|25fa|25fb|2838',
|
||||
'code' => 'GAxxx',
|
||||
'kernel' => '',
|
||||
'legacy' => 0,
|
||||
'process' => 'TSMC n7 (7nm)',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'status' => $status_current,
|
||||
'series' => '545.xx+',
|
||||
'status' => main::message('nv-current-eol',$date,'2026-12-xx'),
|
||||
'xorg' => '',
|
||||
'years' => '2020-23',
|
||||
'years' => '2020-2023',
|
||||
},
|
||||
{'arch' => 'Hopper',
|
||||
'ids' => '2321|2330|2331|2339',
|
||||
'ids' => '2321|2322|2324|2330|2331|2339|233a|2342',
|
||||
'code' => 'GH1xx',
|
||||
'kernel' => '',
|
||||
'legacy' => 0,
|
||||
'process' => 'TSMC n4 (5nm)',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'series' => '545.xx+',
|
||||
'status' => $status_current,
|
||||
'xorg' => '',
|
||||
'years' => '2022+',
|
||||
},
|
||||
{'arch' => 'Lovelace',
|
||||
'ids' => '2684|26b1|26b5|2704|2717|2757|2782|2786|27a0|27b8|27e0|2803|2805|' .
|
||||
'2820|2860|2882|28a0|28a1|28e0|28e1',
|
||||
'ids' => '2684|26b1|26b2|26b5|26b9|2704|2717|2730|2757|2770|2782|2786|27a0|' .
|
||||
'27b0|27b1|27b2|27b8|27ba|27bb|27e0|27fb|2803|2805|2820|2860|2882|28a0|28a1|' .
|
||||
'28e0|28e1',
|
||||
'code' => 'AD1xx',
|
||||
'kernel' => '',
|
||||
'legacy' => 0,
|
||||
'process' => 'TSMC n4 (5nm)',
|
||||
'release' => '',
|
||||
'series' => '535.xx+',
|
||||
'series' => '545.xx+',
|
||||
'status' => $status_current,
|
||||
'xorg' => '',
|
||||
'years' => '2022-23+',
|
||||
'years' => '2022+',
|
||||
},
|
||||
|
||||
],
|
||||
}
|
||||
|
||||
|
@ -20778,15 +20803,16 @@ sub wan_ip {
|
|||
my ($b_dig,$b_html,$ip,$ua);
|
||||
my $num = 0;
|
||||
# time: 0.06 - 0.07 seconds
|
||||
# cisco opendns.com may be terminating supporting this one, sometimes works, sometimes not:
|
||||
# use -4/6 to force ipv 4 or 6, but generally we want the 'natural' native
|
||||
# ip returned.
|
||||
# dig +short +time=1 +tries=1 myip.opendns.com @resolver1.opendns.com
|
||||
# dig +short @ns1-1.akamaitech.net ANY whoami.akamai.net
|
||||
# this one can take forever, and sometimes requires explicit -4 or -6
|
||||
# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com
|
||||
# Cisco opendns.com may be terminating supporting this one, sometimes works, sometimes not:
|
||||
# use -4/6 to force ipv 4 or 6, but generally we want the 'natural' native ip returned.
|
||||
# dig +short +time=1 +tries=1 myip.opendns.com @resolver1.opendns.com :: 0.021s
|
||||
# Works but is slow:
|
||||
# dig +short @ns1-1.akamaitech.net ANY whoami.akamai.net :: 0.156s
|
||||
# This one can take forever, and sometimes requires explicit -4 or -6
|
||||
# dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com :: 0.026s; 1.087ss
|
||||
if (!$force{'no-dig'} && (my $program = main::check_program('dig'))){
|
||||
$ip = (main::grabber("$program +short +time=1 +tries=1 \@ns1-1.akamaitech.net ANY whoami.akamai.net 2>/dev/null"))[0];
|
||||
$ip =~ s/"//g if $ip; # some return IP in quotes, when using TXT
|
||||
$b_dig = 1;
|
||||
}
|
||||
if (!$ip && !$force{'no-html-wan'}){
|
||||
|
@ -20794,16 +20820,19 @@ sub wan_ip {
|
|||
if (!defined $dl{'no-ssl'}){
|
||||
main::set_downloader();
|
||||
}
|
||||
# note: tests: akamai: 0.055 - 0.065 icanhazip.com: 0.177 0.164
|
||||
# smxi: 0.525, so almost 10x slower. Dig is fast too
|
||||
# note: tests: akamai: 0.015 - 0.025 icanhazip.com: 0.020 0.030
|
||||
# smxi: 0.230, so ~10x slower. Dig is not as fast as you'd expect
|
||||
# dig: 0.167s 0.156s
|
||||
# leaving smxi as last test because I know it will always be up.
|
||||
# --wan-ip-url replaces values with user supplied arg
|
||||
# 0.059s: http://whatismyip.akamai.com/
|
||||
# 0.255s: https://get.geojs.io/v1/ip
|
||||
# 0.371s: http://icanhazip.com/
|
||||
# 0.430s: https://smxi.org/opt/ip.php
|
||||
# 0.020s: http://whatismyip.akamai.com/
|
||||
# 0.136s: https://get.geojs.io/v1/ip
|
||||
# 0.024s: http://icanhazip.com/
|
||||
# 0.027s: ifconfig.io
|
||||
# 0.230s: https://smxi.org/opt/ip.php
|
||||
# 0.023s: https://api.ipify.org :: NOTE: hangs, widely variable times, don't use
|
||||
my @urls = (!$wan_url) ? qw(http://whatismyip.akamai.com/
|
||||
http://icanhazip.com/ https://smxi.org/opt/ip.php) : ($wan_url);
|
||||
http://icanhazip.com/ https://smxi.org/opt/ip.php) : ($wan_url);
|
||||
foreach (@urls){
|
||||
$ua = 'ip' if $_ =~ /smxi/;
|
||||
$ip = main::download_file('stdout',$_,'',$ua);
|
||||
|
@ -21904,8 +21933,8 @@ sub set_filters {
|
|||
# mergerfs, mhddfs, overla(id|y)(fs)?, squashfs, unionfs;
|
||||
# ISO/Archive: archive(mount)?, atlas, avfs. borg, erofs, fuse-archive,
|
||||
# fuseiso, gzipfs, iso9660, lofs, vdfuse, wimmountfs, xbfuse
|
||||
# FUSE: adbfs, apfs-fuse, gvfs, gvfs-mtp, ifuse, jmtpfs, mtpfs, ptpfs,
|
||||
# simple-mtpfs, vramfs, xmlfs
|
||||
# FUSE: adbfs, apfs-fuse, atomfs, gvfs, gvfs-mtp, ifuse, jmtpfs, mtpfs, ptpfs,
|
||||
# puzzlefs, simple-mtpfs, vramfs, xmlfs
|
||||
# System fs: cgmfs, configfs, debugfs, devfs, devtmpfs, efivarfs, fdescfs,
|
||||
# hugetlbfs, kernfs, linprocfs, linsysfs, lxcfs, procfs, ptyfs, run,
|
||||
# securityfs, shm, swap, sys, sysfs, tmpfs, tracefs, type, udev, vartmp
|
||||
|
@ -21915,11 +21944,11 @@ sub set_filters {
|
|||
my @all = qw%au av e?crypt enc ero gocrypt i (fuse-?)?iso iso9660 lo merger
|
||||
mhdd overla(id|y) splitview(-?fuse)? squash union xbfuse%;
|
||||
## These are fuse/archive/distributed/remote/clustered mostly
|
||||
my @exclude = (@all,qw%9p (open-?)?a adb archive(mount)? astream atlas
|
||||
my @exclude = (@all,qw%9p (open-?)?a adb archive(mount)? astream atlas atom
|
||||
beeg borg c ceph chiron ci cloudstore curlftp d dav dce
|
||||
g gdrive gfarm git gluster gmail gocrypt google-drive-ocaml gp gphoto gv gzip
|
||||
hd httpd hubic ip juice k(osmos)? .*la lizard lustre magma mapr moose .*mtp
|
||||
null p?n objective oc one orange pan .*ptp pv rclone restic rozo
|
||||
null p?n objective oc one orange pan .*ptp puzzle pv rclone restic rozo
|
||||
s s3 scality sheepdog sp ssh smb v9 vd vm vram weka wim(mount)? xb xml
|
||||
xtreem%);
|
||||
# Various RAM based system FS
|
||||
|
@ -26462,6 +26491,7 @@ sub load_sys_data {
|
|||
$adapter .= '-' . $hwmons{$hwmon}->{'device'};
|
||||
($unit,$value,@values) = ();
|
||||
foreach my $item (@{$hwmons{$hwmon}->{'sensors'}}){
|
||||
next if !defined $item->{'id'};
|
||||
my $name = ($item->{'label'}) ? $item->{'label'}: $item->{'id'};
|
||||
if ($item->{'id'} =~ /^temp/){
|
||||
$unit = 'C';
|
||||
|
@ -31478,8 +31508,9 @@ sub ubuntu_id {
|
|||
my ($id) = ('');
|
||||
# xx.04, xx.10
|
||||
my %codenames = (
|
||||
# '??' => '25.04',
|
||||
# '??' => '24.10',
|
||||
# '??' => '24.04 LTS',
|
||||
'noble' => '24.04 LTS',
|
||||
'mantic' => '23.10',
|
||||
'lunar' => '23.04',
|
||||
'kinetic' => '22.10',
|
||||
|
@ -36041,12 +36072,16 @@ sub process_power {
|
|||
}
|
||||
}
|
||||
|
||||
# note: seen instance in android where reading file hangs endlessly!!!
|
||||
# note: seen android instance where reading file wakeup_count hangs endlessly.
|
||||
# Some systems also report > 1 wakeup events per wakeup with
|
||||
# /sys/power/wakeup_count, thus, we are using /sys/power/suspend_stats/success
|
||||
# which does not appear to have that issue.
|
||||
sub get_wakeups {
|
||||
eval $start if $b_log;
|
||||
return if %risc;
|
||||
my ($wakeups);
|
||||
my $path = '/sys/power/wakeup_count';
|
||||
my ($path,$wakeups);
|
||||
# this increments on suspend, but you can't see it until wake, numbers work.
|
||||
$path = '/sys/power/suspend_stats/success';
|
||||
$wakeups = reader($path,'strip',0) if -r $path;
|
||||
eval $end if $b_log;
|
||||
return $wakeups;
|
||||
|
|
2
inxi.1
2
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 "2023\-09\-25" "inxi" "inxi manual"
|
||||
.TH INXI 1 "2023\-10\-31" "inxi" "inxi manual"
|
||||
|
||||
.SH NAME
|
||||
inxi \- Command line system information script for console and IRC
|
||||
|
|
143
inxi.changelog
143
inxi.changelog
|
@ -1,3 +1,146 @@
|
|||
================================================================================
|
||||
Version: 3.3.31
|
||||
Patch: 00
|
||||
Date: 2023-10-31
|
||||
--------------------------------------------------------------------------------
|
||||
RELEASE NOTES:
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Packagers: remember, inxi repos and issue reports are now on codeberg.org - make
|
||||
sure to change your package scripts and URLs. Github will be mirrored for inxi
|
||||
for a little bit more, maybe I will extend it one more quarter depending, but
|
||||
source repos should be changed.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
A small point release, mainly for fixes and bugs, plus a few minor matching
|
||||
table updates. Also some core tools updates, which make supporting gpu devices
|
||||
easier over time, particularly nvidia ones. Also some gpu data updates, new
|
||||
nvidia 545, which was unexpected, came out, extending the time to next legacy by
|
||||
some months.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
SPECIAL THANKS:
|
||||
|
||||
1. GRAPHICS: GPU DATA: codeberg user malcolmlewis who also posted both the first
|
||||
pinxi issue, and the first codeberg issue. I had not thought nvidia would forget
|
||||
to add their own device IDs to their lists, but they did. This prompted an
|
||||
upgrade to the gpu_raw.pl/gpu_ids.pl to better handle manual add files for
|
||||
Nvidia, as well as better overall consistency for gpu data files and processing.
|
||||
|
||||
2. SYSTEM: Wakeups: Mint user senjoz for alerting me to the well done but
|
||||
unfortunately localized to mint forums report on the wrong wakeup count report,
|
||||
because the data source was not what I thought it was.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
KNOWN ISSUES:
|
||||
|
||||
1. Any distro forum person who finds issues related to inxi maybe being wrong or
|
||||
operating from false assumptions in terms of data sources should ideally find a
|
||||
way to report these issues directly, either via a codeberg issue, an email, or
|
||||
something else. It's not possible or practical to track every forum that uses
|
||||
inxi to debug user issues, so if members of those forums can be more proactive
|
||||
in terms of sending what appear to be valid issue reports to the inxi project,
|
||||
that will help a lot.
|
||||
|
||||
2. GRAPHICS: GPU: no data for things like Biren and other non AMD/Intel/Nvidia
|
||||
GPUs. If you are into GPUs, by all means, help us out here!
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
BUGS:
|
||||
|
||||
1. INFO: main::get_wakeups(): I'd say that despite in the past largely being
|
||||
correct, using /sys/power/wakeup_count is a bug, but a bug that is excusable
|
||||
because the docs are just too opaque about what this thing actually refers to.
|
||||
My assumption re its meaning was clearly wrong.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
FIXES:
|
||||
|
||||
1. INFO: main::get_wakeups(): Issue reported via a Mint forum posting which I
|
||||
was alerted to.
|
||||
|
||||
https://forums.linuxmint.com/viewtopic.php?p=2378107#p2378107
|
||||
|
||||
This would have made it into inxi 3.3.30 easily since the patch is changing file
|
||||
name, but I unfortunetly did not become aware of it until right after the
|
||||
release, On my system, for example, with systemctl suspend instead of the not
|
||||
working xfce suspend from gui, I get 7 wakeup_count type events counted for each
|
||||
suspend event. On another system I have, almost same everything, except fully
|
||||
functioning xfce suspend feature, the success and wakeup_counts are matched.
|
||||
|
||||
I found a value of 49000+ digging through my datasets, and I can find no
|
||||
pattern, nor can I find this clearly documented, so the behavior is simply going
|
||||
to be use the value, including 0, from /sys/power/suspend_stats/success and
|
||||
using it if it is defined, and getting rid of /sys/power/wakeup_count completely
|
||||
as a data source, which I am now no longer sure at all about the meaning of. 1
|
||||
of my systems has 7 events per resume, one, almost the same setup, has 1.
|
||||
|
||||
2. GRAPHICS: GPU DATA: Many nvidia fixes, device ID lists updated and corrected.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ENHANCEMENTS:
|
||||
|
||||
1a. PARTITIONS: added puzzlefs, atomfs to excludes. It's unclear, but both sound
|
||||
like they are like isofs or something like that.
|
||||
|
||||
2a. GRAPHICS: GPU DATA: added Nvidia Pascal, Hopper, Lovelace device IDs. See
|
||||
Code 1 for fixes to detections. Added AMD, Intel newer GPU IDs, going with Code
|
||||
1 and GPU data fixes.
|
||||
|
||||
2b. GRAPHICS: GPU DATA: updated lists, added Nvidia current EOL data, added
|
||||
newer kernel/X.org last supported. Added two more memssage types for current,
|
||||
legacy messages. Found a site that lists EOL for the drivers, that helps.
|
||||
|
||||
2c. GRAPHICS: GPU_DATA: added new 545 driver IDs, updated nv current to 545
|
||||
|
||||
3. SYSTEM: Distro: Added ubuntu noble 24.04 system base ID.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
CHANGES:
|
||||
|
||||
1. DATA: pinxi/tools/lists: made file names consistent for gpu data types.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
DOCUMENTATION:
|
||||
|
||||
1. DOCS: docs/inxi-graphics.txt, docs/inxi-partitions.txt - ongoing updates for
|
||||
features. More GPU data added, new file system types.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
CODE:
|
||||
|
||||
1a. GRAPHICS: GPU DATA: pinxi/tools/gpu_raw.pl, pinxi/tools/gpu_ids.pl. Upgraded
|
||||
to enable basic manual additions to nvidia drivers. Also fixed detections for
|
||||
Hopper and Lovelace, those were too tight and I missed some device IDs there.
|
||||
|
||||
Redid tools/gpu_raw.pl and gpu_ids.pl to have the more predictable file names.
|
||||
|
||||
Also changed the file names to be consistent for nv data in pinxi/tools/lists/
|
||||
gpu.[amd|intel].full
|
||||
gpu.[amd|intel].full.sorted
|
||||
gpu.[amd|intel].manual
|
||||
gpu.amd.github
|
||||
gpu.intel.com
|
||||
gpu.nv.[driver].full
|
||||
gpu.nv.[driver].full.sorted
|
||||
gpu.nv.[driver].manual
|
||||
gpu.nv.[driver].raw
|
||||
|
||||
This let me bring all the lists up to date, and some manual fixes added in to
|
||||
some driver sets.
|
||||
|
||||
1b. GRAPHICS: GPU_DATA: pinxi/tools/gpu_ids.pl - updated for Nvidia: new
|
||||
messages, current eol, filled out legacy drivers with their eol based on last
|
||||
nvidia driver release date.
|
||||
|
||||
2. CORE: there were some pointless globals being used, as part of the overall
|
||||
effort to get rid of globals where sensible, else move them into hashes/arrays,
|
||||
makes code easier to maintain long term.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Harald Hope - Tue, 31 Oct 2023 13:08:12 -0700
|
||||
|
||||
================================================================================
|
||||
Version: 3.3.30
|
||||
Patch: 00
|
||||
|
|
Loading…
Add table
Reference in a new issue