Fedora considering compiling for x86-64-v3, closing the gap with CachyOS
Posted by KelGhu@reddit | linux | View on Reddit | 57 comments
Posted by KelGhu@reddit | linux | View on Reddit | 57 comments
Infinity-of-Thoughts@reddit
I mean, even Ubuntu has had the ability to do v3 since 25.10.
KelGhu@reddit (OP)
CachyOS has officially been doing v4 and Zen4 a couple years now
It's sad that PC software are compiled for compatibility first due to the sheer diversity of the ecosystem. Other ecosystems - like Apple's or smartphones - have their software compiled to fully exploit their CPUs. PC are stuck with architecture from 20 years ago. Only specific softwares take advantage of ISA extensions.
edparadox@reddit
I hear you, but I hate what you're saying and let me answer with one sentence: backward compatibility is more important than a couple of percents in benchmarks.
And this is coming for someone who has worked for a while on scientific computing, where performance and efficiency is key.
i-hate-birch-trees@reddit
I would argue anything above 10% is worth dropping 12+ year old devices, considering there's still going to be other distributions targeting a lower microarch. For generic user-oriented distros 10% is huge, and going from v1 to v3 can get up to 40% improvement, but averages around 20-30%. Especially for things like compression, encryption and so on. I see no reason why people with recent hardware should incur a loss like that just to keep supporting legacy hardware - that's akin to a generational gap between CPUs or a CPU that's 200$ vs one that's 300$. Not to mention that if you'll look at all the computers running Linux and consider we can save around 20-30% of power that's massive. I'm very happy with CachyOS for v4 people and bleeding edge enthusiasts, and then there's going to be Debian or MX Linux for people on v1, and generic Ubuntu/Fedora should all switch to V3. Though for a while a lot of distros had x32 version available, so for big ones like Ubuntu or Fedora it's probably very possible to target both v1 and v3. The jump from v3 to v4 is not as dramatic and highly situational from what I know.
redoubt515@reddit
> For generic user-oriented distros 10% is huge, and going from v1 to v3 can get up to 40% improvement, but averages around 20-30%.
According to what metrics and in what context? It's hard for me to believe that this change would lead to a general 20-30% performance uplift on its own?
If it did lead to that, why wouldn't more package maintainers support V3 (Fedora already supports it as an option, it's just up to all the individual package maintainers to decide if they want to support it for the packages they maintain). And if the existing maintainers are being obstinant, I'd assume many new ones would jump in if 20-30% perf improvement was truly on the table.
mrlinkwii@reddit
i somewhat diagree , especially with bleeding edge distro like fedora , fedora tends to be the disrtro that enable defaults first well before everyone else
most gaming distros are wayland only for years now , and fedora whent on the same path
ill agree with in some ways in terms of custom kernals ect , but here i see 0 reason why fedora couldn't default to v3 and remove anything under , they currently use v2
Prudent_Move_3420@reddit
nobody is saying to drop the old packages
i-hate-birch-trees@reddit
Yeah, for a while everyone had an i686 build and an amd64 build.
Infinity-of-Thoughts@reddit
I mean, my comment wasn't mean to come of as direct criticism of the Fedora project. Backwards compatibility is definitely important, and there are definitely still systems out there not capable of the v3 instruction set, but if CachyOS, an offshoot Arch distro, can pull off doing both packages, then so can Fedora, certainly.
pixelpoet_nz@reddit
I mean, ...
MrHighVoltage@reddit
Not exactly true. Core libraries usually have optimized implementations for different instruction set extensions and those are getting selected at runtime. This is why the speedup usually is not as much as you might expect.
PsyOmega@reddit
I use it for trying out new things...on old hardware. (skylake i5-6200u. while firmly into x86-64-v3, certainly isn't new)
I'd be fine with fedora dropping v2 though.
The most recent things that effects is:
AMD bulldozer era e-waste
AMD jaguar era e-waste (though i still have an A4-5000 based laptop to run Kali on)
Intel up to ivy bridge. While some are still 'good' you can get a haswell laptop on ebay for $40 in mint condition.
dswhite85@reddit
AerynOS is that the one that the main dev abandoned, for like the third time?
ClubPuzzleheaded8514@reddit
Yep, but dev team still work on it without him. Their package manager is great but i don't understand what public they are aiming.
NomadicCore@reddit
AerynOS ISOs are essentially a technical preview. We ship them as an alpha to state that these aren't meant for relying on day to day...
That is to say, we aren't aiming for any public so to speak. Just Devs or people who want to try it out and help us cook.
ClubPuzzleheaded8514@reddit
Thanks! But once Aeryn in Stable release, what will be your 'public'?
I am impatient to see benchmarks with Aeryn, i wonder if it will be faster than what we already have.
Kevin_Kofler@reddit
My desktop and my notebook are not v3 capable. My desktop supports only x86_64 v2 and AVX 1. My notebook is a Core 2 Duo that does not even support v2 (supports only up to SSSE3, but v2 demands SSE4).
ClubPuzzleheaded8514@reddit
So what? Use standard x86 packages!
Kevin_Kofler@reddit
Those are long gone in Fedora. Only multilib packages are supported (and even those might end up going away soon, with the new WINE WoW64 mode not requiring 32-bit multilibs anymore), 32-bit-only installs have been desupported years ago, and several essential packages are no longer built for 32-bit.
ClubPuzzleheaded8514@reddit
Yes, and we don't still use candles but bulbs.
bunkbail@reddit
ikr. i dont get why people are bitching about mainstream stuff not supporting ancient dinosaur techs. get on with the times folks, stop using decades old deprecated things.
Fr0gm4n@reddit
While a C2D is ok for some basic usage, it shouldn't be holding back modern systems. Supporting it now is like supporting i386 back when the C2D was launched.
Infinity-of-Thoughts@reddit
Okay, and?
CachyOS, openSUSE, and Ubuntu still has "plain" x86_64 packages.
Kevin_Kofler@reddit
Sooner or later I will also have to patch QtWebEngine to work on my computers (and I have done that before, see my now defunct no-sse2 patchset), because Chromium also loves increasing its instruction set requirements all the time, grrr.
DrDominodog51@reddit
Damn I needed that three years ago when I was trying to get my dual Pentium 3 computer running.
It'll be a sad day when the major distros won't even run with basic applications like webbrowsers on early AMD64 cpus.
Kevin_Kofler@reddit
The last version for which I had a patch was QtWebEngine 5.10.1 in 2018: https://src.fedoraproject.org/rpms/qt5-qtwebengine/blob/f27/f/qtwebengine-everywhere-src-5.10.1-no-sse2.patch
It has become much harder to maintain after V8 (the Chromium JavaScript backend) dropped its "x87" (x86 with x87 floating-point instructions) backend, relying entirely on SSE2 for floating-point computations. (The 5.10.x patchset is actually very huge because it readds that whole V7 x87 backend. The 5.9.x patchset was 10 times smaller.) And around the same time, Fedora decided to make SSE2 the baseline, so the need for the patch was also gone.
thomas-rousseau@reddit
Even Gentoo offers v3 binaries, non-experimentally
nuxi@reddit
RHEL 9 and OL 9 are both x86-64-v2
RHEL 10 and OL 10 are both x86-64-v3
FlukyS@reddit
Well they are about experimenting but specifically when they have a use case for RHEL
ClubPuzzleheaded8514@reddit
Yes, it's so slow... OPenSuse have V3 rom packages since months, and now sdboot by default with native btrfs snapshots at boot.
Maybe i am wrong, but few years ago Fedora was very technological : one of the first distro with native vaapi, one of the first to switch to Wayland, and to btrfs filesystem. First to adopt Plymouth and silent boot if i remember well. And few V3 optimized packages. And an early handling of Nvidia drivers and Optimus.
Now it seems to not be so up to date, even if i know Fedora dev' do a lot for toolchains, python, docker, and tuned integration which is a very great powersave tool, the best i have ever use.
CachyOS, Garuda and OpenSuse (and more or course, i am talking about mainstream distros) have native, complete and automatic btrfs tools.
CachyOS and OpenSuse have full native v3 (and v4 for CachyOS) packages.
Fedora is still on Grub while others have switch to more 'modern' bootloaders.
I wonder what is now the technical 'superiority' of Fedora.
I love Fedora, it works great and fast with reliability, it's not a complain but more an observation to launch a talk. And i repeat, maybe i am wrong and miss some enhancements.
ezoe@reddit
I think supporting CPU released in past 10 years is long enough for popular distros.
Kevin_Kofler@reddit
So the plan is to build both x86_64 v1 (baseline) and v3 (requiring all levels of SSE, AVX up to AVX2, FMA, etc.) next to each other. This is acceptable, though it means increasing build times for a performance gain that will be negligible for most packages. But I fear that this is only the first step towards desupporting anything pre-v3 altogether, which would make Fedora useless on my and many other computers.
Nicksaurus@reddit
Surely if build times & infrastructure are a problem they could just build the most performance critical packages for v3 and leave the rest on v1?
Moscato359@reddit
As nice as this is on paper, it's actually not usually that big of a deal because software which truly needs these instructions tends to hardcode them feature flags to get hardware acceleration regardless
asm_lover@reddit
Yes but let's wait a bit for the steam runtime container to be shipped on stable so that we can get rid of 32 bit first
ScottIBM@reddit
Wine also uses 32-bit libs, so it isn't just Steam. There might always be a need for some level of 32-bit support.
Straight-Opposite-54@reddit
Afaik, Wine no longer requires 32-bit libraries as of Wine 11. It has a full WoW64 implementation in 64-bit mode.
Rockytriton@reddit
are there any really big performance or security gains for v3?
i-hate-birch-trees@reddit
10%-20% jump on average with some workloads seeing up to 40%. Especially math-intensive things like NumPy/xz (and other kinds of ) compression, SSL, etc.
ClubPuzzleheaded8514@reddit
Yes. Read Phoronix benchmarks.
It alors uses less watts.
BeatTheBet@reddit
I'd love for this to happen, but I don't see it happening...
For how much Fedora loves to present the project as "innovative", it sure seems waaaaaay to conservative with things like this.
The forum discussion on this proposal is already facing resistance from FESCo members...
mrlinkwii@reddit
after reading the thread their is no negative comments , mostly questions
BeatTheBet@reddit
I'd characterize Fenzi's stance as pretty negative, especially taking in mind that a previous Proposal (F42, more info is in the thread if interested) of what is (essentially) being suggested as an alternative implementation, went absolutely nowhere...
Though I respect your deferring view.
ClubPuzzleheaded8514@reddit
What are FESco arguments?
BeatTheBet@reddit
To be clear (in case it wasn't), I didn't say the entirety of FESCo made an official statement or anything, just that some have already jumped in and expressed disagreement/resistance.
For example, here's Kevin Fenzi's message which was the earliest negative comment I saw on that thread.
GeoStreber@reddit
Well.
There goes my old Sandy Bridge linux test rig.
Porkhole-Santookus@reddit
This is good. Instruction set TiVoization is a real problem.
Kevin_Kofler@reddit
What the heck is "Instruction set TiVoization"? TiVoization is about the hardware restricting what operating system you can run. Operating systems building for baseline x86_64 run everywhere, so I do not see how this situation has anything to do with TiVoization.
Porkhole-Santookus@reddit
It's a joke. A significant part of the change between the GNU General Public License v2 vs v3 was the introduction of language restriction the very TiVoization you mentioned.
The joke is that the decision to change compiling to x86_64 v2 vs v3 are being made for the same reasons, despite it making no sense. The absurdity is the joke.
tav_stuff@reddit
Classic Gentoo W /s
Wheatleytron@reddit
Good for Fedora people. CachyOS has AUR and numerous other optimizations, so I'm fine sticking with it.
Bob4Not@reddit
I would love this.
esmifra@reddit
Why mentioning cachyOS specifically if multiple other distros already have it and it's news regarding fedora?
Not only gives a false impression about that it just seems to be wanting to ride on cachyOS current hype
bunkbail@reddit
it made sense to mention cachy since its the first distro to provide v3 packages, then opensuse and ubuntu followed suit a couple years later. actually, clear linux did it first but nobody uses it lol.
ClubPuzzleheaded8514@reddit
And the only one to provide V4 packages!
ClubPuzzleheaded8514@reddit
Please read the posts. Are mentionned : Garuda, CachyOS, openSuse, Aeryn.
MetaTrombonist@reddit
In case, like me, you are wondering what your computers' capabilities are:
(from wikipedia)