AVX check before start

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
User avatar
Pentium4User
Board Warrior
Board Warrior
Posts: 1327
Joined: 2019-04-24, 09:38

AVX check before start

Unread post by Pentium4User » 2024-09-07, 14:12

Hello!

As we have already seen some threads about users without AVX capable processors failing to start PM, would it be a big problem to test AVX availability before starting PM and if it is not available, print an error message?

--
kind regards
Marco
The profile picture shows my Maico EC30 E ceiling fan.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37762
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: AVX check before start

Unread post by Moonchild » 2024-09-07, 15:53

This isn't possible because the executable is compiled against AVX instructions, and will require AVX to start up. Any check for AVX would have to occur before the AVX executable is started. Obviously that isn't possible.

I've already gone out of my way to ensure people aren't served a version that can't run through the updater. There's no way we can check all other ways people decide to install and run Pale Moon. We just need to keep informing people who decide not to read anything before they install software, or decide to run the risk of incompatibilities through 3rd party software updaters.

As an aside, it is particular that more than a few of the people complaining about it seem to also not read forum rules regarding user names and (temporary) e-mails. :think:
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
moonbat
Knows the dark side
Knows the dark side
Posts: 5605
Joined: 2015-12-09, 15:45

Re: AVX check before start

Unread post by moonbat » 2024-09-08, 04:43

Use a tool like CPU-X (or its Windows equivalent) for detailed CPU info, including supported instruction sets.
CPU info Ryzen 7.png
You do not have the required permissions to view the files attached to this post.
"One hosts to look them up, one DNS to find them and in the darkness BIND them."

Image
KDE Neon on a Slimbook Excalibur (Ryzen 7 8845HS, 64 GB RAM)
AutoPageColor|PermissionsPlus|PMPlayer|Pure URL|RecordRewind|TextFX
Jabber: moonbat@hot-chili.net

User avatar
andyprough
Board Warrior
Board Warrior
Posts: 1118
Joined: 2020-05-31, 04:33

Re: AVX check before start

Unread post by andyprough » 2024-09-08, 05:15

moonbat wrote:
2024-09-08, 04:43
Use a tool like CPU-X (or its Windows equivalent) for detailed CPU info, including supported instruction sets.
The 'lscpu' command will tell you a lot about your cpu also.

A terminal command like

Code: Select all

lscpu | grep avx
will highlight if your cpu has any avx or avx2 flags.

For example, here's avx and avx2 highlighted:
2024-09-08_00-11.jpg
You do not have the required permissions to view the files attached to this post.

User avatar
suzyne
Astronaut
Astronaut
Posts: 736
Joined: 2023-06-28, 22:43
Location: Australia

Re: AVX check before start

Unread post by suzyne » 2024-09-08, 06:39

I use Speccy that I downloaded from PortableApps.com to get this type of information (and a huge amount of other details) for my Windows laptops.

Image
Laptop 1: Windows 11 64-bit, i7 @ 2.80GHz, 16GB, NVIDIA GeForce MX450.
Laptop 2: Windows 10 32-bit, Atom Z3735F @ 1.33GHz, 2GB, Intel HD Graphics.
Laptop 3: Linux Mint 20.3 64-bit, i5 @ 2.5GHz, 8GB, Intel HD Graphics 620.

User avatar
Pentium4User
Board Warrior
Board Warrior
Posts: 1327
Joined: 2019-04-24, 09:38

Re: AVX check before start

Unread post by Pentium4User » 2024-09-08, 09:31

The idea behind that was to provide a mechanism to notify users that don't know about the AVX topic.
AS MC turned out, this would be hard to implement.

Just because I am curious:
Wouldn't it be possible to attach assembler code to the executable that doesn't use AVX instructions that checks for the capabilities?
I know this won't be implemented, but technically should be possible.
The profile picture shows my Maico EC30 E ceiling fan.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37762
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: AVX check before start

Unread post by Moonchild » 2024-09-08, 09:47

It's technically possible to do so, but would require tailor-crafted solutions for each O.S. (Windows PE and POSIX/ELF are totally different beasts. I don't even know what Mac or BSDs would do...), would need some less portable executable code to "glue on" the check after compilation, and in general is a can of worms that will very likely also make every AV suite triggered from here to the end of the universe.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
RealityRipple
Keeps coming back
Keeps coming back
Posts: 862
Joined: 2018-05-17, 02:34
Location: Los Berros Canyon, California

Re: AVX check before start

Unread post by RealityRipple » 2024-09-08, 12:35

I think the best you can hope to do is make the Windows installer do the checking, as SSE2 in bug #1271759. And of course, that doesn't help anyone on the other OSs.

Lucio Chiappetti
Keeps coming back
Keeps coming back
Posts: 774
Joined: 2014-09-01, 15:11
Location: Milan Italy

Re: AVX check before start

Unread post by Lucio Chiappetti » 2024-09-08, 13:11

I remember when I long long ago first installed Pale Moon on Linux (I always installed from tarball ... now I use the updater) there was a page on system requirements, which I checked.
I searched for it now and found, perhaps somehow hidden, this https://www.palemoon.org/systemrequirements.shtml.
Could the page be given more emphasis so that a downloader is ... strongly pushed to read it :D ?
And also adding some hints how to check critical requirements ?

This of course won't protect against sloppy users, or those who download from other sitrs/repos. :mrgreen:
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37762
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: AVX check before start

Unread post by Moonchild » 2024-09-08, 13:46

It's not hidden at all; not sure what you're talking about.
It's linked to from the home page and download page in prominent locations.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2415
Joined: 2018-05-05, 13:29

Re: AVX check before start

Unread post by vannilla » 2024-09-08, 14:34

RealityRipple wrote:
2024-09-08, 12:35
I think the best you can hope to do is make the Windows installer do the checking, as SSE2 in bug #1271759. And of course, that doesn't help anyone on the other OSs.
Package managers usually have some "preinst" hook where they can do some stuff like modifying the filesystem.
It should be possible to run something like lscpu there and have the manager error out, maybe displaying a message to let users know about alternative builds for their processor. It's a little bit fragile, but it can work.
The tarball can't do this since it would require running a command during unpacking, which is obviously impossible.

Lucio Chiappetti
Keeps coming back
Keeps coming back
Posts: 774
Joined: 2014-09-01, 15:11
Location: Milan Italy

Re: AVX check before start

Unread post by Lucio Chiappetti » 2024-09-08, 15:41

Moonchild wrote:
2024-09-08, 13:46
It's not hidden at all; not sure what you're talking about.
It's linked to from the home page and download page in prominent locations.
I meant it is not highlighted in any particular way (compare the "download now" button) with respect to normal text and links. I remembered such a page existed, but I did not re-discover it at first glance (actually, in the home page only after you mentioned it). Maybe if it were inverse video red blinking :D more people will read it (and not complain on the forum later). Or if users are forced to pass through the page and click "OK I've read it" before downloading.
Or maybe that will have effect only on 5% of "lusers" and is not worth the change.

Edit: Read your reply below, and of course you are master and commander :thumbup:
Last edited by Lucio Chiappetti on 2024-09-08, 18:02, edited 1 time in total.
The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man. (G.B. Shaw)

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 37762
Joined: 2011-08-28, 17:27
Location: Motala, SE

Re: AVX check before start

Unread post by Moonchild » 2024-09-08, 16:37

It's listed in the release notes, and explicitly mentioned in the news blurb on on the home page too that system requirements changed. System requirements are linked on the home page and on the download page at the very top, and the change was announced several times through all channels before release.
I'm sorry but I can't fix people skipping all that, and I won't make a scary button or graphic because then we'd get all the hordes of people on non-ancient systems who panic.
On top, people on sufficiently old machines are also much more likely to run Win 32-bit which isn't impacted.

I'm not going to change it for the small handful of people who wouldn't read anyway. If it was a big issue, the forum would have exploded last month.
"A dead end street is a place to turn around and go into a new direction" - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite