Defaulting to AVX for 64-bit architectures?
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.
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.
-
RealityRipple
- Keeps coming back

- Posts: 891
- Joined: 2018-05-17, 02:34
- Location: Los Berros Canyon, California
Re: Defaulting to AVX for 64-bit architectures?
I guess the best test case would be to install an AVX2 build for a long period of time and then step down to AVX for some span of time, then back down to the official release, and see if anything runs worse, since that's usually the easiest thing to notice.
-
andyprough
- Board Warrior

- Posts: 1182
- Joined: 2020-05-31, 04:33
Re: Defaulting to AVX for 64-bit architectures?
Why don't you just elevate @nuck-TH's AVX/AVX2 builds to the main Downloads page, call the AVX builds the "default", put a note on the others that they are SSE2 or AVX2 or whatever and set them apart in their own section, and leave everything else the same? Then you'll have old and new cpu's covered. With the same amount of work you are doing now.
-
Moonchild
- Pale Moon guru

- Posts: 38382
- Joined: 2011-08-28, 17:27
- Location: Motala, SE
Re: Defaulting to AVX for 64-bit architectures?
It's not that simple because of updates. People on the current builds will NOT migrate to an AVX version in that case.andyprough wrote: ↑2024-03-03, 21:20Why don't you just elevate @nuck-TH's AVX/AVX2 builds to the main Downloads page
I want to keep mainline a single version with a single update channel.
In addition, Nuck-TH's builds aren't code-signed, so I'd have to build them myself anyway if I want that (and I do).
Ultimately, if the user base isn't ready for this, then it'll remain the way it is for now.
"There is no point in arguing with an idiot, because then you're both idiots." - Anonymous
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
-
Piotr Kostrzewski
- Lunatic

- Posts: 309
- Joined: 2018-08-14, 15:08
-
andyprough
- Board Warrior

- Posts: 1182
- Joined: 2020-05-31, 04:33
Re: Defaulting to AVX for 64-bit architectures?
Maybe you could take over AVX or AVX2 as mainline and @Nuck-TH would be willing to keep building the one you don't take plus SSE2 on the third party builds page. It would be a win for everyone - @Nuck-TH would have given AVX or AVX2 enough exposure to move it up to mainline and we'd still have access to the others when needed.Moonchild wrote: ↑2024-03-03, 22:28It's not that simple because of updates. People on the current builds will NOT migrate to an AVX version in that case.
I want to keep mainline a single version with a single update channel.
In addition, Nuck-TH's builds aren't code-signed, so I'd have to build them myself anyway if I want that (and I do).
Ultimately, if the user base isn't ready for this, then it'll remain the way it is for now.
I like the idea of moving mainline to AVX2 for performance, but I do still use some ancient laptops for when I go on a road trip because then if the laptop gets stolen or damaged I don't lose anything important.
-
Night Wing
- Knows the dark side

- Posts: 5536
- Joined: 2011-10-03, 10:19
- Location: Piney Woods of Southeast Texas, USA
Re: Defaulting to AVX for 64-bit architectures?
With the 4, 64 bit computers I own (2 desktop towers, 2 laptops); the 2, 14" HP laptops (dv4-5113cl-mine, dv4-5213cl-wife's) are used for traveling. So if these two laptops will no longer run linux Pale Moon, I would "not" get rid of these two laptops. Both laptops are fast (in my opinion).andyprough wrote: ↑2024-03-03, 22:51
I like the idea of moving mainline to AVX2 for performance, but I do still use some ancient laptops for when I go on a road trip because then if the laptop gets stolen or damaged I don't lose anything important.
I would just use Waterfox (default) and Firefox (backup) on them for the three linux distros I now use (Mint, MX Linux, Debian).
MX Linux 23.6 (Libretto) Xfce w/Pale Moon, Waterfox, Firefox
Linux Debian 13.1 (Trixie) Xfce w/Pale Moon, Waterfox, Firefox
Linux Debian 13.1 (Trixie) Xfce w/Pale Moon, Waterfox, Firefox
-
suzyne
- Keeps coming back

- Posts: 782
- Joined: 2023-06-28, 22:43
- Location: Australia
Re: Defaulting to AVX for 64-bit architectures?
If the status quo is maintained, this really needs to go.

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.
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.
-
athenian200
- Contributing developer

- Posts: 1619
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Defaulting to AVX for 64-bit architectures?
Yeah, I suspect it's evenly divided in roughly the way you expected when you made the poll... the fact is, our project tends to attract people who don't upgrade their hardware very often, and I worry that if we discontinue the SSE2 builds completely, we'll have a lot of angry users on underpowered CPUs grabbing the pitchforks. But ultimately, it's one of those decision points... is Pale Moon just going to be a project that focuses on supporting old stuff, or are we really going to move forwards? Can we even do that without alienating a large chunk of our potential userbase? I don't think we can. Every time we move forward, we do inevitably lose some people whose needs and preferences have become too burdensome to support. But in the past, we have moved forward regardless in these situations.
I think the best solution would be to convince someone to unofficially do SSE2 builds like we're doing now, to give those users an escape route while we move to something newer for the official builds and the update channel. Otherwise, we'll be stuck on SSE2 forever, and it sends the signal that we're not interested in moving forward. It's worth noting that Ubuntu and RHEL 10 are going to require x86_64-v3 pretty soon, and the baseline for that is AVX2 pretty much. It's getting to the point that pre-AVX is what 32-bit used to be, with only distros like Debian caring about it anymore.
I don't think we should delay the adoption of AVX much past the end of 2025, which is when all the new operating systems with AVX2 as a baseline will start launching. There's always going to be a reason not to do this... it wasn't that long ago we had a guy here who said he wanted to do SSE-only builds for Athlon XP and Pentium III processors. Those people who insist on running ancient hardware will never go away, and they'll always be attracted to Pale Moon because it has an "old-school" vibe. We can't just wait around hoping that they will go away so we can move forwards. Remember, AVX is almost 14 years old at this point, with even AVX2 being nearly 10 years old. It feels like time has stopped in the early 2010s in terms of what people expect us to support sometimes, like no one wants to acknowledge anything past that point as necessary. Like, has 20-year old tech become the new 5-year old tech?
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind
-
andyprough
- Board Warrior

- Posts: 1182
- Joined: 2020-05-31, 04:33
Re: Defaulting to AVX for 64-bit architectures?
Probably true, seems like a lot of people love the older look. For me it's just a better overall web experience on the 2023 laptop I'm using at work to the 2018 laptop I use in the home office all the way down to the pre- 2010 laptops I take on some of those road trips. I care zero about looks and 100% about performance and resource usage, so the AVX2 by default with SSE2 on the third party page would work great for me.athenian200 wrote: ↑2024-03-03, 23:20Those people who insist on running ancient hardware will never go away, and they'll always be attracted to Pale Moon because it has an "old-school" vibe.
-
Eduardolucas1
- Apollo supporter

- Posts: 43
- Joined: 2024-02-05, 03:15
Re: Defaulting to AVX for 64-bit architectures?
If the "performance first" is adopted, the "balance between" of pale moon browser description needs to go.
-
suzyne
- Keeps coming back

- Posts: 782
- Joined: 2023-06-28, 22:43
- Location: Australia
Re: Defaulting to AVX for 64-bit architectures?
I am not sure about that because the balance mentioned there is about web standards and API's not whether older hardware is going to be supported forever?Eduardolucas1 wrote: ↑2024-03-04, 01:00If the "performance first" is adopted, the "balance between" of pale moon browser description needs to go.
It frustrates me that the first and most prominent bullet point of the home page is totally unfounded. It might have been true back in whenever Pale Moon was leading the way in supporting new processors, but now it just reads like a website that is neglected and nobody cares that it's not 2013 anymore.
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.
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.
-
Eduardolucas1
- Apollo supporter

- Posts: 43
- Joined: 2024-02-05, 03:15
Re: Defaulting to AVX for 64-bit architectures?
Should we drop early core i3-i7 processors? They are pretty old.suzyne wrote: ↑2024-03-04, 01:44I am not sure about that because the balance mentioned there is about web standards and API's not whether older hardware is going to be supported forever?Eduardolucas1 wrote: ↑2024-03-04, 01:00If the "performance first" is adopted, the "balance between" of pale moon browser description needs to go.
It frustrates me that the first and most prominent bullet point of the home page is totally unfounded. It might have been true back in whenever Pale Moon was leading the way in supporting new processors, but now it just reads like a website that is neglected and nobody cares that it's not 2013 anymore.
-
suzyne
- Keeps coming back

- Posts: 782
- Joined: 2023-06-28, 22:43
- Location: Australia
Re: Defaulting to AVX for 64-bit architectures?
My opinion doesn't matter and that's partially what the poll is for, to help Moonchild and the development team to answer such a question.Eduardolucas1 wrote: ↑2024-03-04, 02:03Should we drop early core i3-i7 processors? They are pretty old.
As a user whose secondary (but still important!) computer has an Atom processor I am sympathetic to hardware potentially being left behind and unable to run newer versions of Pale Moon. But decisions should be made, like does Pale Moon aspire to stay true to its Main Features, or is it overriding goal to be fixed to the past by supporting users who are happy with their 2013 machines?
Some could say Pale Moon should do both, but I imagine they are not the same people actually building and technically supporting this project?
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.
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.
-
Eduardolucas1
- Apollo supporter

- Posts: 43
- Joined: 2024-02-05, 03:15
Re: Defaulting to AVX for 64-bit architectures?
Which of the main features or of pale moon philosophy are being violated or renegated when its always been emphasized that its focused on a balance between usability, customizability, compatibility to XUL addons, among other aspects?suzyne wrote: ↑2024-03-04, 02:16My opinion doesn't matter and that's partially what the poll is for, to help Moonchild and the development team to answer such a question.Eduardolucas1 wrote: ↑2024-03-04, 02:03Should we drop early core i3-i7 processors? They are pretty old.
As a user whose secondary (but still important!) computer has an Atom processor I am sympathetic to hardware potentially being left behind and unable to run newer versions of Pale Moon. But decisions should be made, like does Pale Moon aspire to stay true to its Main Features, or is it overriding goal to be fixed to the past by supporting users who are happy with their 2013 machines?
Some could say Pale Moon should do both, but I imagine they are not the same people actually building and technically supporting this project?
There is also another factor which is hardly brought into the table: Performance has some subjective definitions. There are people running pale moon on early 64-bit CPUs or dual socket early 64-bit machines normally, with acceptable performance. Machines being old or new do not always speak too much about their performance on specific software. So, should we leave machines which have acceptable performance and many which are actually fast just because they are old? If this is the case, where do we define (subjectively) what is old and what isn`t? Multimedia SIMD instructions (as a matter of question, do ARM builds require NEON?) were the factor which defined this in the last time non-sse2 CPUs were dropped, and this remains the case with corporate browsers. Chrome is the most stringent of them requiring SSE3.
My question is not a provocation but a reflexive question: If Pale Moon aims for a balance between various aspects which must be emphasized as a browser, why should it be much more stringent than even chrome in which machine should run it? And who is guaranteeing unofficial sse2 or sse3 builds will be not too far away from the future impossible before corporate browser builds not requiring AVX become impossible?
-
athenian200
- Contributing developer

- Posts: 1619
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Defaulting to AVX for 64-bit architectures?
Well, there's a really simple answer, but you won't like it. We have a smaller team than Chrome or Firefox, and if we want to boost our performance to an acceptable level, we can't afford to leave easier, compile-time optimizations like AVX on the table forever. They can, because they have the manpower and resources to optimize their codebase in other ways that don't hurt their compatibility with older hardware. We don't necessarily have the same luxury.Eduardolucas1 wrote: ↑2024-03-04, 02:25My question is not a provocation but a reflexive question: If Pale Moon aims for a balance between various aspects which must be emphasized as a browser, why should it be much more stringent than even chrome in which machine should run it? And who is guaranteeing unofficial sse2 or sse3 builds will be not too far away from the future impossible before corporate browser builds not requiring AVX become impossible?
So if anything, it would actually be easier for the "corporate browsers" to support older stuff indefinitely than it would be for us. They could totally do that if they cared. But the problem is that most people's expectations are the other way around... they want to put the burden of supporting older hardware on smaller, community-supported projects because the big ones won't do it, even though it's actually less viable for them to do so.
Also, it's very unlikely that the browser would become unable to be compiled without the optimizations... this isn't like supporting an entire operating system, we're talking about more or less a build flag for a compile here. Anyone who can build Pale Moon can produce a browser without the optimizations... that will run slower, if they want it I guess. I suspect you could even build a version of Pale Moon without SSE if you really wanted to, though I haven't checked.
It's also worth noting that people have been complaining a lot about the browser's speed a lot lately... so we need to do something, and this is something we could do.
Sometimes I worry that Pale Moon is actually finding itself in a niche where it is basically expected to be Firefox 52ESR forever, intended to pick up legacy support where Mozilla left off, supporting all the older technologies, and not being valued if it does otherwise. That would mean we basically just somehow wound up with this weird unwritten "contract" with our community that says our job is to provide legacy support for older Mozilla products forever, and I am not sure if that is the arrangement we should strive to have... sure, XUL was a good technology and it seems worth taking that into the future, but do we really need to support ALL the old technologies? All the old operating systems, all the old hardware, etc?
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind
-
Eduardolucas1
- Apollo supporter

- Posts: 43
- Joined: 2024-02-05, 03:15
Re: Defaulting to AVX for 64-bit architectures?
I imagined this could be a reason. I do not take the reasoning away. I think if the community eventually produces legacy builds, it will be fine. Would there be any branding restrictions to builds like these? I think, as some said there were people compiling without SSE as a target in the past, it was not one, right?athenian200 wrote: ↑2024-03-04, 02:53Well, there's a really simple answer, but you won't like it. We have a smaller team than Chrome or Firefox, and if we want to boost our performance to an acceptable level, we can't afford to leave easier, compile-time optimizations like AVX on the table forever. They can, because they have the manpower and resources to optimize their codebase in other ways that don't hurt their compatibility with older hardware. We don't necessarily have the same luxury.Eduardolucas1 wrote: ↑2024-03-04, 02:25My question is not a provocation but a reflexive question: If Pale Moon aims for a balance between various aspects which must be emphasized as a browser, why should it be much more stringent than even chrome in which machine should run it? And who is guaranteeing unofficial sse2 or sse3 builds will be not too far away from the future impossible before corporate browser builds not requiring AVX become impossible?
So if anything, it would actually be easier for the "corporate browsers" to support older stuff indefinitely than it would be for us. They could totally do that if they cared. But the problem is that most people's expectations are the other way around... they want to put the burden of supporting older hardware on smaller, community-supported projects because the big ones won't do it, even though it's actually less viable for them to do so.
Also, it's very unlikely that the browser would become unable to be compiled without the optimizations... this isn't like supporting an entire operating system, we're talking about more or less a build flag for a compile here. Anyone who can build Pale Moon can produce a browser without the optimizations... that will run slower, if they want it I guess. I suspect you could even build a version of Pale Moon without SSE if you really wanted to, though I haven't checked.
It's also worth noting that people have been complaining a lot about the browser's speed a lot lately... so we need to do something, and this is something we could do.
Sometimes I worry that Pale Moon is actually finding itself in a niche where it is basically expected to be Firefox 52ESR forever, intended to pick up legacy support where Mozilla left off, supporting all the older technologies, and not being valued if it does otherwise. That would mean we basically just somehow wound up with this weird unwritten "contract" with our community that says our job is to provide legacy support for older Mozilla products forever, and I am not sure if that is the arrangement we should strive to have... sure, XUL was a good technology and it seems worth taking that into the future, but do we really need to support ALL the old technologies? All the old operating systems, all the old hardware, etc?
-
athenian200
- Contributing developer

- Posts: 1619
- Joined: 2018-10-28, 19:56
- Location: Georgia
Re: Defaulting to AVX for 64-bit architectures?
I'm pretty sure people did compile with just plain SSE for Athlon XP and Pentium III machines as recently as a few years ago, so I wouldn't be surprised if someone were building without SSE. Have no idea on branding restrictions, though generally MC tends to be "cool" with builds that don't deviate very far from our official build configuration using official branding, and I think SSE2 vs. AVX would be the kind of difference MC wouldn't care enough about to enforce a branding restriction over. But you'd probably still want to ask him just to be safe.Eduardolucas1 wrote: ↑2024-03-04, 03:14I imagined this could be a reason. I do not take the reasoning away. I think if the community eventually produces legacy builds, it will be fine. Would there be any branding restrictions to builds like these? I think, as some said there were people compiling without SSE as a target in the past, it was not one, right?
In this particular case, I think someone offering to do an unofficial SSE2 build would be something that would really help us out a lot, since it would give users on older systems a place to go without requiring us to hold back our mainline builds indefinitely.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind
-
Pentium4User
- Board Warrior

- Posts: 1329
- Joined: 2019-04-24, 09:38
Re: Defaulting to AVX for 64-bit architectures?
If AVX was supported by all CPUs made in the last 14 years, I would agree, but my example confirms there are normal desktop/laptop CPUs that are not even 5 years old and wouldn't be supported anymore.athenian200 wrote: ↑2024-03-03, 23:20Remember, AVX is almost 14 years old at this point, with even AVX2 being nearly 10 years old. It feels like time has stopped in the early 2010s in terms of what people expect us to support sometimes, like no one wants to acknowledge anything past that point as necessary. Like, has 20-year old tech become the new 5-year old tech?
I think deprecating 32 bit entirely would harm less people (I am aware some NPAPI plugins only exist for x86).
I think we should start a poll that shows up with the next PM version (e.g. like the release notes do), so we can investigate how many people still need 32 bit and non-AVX builds.
The profile picture shows my Maico EC30 E ceiling fan.
-
Eduardolucas1
- Apollo supporter

- Posts: 43
- Joined: 2024-02-05, 03:15
Re: Defaulting to AVX for 64-bit architectures?
I agree that dropping 32-bit could be a far more attractive solution. To me it does not make sense to use 32-bit if not for older plugin compatibility. ia-32 is register-starved. I have used 32-bit and 64-bit versions in the last years and to me it seems there is not a noticeable difference in memory usage anymore.Pentium4User wrote: ↑2024-03-04, 07:25If AVX was supported by all CPUs made in the last 14 years, I would agree, but my example confirms there are normal desktop/laptop CPUs that are not even 5 years old and wouldn't be supported anymore.athenian200 wrote: ↑2024-03-03, 23:20Remember, AVX is almost 14 years old at this point, with even AVX2 being nearly 10 years old. It feels like time has stopped in the early 2010s in terms of what people expect us to support sometimes, like no one wants to acknowledge anything past that point as necessary. Like, has 20-year old tech become the new 5-year old tech?
I think deprecating 32 bit entirely would harm less people (I am aware some NPAPI plugins only exist for x86).
I think we should start a poll that shows up with the next PM version (e.g. like the release notes do), so we can investigate how many people still need 32 bit and non-AVX builds.
-
Pentium4User
- Board Warrior

- Posts: 1329
- Joined: 2019-04-24, 09:38
Re: Defaulting to AVX for 64-bit architectures?
Nowadays most machines have more than 4 GiB of RAM and if that should be used by the browser (many tabs and bulky websites), x64 is required.Eduardolucas1 wrote: ↑2024-03-04, 07:38I agree that dropping 32-bit could be a far more attractive solution. To me it does not make sense to use 32-bit if not for older plugin compatibility. ia-32 is register-starved. I have used 32-bit and 64-bit versions in the last years and to me it seems there is not a noticeable difference in memory usage anymore.
The profile picture shows my Maico EC30 E ceiling fan.