Welcome!
Forum users

Current releases
--MX-23 release info here
--Migration information to MX-23 here
--antiX-23.1 (Arditi del Popolo) release info here

Important information
--If in starting your system it boots to an unwanted Desktop, right click desktop, then select leave and logout. At the
login screen there is a session chooser at the top of the screen.

News
-- MX Linux on social media: here
-- New Forum Features, Marking Solved and Referencing a User: here

inxi / pinxi 2.9.00 beta testers!

Post Reply
Message
Author
User avatar
h2-1
Posts: 208
Joined: Sat Nov 15, 2008 3:16 pm

inxi / pinxi 2.9.00 beta testers!

#1 Post by h2-1 »

I've been working the last few months on the new inxi 3.0.0 release, which is a massive change.

Change one is inxi is moving from Gawk->Bash to Perl 5.x. Tested on Perl 5.08 to current 5.26. Design requirements remain the same: inxi 3.0.0 must run on everything anywhere no matter how old, which for Perl means 5.08 is the oldest realistic Perl release.

For development purposes, inxi 2.9.00 is called pinxi, so that inxi and pinxi can be run next to each other easily on the same system. I refer to bash/gawk inxi as binxi to avoid confusion.

To download and run pinxi:

Code: Select all

wget -O /usr/local/bin/pinxi https://github.com/smxi/inxi/raw/inxi-perl/pinxi
chmod +x /usr/local/bin/pinxi
Once installed, you can update to latest patch release: pinxi -U

inxi-perl branch home page:
https://github.com/smxi/inxi/tree/inxi-perl

I have only a few things more to do, so I thought I'd get some beta testers, if any are around, now.

Unlike other projects who release the new major version in a raw alpha state condition, pinxi won't be released as inxi 3.0.0 until it is at least feature complete and bugless re inxi 2.3.56.

Note that essentially everything in pinxi has been changed, it's much faster than binxi, from around 50% to 400%, depending on the feature being run and the hardware.

it's also maintainable, and debuggable, which binxi is not. I'd received a few issue reports for various features that I literally could not do with the convoluted data structures I had to use to make gawk talk to bash, but those were fairly easy to resolve in Perl.

All the basic args are the same, plus they all have long forms now, and there are several new options, like --slots (pci slots); --usb, along with more customizable features, and better configuration options.

One of the biggest problems with binxi was the line width logic, which was just a bad hack that was super hard to do, the new pinxi has very smart width handlers, and also uses some space optimizations for narrow screens, so 80 column widths 'just work'.

To give an idea of the speed difference of the line printers, you can run

Code: Select all

time inxi --help
real   0m1.537s
user   0m0.828s
sys   0m0.529s

vs
time pinxi --help
real   0m0.382s
user   0m0.337s
sys   0m0.071s
I may do some more internal speed optimizations, I did a lot earlier in the process, and I may do more once I have the stuff feature complete.

Note the following:

pinxi will support json/xml output options, the internal data logic is there, but the output feature isn't built yet.

pinxi will support language packs, for much of its output strings, that's been designed in, but is not yet implemented, mainly because I want to stabilize the key/value sets so I know what the translator would need. Basically people interested in providing such language support would use a template language.pl file, which would have all the values possible to translate. Pinxi was designed from the start with this potential in mind, something that was totally impossible to do with binxi.

Main signs of bugs:
A spray of 'undefined $val1' errors. I have left this in on purpose because it shows me where I've failed to properly test data being sent to the printer. That error will occur right before the line, and you'll probably see a blank item in one of the values for the keys of that line, which would tell me where the error happened.

The debugger is likewise enhanced.

Visually the main difference you'll see is most places where data was appended like key: something (extra) the (extra) has been moved to a dedicated key value pair, so it would be like so: key1: something key2: extra

This is required for reasonable json / xml output, plus it's more clear.

All actual bugs will be show stoppers for the 3.0.0 inxi release, since I will follow the debian stable strategy of fixing all bugs before, NOT after, release, which is the way all software should be released in my opinion.

I've tested this on FreeBSD so most issues are resolved, but I don't have full access to bsds, can't for example read dmesg.boot data so there's a real restriction on what I can test for and debug.

BSD support is significantly enhanced, and all features have at least stubs for possible future bsd support. I've also discovered that at least OpenBSD and DragonFlyBSD support non root battery, sensors, and hardware data. Those stubs will be completed at some point, but since none of that works now in binxi, I don't consider those show stoppers, though I may end up fixing them if I can get access to bsds that have those values in sysctl -a or from some other source.

As always, feedback, issues, bugs, all are appreciated. My goal is to have a seamless pinxi -> inxi release.

User config files do not require any changes, and use the same syntax as binxi, so nothing has to be changed there, though there are many new config options available, those are still not documented on smxi.org/docs/ but soon will be.

Current pinxi 2.9 man page:
https://smxi.org/docs/inxi-man.htm

Current pinxi 2.9 options:
https://smxi.org/docs/inxi-options.htm

I'm looking to get this completed quickly because I've been working on it way too long, and have to get back to other things, but I will certainly fix all issues before 3.0.0 is released.

On an advanced level, I've been using Perl execution optimizers, which allow nano second analysis of the program execution, and basically what it comes down to is that about 90% of pinxi execution time is caused by running subshells for commands (and the initial import of a few core Perl modules), reading files is 10 x 30x faster, and reading ram data is of course fastest. Perl itself is insanely fast, so there's a limit on how much I can really gain in pinxi re speed by optimizing the perl itself, the real win is getting rid of any unneeded subshell execution and replacing it with a file read or something like that. The worst culprits so far are lsusb, which is almost comically slow, though I have to recheck the stuff to find what new optimizations might be called for.

Note you can run --sleep 0.1 or --sleep 0 to get rid of the CPU pause prior to getting cpu speeds, the current delay is I think 0.35 seconds, which usually lets most systems spin down enough to reflect non pinxi cpu speed state.

pinxi --recommends will show what needs what. That's also completely redone, and much improved, since now it does not show GNU/Linux users BSD options, and it doesn't show BSD users Linux only options. Basically except for perl 5.08 or newer, pinxi has no dependencies, just recommends. though for best WAN IP speeds, I do strongly recommend installing dig. Package install advice is also enhanced, and now only shows for the package manager present.

pinxi uses only core Perl modules for its main features, though it will use a json and xml module probably for export, but that will only matter for users who want to export the data.
Last edited by h2-1 on Mon Mar 05, 2018 8:57 pm, edited 2 times in total.
smxi/sgfxi site (manuals, how-to's, faqs) :: script forums :: Check out inxi sys info script!

User avatar
Jerry3904
Administrator
Posts: 21859
Joined: Wed Jul 19, 2006 6:13 am

Re: inxi / pinxi 2.9.00 beta testers!

#2 Post by Jerry3904 »

Great work, looking forward to seeing it.

Downloaded it without problem, but the update command was unknown, no matter whether I used sudo or not.
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox and Windows 10
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
h2-1
Posts: 208
Joined: Sat Nov 15, 2008 3:16 pm

Re: inxi / pinxi 2.9.00 beta testers!

#3 Post by h2-1 »

pinxi -U works. unless you found a bug!! which is what I'm looking for, of course. Well, ideally I and others have found most, but that's what beta tests are for.

Note that -U can't be unknown, so you may have mistyped iyped it, but I'm looking for things I haven't seen, so this is certainly one if there is no typo.

Oh, wait, no, that's actually one of the questions i have:

try this: pinxi -U --alt 40

I've had this issue on one system, and I don't know the cause. Basically the pinxi downloader uses:

perl HTTP::Tiny as option 1, curl as option 2, wget as option 3, and some bsd stuff as option 4.

--alt 40 skips perl as an option.

One of my questions is in fact if I should change the defaults. Only the connection to github creates this issue by the way, other downloads, like IP, don't have any problems.

I think I may ask the perl monks if anyone knows why HTTP::Tiny fails in this single case on certain systems.
Last edited by h2-1 on Mon Mar 05, 2018 8:49 pm, edited 1 time in total.
smxi/sgfxi site (manuals, how-to's, faqs) :: script forums :: Check out inxi sys info script!

User avatar
Jerry3904
Administrator
Posts: 21859
Joined: Wed Jul 19, 2006 6:13 am

Re: inxi / pinxi 2.9.00 beta testers!

#4 Post by Jerry3904 »

Aha! and man inxi works:

Code: Select all

$ sudo inxi -U --alt 40
Starting inxi self updater.
Currently running inxi version number: 2.3.54
Current version patch number: 00
Current version release date: 2018-01-13
Updating inxi in /usr/local/bin using source server as download source...
Successfully updated to source server version: 2.3.56
New source server version patch number: 00
New source server version release date: 2018-02-26
To run the new version, just start inxi again.
----------------------------------------
Starting download of man page file now.
Checking Man page download URL...
Downloading Man page file now.
Download/install of man page successful. Check to make sure it works: man inxi
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox and Windows 10
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
h2-1
Posts: 208
Joined: Sat Nov 15, 2008 3:16 pm

Re: inxi / pinxi 2.9.00 beta testers!

#5 Post by h2-1 »

My fault, I put the wrong path in -O, I've updated.

should have been: -O /usr/local/bin/pinxi

What I've noticed for quite awhile working on pinxi is that when I run inxi, I think it's broken, which is a good sign, it means that so many things are fixed in pinxi that inxi looks slightly off and wrong in comparison.
Last edited by h2-1 on Mon Mar 05, 2018 8:54 pm, edited 1 time in total.
smxi/sgfxi site (manuals, how-to's, faqs) :: script forums :: Check out inxi sys info script!

User avatar
Jerry3904
Administrator
Posts: 21859
Joined: Wed Jul 19, 2006 6:13 am

Re: inxi / pinxi 2.9.00 beta testers!

#6 Post by Jerry3904 »

Tried that first:

Code: Select all

$ sudo pinxi -U --alt 40
[sudo] password for jb: 
sudo: pinxi: command not found
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox and Windows 10
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
h2-1
Posts: 208
Joined: Sat Nov 15, 2008 3:16 pm

Re: inxi / pinxi 2.9.00 beta testers!

#7 Post by h2-1 »

it's because it's not in path, it is somewhere, but not in /usr/local/bin

it's in the directory you ran the command in, that was my fault, sorry.

just run: wget -O /usr/local/bin/pinxi https://github.com/smxi/inxi/raw/inxi-perl/pinxi
then chmod +x /usr/local/bin/pinxi and you'll be good.

You can install the man page, but you have to do it manually.
smxi/sgfxi site (manuals, how-to's, faqs) :: script forums :: Check out inxi sys info script!

User avatar
Jerry3904
Administrator
Posts: 21859
Joined: Wed Jul 19, 2006 6:13 am

Re: inxi / pinxi 2.9.00 beta testers!

#8 Post by Jerry3904 »

Yup

Code: Select all

$ sudo pinxi -U --alt 40
Made: /home/jb/.local/share/pinxi
Argument "" isn't numeric in numeric gt (>) at /usr/local/bin/pinxi line 2786.
Starting pinxi self updater.
Using curl as downloader.
Currently running pinxi version number: 2.9.00
Current version patch number: 341-p
Current version release date: 2018-03-05
Updating pinxi in /usr/local/bin using pinxi branch as download source...
Successfully updated to pinxi branch version: 2.9.00;
New pinxi branch version patch number: 341-p;
New pinxi branch version release date: 2018-03-05;
To run the new version, just start pinxi; again.
----------------------------------------

Starting download of man page file now.
Skipping man download because branch version is being used.
jb@EB6930p:~
$ pinxi
CPU: Dual Core Intel Core2 Duo T9550 (-MCP-) speed/min/max: 798/800/2667 MHz Kernel: 4.14.0-3-amd64 x86_64 
Up: 4 min Mem: 700.6/3785.4 MB (18.5%) HDD: 763.85 GB (1.4% used) Procs: 180 Shell: bash 4.4.12 
pinxi: 2.9.00-341-p 
Nice.
Production: 5.10, MX-23 Xfce, AMD FX-4130 Quad-Core, GeForce GT 630/PCIe/SSE2, 16 GB, SSD 120 GB, Data 1TB
Personal: Lenovo X1 Carbon with MX-23 Fluxbox and Windows 10
Other: Raspberry Pi 5 with MX-23 Xfce Raspberry Pi Respin

User avatar
kmathern
Developer
Posts: 2398
Joined: Wed Jul 12, 2006 2:26 pm

Re: inxi / pinxi 2.9.00 beta testers!

#9 Post by kmathern »

Is this a bug?
$ su -c 'pinxi -U'
Password:
Made: /root/.local/share/pinxi
Argument "" isn't numeric in numeric gt (>) at /usr/local/bin/pinxi line 2786.
Starting pinxi self updater.
Using tiny as downloader.
Currently running pinxi version number: 2.9.00
Current version patch number: 341-p
Current version release date: 2018-03-05
Updating pinxi in /usr/local/bin using pinxi branch as download source...
Successfully updated to pinxi branch version: 2.9.00;
New pinxi branch version patch number: 341-p;
New pinxi branch version release date: 2018-03-05;
To run the new version, just start pinxi; again.
----------------------------------------

Starting download of man page file now.
Skipping man download because branch version is being used.
kent@mx1:~

User avatar
richb
Administrator
Posts: 10306
Joined: Wed Jul 12, 2006 2:17 pm

Re: inxi / pinxi 2.9.00 beta testers!

#10 Post by richb »

Running pinxi -F error in the audio section.

Code: Select all

Audio:     Card-1: Advanced Micro Devices [AMD/ATI] Kaveri HDMI/DP Audio Controller 
           driver: snd_hda_intel 
           Card-2: Advanced Micro Devices [AMD] FCH Azalia Controller driver: snd_hda_intel 
           Sound Server: ALSA v: k4.15.0-1-amd64 
Use of uninitialized value $data1 in substitution (s///) at /usr/local/bin/pinxi line 7860.
Use of uninitialized value $data2 in substitution (s///) at /usr/local/bin/pinxi line 7863.
Use of uninitialized value $data2 in string eq at /usr/local/bin/pinxi line 7865.
Forum Rules
Guide - How to Ask for Help

richb Administrator
System: MX 23 KDE
AMD A8 7600 FM2+ CPU R7 Graphics, 16 GIG Mem. Three Samsung EVO SSD's 250 GB

Post Reply

Return to “antiX”