The appeal of Gentoo is not compiling everything from source, it's having the freedom to install anything you want on nearly any hardware all with stellar documentation and minimal roadblocks. Want to run Enlightenment with OpenRC and NetworkManager on a laptop from 2008? Install Gentoo! Want ZFS as root on a smart refrigerator? Install Gentoo! Want a vanilla Gnome + SystemD install on a brand new laptop? Install Gentoo! The decision to ship binary packages only gives users *more* choices while other distributions have been actively removing one's freedom to choose. Debian, the so-called "universal operating system" just dropped 32-bit x86 support. You can install an alternative init system on Debian if you'd like, but it's a bit of a PITA. Meanwhile Gentoo allows you to pick between 17+ different stage 3 tarballs and 35 eselect profiles. Personally, I enjoy compiling everything from source and the flexibility that comes with it. On modern hardware it's painless. If you disagree, great! Go install a shiny new binary. The selling point of Gentoo has never been portage. It's always been the flexibility and the community.
> Debian, the so-called "universal operating system" just dropped 32-bit x86 support.
This is imprecise at best. There was a meeting where the release team concluded that most likely, there will be no _installer_ and _kernel_ support for 32-bit x86 at some unspecified point in the future. (At the current point in time, both are still delivered and fully supported.) In particular, you can still run multi-arch 32-bit/64-bit, allowing you to run 32-bit x86 software.
>while other distributions have been actively removing one's freedom to choose
I think that's a bit unfair. Everyone wants to support everything, but at the end of the day if you want to guarantee security and maintenance and do the job of a distribution you have limited resources on what you can look after. Something always has to give.
On any Linux distribution anyone can install what they want, but what you can genuinely claim to support is always limited by the amount of maintainers you have.
I can't install Gentoo, specifically, the part where I have to install a BIOS or UEFI grub2 bootloader. No I did not use a musl and / or clang profile. With this being my first impression, unless Gentoo or a downstream fork comes with a installer, I won't consider it.
I'm going to install Solus OS / Solus Linux soon, had a good first impression with it's package manager, which claims to be reproducible but not like nix or guix are.
Gentoo's big attraction for me is Portage. It goes beyond just providing a build environment and dependency management. Ebuilds (Gentoo packages) are supported by great tooling and Eclasses that handle a lot of corner cases in builds. Developing Ebuilds feel like doing a real software project, and is great for anyone who wants to experiment with packages that are not in the official repository. Coincidentally, I just published a tool to manage unprivileged chroots for testing ebuilds.
This development will make Gentoo more accessible for a lot of people. But I guess this isn't for me. My build configuration (like CFLAGS) are never going to match the official binaries and so they will never get used.
I agree on customizing the package flags, and features. When using Gentoo in production it became an important part of our security posture to omit the features and integrations with unused software.
That being said we've always had a build host dedicated to producing binaries, but the actual support for binaries in Gentoo hasn't been great. Unsigned serving over HTTP or NFS of compiled artifacts is about all you get. I'm really pumped to see that the new package format adds in cryptographic verification that really should have been there all along even for internal only serving.
For me this is great news for less powerful devices I use that I don't feel like setting up a binrepo for (especially when it involves cross-compilation), but still want to reuse my portage config and custom ebuilds for.
Say what you will about Gentoo as a concept, it was a lot of fun when I was 17 learning more about software packaging, distributed compilation, and the ins and outs of compile-time optimization, not to mention Linux kernel optimization. And their community had pretty nice docs from what I recall. I think a few of my patches are still knocking around in some releases.
I finally realized all the tweaking and optimization and bleeding-edge software wasn't worth it once I discovered my Slackware boxes ran as fast as the Gentoo ones. Maybe there's a few very specific applications out there that benefit from all the tweaking and custom compiles; perhaps a render farm or crypto miner? But my games got the same FPS on either distro.
Years ago, somehow, I wasted hours and days of computer and my time, compiling and fine tuning my gentoo system, god knows why, when next day I anyway format it to install newly arrived Ubuntu cd.
I ran Gentoo for a long time in the early 2000's. I learned nearly everything I know about Linux machines in general from that experience!
What was interesting about the USE flags was learning that a given package even HAD a particular integration with some other library / package. Realizing that the SQLite3 binary doesn't work the same when you don't have readline support linked to it lead me to understand what readline was as a whole. That happened over and over again for a lot of the "invisible" libraries that are always included on every other Linux system.
Absolutely invaluable learning tool at the right time in my life for sure.
You’re not alone! I run Gentoo on all my devices. GPD Win 4, Pixelbook with coreboot, my NAS, and a VPS. Why (IMO)?
1. Best documentation I have ever used.
2. Infinite amount of customization. Your system can be as minimalist or maximalist as you’d like.
3. Portage overlays > AUR any day of the week.
4. Choose your own init system. Want SystemD? Fine. Want OpenRC? Go right ahead!
5. It’s hard to understate the power of a good community with well-described values. I feel safe and at home with Gentoo because I know that it will always value the #1 thing I care about on Linux: freedom. Gentoo is like a choose your own adventure. Want to run SystemD + Gnome + PulseAudio + binary packages? You can do that. Want to run OpenRC + Hyprland + Pipewire + NetworkManager instead of netifrc? Go for it!
Gentoo isn’t about compiling everything, it’s about choosing everything. Today’s announcement (although irrelevant to me) gives users more choices.
I would still be using Gentoo if NixOS hadn't come around. I like Gentoo just fine, but being a sysadmin for NixOS is much easier than being a sysadmin for Gentoo.
> I wonder what makes me different such that Gentoo is the best for me.
Ok, I'll bite: why is Gentoo best for you? (I'm not going to try to refute any of your statements should you reply, I promise. I'm genuinely curious.)
I'll offer my own experience why Gentoo is not for me: I don't run my own server, and at work I use servers in the cloud (Ubuntu based, I guess? Or AWS-flavored). No compiling any kernels or whatnot.
For the desktop, a friend convinced me to try Gentoo 10+ years ago ("it's compiled for your specific hardware, it'll be faster!"), I gave it a try, wasted lots of time getting it running, then saw it wasn't really noticeably faster for any task I did than regular Ubuntu, and took longer to get set up. So I ditched it.
Another common claim I found to be false (in my case): "I learned so much configuring Gentoo!". Well, no. I mostly followed the recipes like almost everybody else, setting flags and touching config files I didn't really understand, so I can safely say I learned nothing -- I just went through the motions.
Do you have machines which "just work"? Not a daily driver machine or server that you mess with every week, but something you set up long time ago and that has been working even since. Something that you may only log in few timers per year, if that.
I stopped using Gentoo when I got my made my first "production" system: I made it, people started using it, and it was "done" - as in, there were no more any reasons to log into it daily, or even weekly. I'd still want my security updates and very very rarely there would be a new feature that required new package, but otherwise I wanted system to be steady. And Gentoo is a horrible fit for this usecase - even on my personal desktop where I updated weekly I had emerge build failures practically every time; and a system which might not be updated for months would be even worse. So I went to Debian, and it was good (especially with unattended upgrades), and I eventually switched all my machines to it.
If you use Gentoo, do you have any machines that you don't tinker with weekly? How often do you update them, and how often do you need manual intervention to finish the update?
Extensive binary packages would have been nice back in the years when Gentoo was a meme OS; CPUs were a lot slower and not multicore. I don't have a use for them now.
Anyway, the best OS is the one you already know how to use.
One of the reasons I moved from Gentoo 15+ years ago to FreeBSD was that it was mandatory to compile everything while FreeBSD provided binary packages.
It may be not that important today - but it was a game changer with single CPU core and 1GB RAM.
Probably orders of magnitude less than the amount of wasted energy and greenhouse gases emissions of needlessly compiling the same javascript software over and over again on the billions of devices used to access the web.
Probably not that much. It's not like gentoo was widely used compared to Red Hat or Ubuntu. Also CPU power usage is a rounding error if the computer was on anyways compared to the spinning HDD, monitor etc.
As far as hobbies go, it's very far from the worst. Some people play games for 12 hours a day on kilowatt gamer PCs, or race their car around a track, or cruise around on a gas guzzling boat, etc.
Do you think that many people were even using it and compiling regularly? I left it around 2010 for linux mint. Just last summer I tried it again just out of curiosity, and couldn't even get it installed. They had a broken release and of course there was some hack to re-update everything back to the last stable version, which gave me flashbacks of what Gentoo Life was all about and I stopped then and there.
probably less watts than the full screen videos and rendered play worlds that are drawn behind the main menu on any given AAA console game bought by millions of people.
given the behavior one can only think that software people generally don't care unless it bothers a user metric like 'battery life'.
I heat my home. The difference between heating via compiling my kernel and heating via whatever heating you use is almost certainly negligible. But I get a custom built system out of it too.
The thing that makes Gentoo fantastic is the fact that it's designed from the ground up to make it easy and maintainable to add the one little tweak you want for your system. In all the other distros I've tried (all the major ones, many of the minor ones), they tend to work better out of the box, but straying from the beaten path results in a flogging like no other. A tuned Gentoo system just works™, whatever "just working" means for you personally. That might be a python 2to3 name collision when Arch decides to overwrite upstream, or a system-critical latency issue when SystemD does too much unnecessary garbage in kernel mode, or whatever, but all of its flaws aside I'm a very, very happy Gentoo user.
Upstream binary packages are just another extension of that freedom. You already had binary versions available of a few major projects (or could roll your own build server), but making more of them easily available allows a lot more people to reap those benefits without having to worry about the huge time sink of building every little thing. If you need more flexibility (patches, use flags, ...) for a given package, that's still available and easy to maintain. This is a huge win.
There was this sweet spot for a while where Gentoo just worked like a breeze, Where there weren't too many and too few useflags and when I would recompile Open Office when my dorm room was too cold in cold winter nights.
Gentoo for me is not about compiling things from source, or "performance", or tweaking your OS for days, which seems to be the comment perception from people.
Now that there is an officially supported binhost, you do not have to compile anything if you don't want to. You can use a desktop profile with zero customization and have a system that works "out of the box". You do have the options to customize and compile but it's not required.
Gentoo's benefits for me include the tooling around portage and the PMS (package manager spec). Gentoo's software packaging tooling is (IMO) superior to what exists in Debian and other conventional (not nix) distros. The most similar would be Arch's PKGBUILDs, which are also pretty nice.
Packaging software for Debian, trying to create a .deb package is a fairly arcane process and the documentation was difficult to find and digest when I attempted this. Gentoo has a wiki section called "ebuild writing guide" that describes everything in great detail.
There are also benefits like being able to select on a per-package-basis whether you want "stable" or "unstable" versions of software. Gentoo is a rolling release distro, but requires packages to meet a certain criteria before being marked as "stable". You are not forced to use "stable" packages if you want the most recent releases from upstream (basically what Arch does) but still have access to them if you'd like.
Gentoo's community is the most important feature for me though. Gentoo feels like a proper open source project. You don't have to be a Gentoo developer to contribute, and you can interact directly with Gentoo developers when you need guidance or have questions. Gentoo's community seems to have a lot less elitism compared to other distros also which is very important to me.
Installing Gentoo was always fun for me, to get it working and the dream of a fully custom optimized machine (I guess Arch offers similar experience, minus the full optimization), but getting everything polished afterwards was always just too much for me and I switched to a packaged distro.
It seems like it would be cool for an SBC, but the compilation (or setting up cross-compilation) was always too much; now maybe it’s feasible again? But I’m too old to have the time to try!
So apparently it would be possible to use mostly binary installations but compile some libraries, interpreters and cpu hogging apps with -march=native - and that wouldn't cause any problems with ABI or anything?
Would it be hard to set up a build server on another machine? What if that other machine was running Arch or some other system?
I remember when running Gentoo ~20 years ago, it was quite often that package compilation failed and I had to go fix some package settings or something, don't even remember well except how disappointing it was seeing a failed compilation again after waiting a long time - is this still common occurrence?
edit: at least the build server doesn't look too bad and the running other arch could be solved with a WM / container.. Feeling really like wanting to give it a try, still remember the good times I had with Gentoo way back (even with the compilation problems)
Any background on why (now)? The post is a bit sparse.
(I'm also one of those who left Gentoo for Ubuntu, both because compilation made it needlessly slow to wait for a tool I needed, and because emerge was just so slow compared to apt. Ebuilds were awesome at a time when dpkg build tooling seemed to change completely once a year.)
Gentoo was the first distro that I grokked. The way they walked you through the build system (honestly can't remember if it was official docs, community forum or what) was just the right balance of teetering on the edge of everything crashing and burning, and learning the deep secrets of how an OS actually works that it kept me intrigued for years. I ran it all through college but then got jobs at non-nix (un-nix?) companies and it gradually faded. This seems like a great development but if it had existed when I was exploring Gentoo, I might have taken the easy way and learned much less.
This mix of a binary cache for common compilation options with transparent fallback to source builds when flags are customized is how the youngest generation of source-based Linux distros (NixOS and GuixSD) work, and it's a really nice combination. Congrats to the Gentoo community! I think a lot of people will enjoy this kind of setup.
Does that mean they're building the package about 2 times and maybe even more if systemd support needs to be there? As far as I know, Gentoo supports musl/glibc and could support either systemd or openrc... (some packages link against systemd for some functionality)
[+] [-] connorgutman|2 years ago|reply
The appeal of Gentoo is not compiling everything from source, it's having the freedom to install anything you want on nearly any hardware all with stellar documentation and minimal roadblocks. Want to run Enlightenment with OpenRC and NetworkManager on a laptop from 2008? Install Gentoo! Want ZFS as root on a smart refrigerator? Install Gentoo! Want a vanilla Gnome + SystemD install on a brand new laptop? Install Gentoo! The decision to ship binary packages only gives users *more* choices while other distributions have been actively removing one's freedom to choose. Debian, the so-called "universal operating system" just dropped 32-bit x86 support. You can install an alternative init system on Debian if you'd like, but it's a bit of a PITA. Meanwhile Gentoo allows you to pick between 17+ different stage 3 tarballs and 35 eselect profiles. Personally, I enjoy compiling everything from source and the flexibility that comes with it. On modern hardware it's painless. If you disagree, great! Go install a shiny new binary. The selling point of Gentoo has never been portage. It's always been the flexibility and the community.
[+] [-] Sesse__|2 years ago|reply
This is imprecise at best. There was a meeting where the release team concluded that most likely, there will be no _installer_ and _kernel_ support for 32-bit x86 at some unspecified point in the future. (At the current point in time, both are still delivered and fully supported.) In particular, you can still run multi-arch 32-bit/64-bit, allowing you to run 32-bit x86 software.
[+] [-] Barrin92|2 years ago|reply
I think that's a bit unfair. Everyone wants to support everything, but at the end of the day if you want to guarantee security and maintenance and do the job of a distribution you have limited resources on what you can look after. Something always has to give.
On any Linux distribution anyone can install what they want, but what you can genuinely claim to support is always limited by the amount of maintainers you have.
[+] [-] cbmuser|2 years ago|reply
I would argue that Debian has support for at least as many architectures as Gentoo:
> https://buildd.debian.org/status/package.php?p=base-files&su...
I know that because I am maintaining most of the obscure architectures in Debian with regular installation snapshots:
> https://cdimage.debian.org/cdimage/ports/snapshots/
Debian even has a Hurd port for both i386 and amd64.
[+] [-] gtirloni|2 years ago|reply
[+] [-] pantantrant|2 years ago|reply
I'm going to install Solus OS / Solus Linux soon, had a good first impression with it's package manager, which claims to be reproducible but not like nix or guix are.
[+] [-] 1vuio0pswjnm7|2 years ago|reply
Is this referring only to ports (Portage) or does this mean enjoy compiling kernel and userland.
[+] [-] goku12|2 years ago|reply
This development will make Gentoo more accessible for a lot of people. But I guess this isn't for me. My build configuration (like CFLAGS) are never going to match the official binaries and so they will never get used.
[+] [-] TrueDuality|2 years ago|reply
That being said we've always had a build host dedicated to producing binaries, but the actual support for binaries in Gentoo hasn't been great. Unsigned serving over HTTP or NFS of compiled artifacts is about all you get. I'm really pumped to see that the new package format adds in cryptographic verification that really should have been there all along even for internal only serving.
[+] [-] mid-kid|2 years ago|reply
[+] [-] yx827ha|2 years ago|reply
You should check out what ChromeOS is doing. They are using bazel to execute ebuilds inside an ephemeral chroot: https://chromium.googlesource.com/chromiumos/bazel/+/refs/he...
This way it's guaranteed that no undeclared dependencies get used.
[+] [-] 0xbadcafebee|2 years ago|reply
I finally realized all the tweaking and optimization and bleeding-edge software wasn't worth it once I discovered my Slackware boxes ran as fast as the Gentoo ones. Maybe there's a few very specific applications out there that benefit from all the tweaking and custom compiles; perhaps a render farm or crypto miner? But my games got the same FPS on either distro.
[+] [-] iamgopal|2 years ago|reply
[+] [-] pleo__|2 years ago|reply
What was interesting about the USE flags was learning that a given package even HAD a particular integration with some other library / package. Realizing that the SQLite3 binary doesn't work the same when you don't have readline support linked to it lead me to understand what readline was as a whole. That happened over and over again for a lot of the "invisible" libraries that are always included on every other Linux system.
Absolutely invaluable learning tool at the right time in my life for sure.
[+] [-] gavinhoward|2 years ago|reply
A lot of the comments are saying that they tried Gentoo or used to use it.
And here I am, using it as my daily driver and server workhorse.
I wonder what makes me different such that Gentoo is the best for me.
And I am not going to enable binary packages.
[+] [-] connorgutman|2 years ago|reply
1. Best documentation I have ever used.
2. Infinite amount of customization. Your system can be as minimalist or maximalist as you’d like.
3. Portage overlays > AUR any day of the week.
4. Choose your own init system. Want SystemD? Fine. Want OpenRC? Go right ahead!
5. It’s hard to understate the power of a good community with well-described values. I feel safe and at home with Gentoo because I know that it will always value the #1 thing I care about on Linux: freedom. Gentoo is like a choose your own adventure. Want to run SystemD + Gnome + PulseAudio + binary packages? You can do that. Want to run OpenRC + Hyprland + Pipewire + NetworkManager instead of netifrc? Go for it!
Gentoo isn’t about compiling everything, it’s about choosing everything. Today’s announcement (although irrelevant to me) gives users more choices.
[+] [-] aidenn0|2 years ago|reply
[+] [-] the_af|2 years ago|reply
Ok, I'll bite: why is Gentoo best for you? (I'm not going to try to refute any of your statements should you reply, I promise. I'm genuinely curious.)
I'll offer my own experience why Gentoo is not for me: I don't run my own server, and at work I use servers in the cloud (Ubuntu based, I guess? Or AWS-flavored). No compiling any kernels or whatnot.
For the desktop, a friend convinced me to try Gentoo 10+ years ago ("it's compiled for your specific hardware, it'll be faster!"), I gave it a try, wasted lots of time getting it running, then saw it wasn't really noticeably faster for any task I did than regular Ubuntu, and took longer to get set up. So I ditched it.
Another common claim I found to be false (in my case): "I learned so much configuring Gentoo!". Well, no. I mostly followed the recipes like almost everybody else, setting flags and touching config files I didn't really understand, so I can safely say I learned nothing -- I just went through the motions.
But that's just my experience.
[+] [-] nubinetwork|2 years ago|reply
Persistence like a Saint? Hard to say. I've been using it for 20 years too.
[+] [-] theamk|2 years ago|reply
I stopped using Gentoo when I got my made my first "production" system: I made it, people started using it, and it was "done" - as in, there were no more any reasons to log into it daily, or even weekly. I'd still want my security updates and very very rarely there would be a new feature that required new package, but otherwise I wanted system to be steady. And Gentoo is a horrible fit for this usecase - even on my personal desktop where I updated weekly I had emerge build failures practically every time; and a system which might not be updated for months would be even worse. So I went to Debian, and it was good (especially with unattended upgrades), and I eventually switched all my machines to it.
If you use Gentoo, do you have any machines that you don't tinker with weekly? How often do you update them, and how often do you need manual intervention to finish the update?
[+] [-] BeetleB|2 years ago|reply
https://blog.nawaz.org/posts/2023/May/20-years-of-gentoo/
[+] [-] juped|2 years ago|reply
Anyway, the best OS is the one you already know how to use.
[+] [-] vermaden|2 years ago|reply
One of the reasons I moved from Gentoo 15+ years ago to FreeBSD was that it was mandatory to compile everything while FreeBSD provided binary packages.
It may be not that important today - but it was a game changer with single CPU core and 1GB RAM.
[+] [-] intsunny|2 years ago|reply
[+] [-] Narishma|2 years ago|reply
[+] [-] mid-kid|2 years ago|reply
[+] [-] hylaride|2 years ago|reply
[+] [-] lupusreal|2 years ago|reply
[+] [-] weberer|2 years ago|reply
[+] [-] gosub100|2 years ago|reply
[+] [-] bee_rider|2 years ago|reply
[+] [-] serf|2 years ago|reply
given the behavior one can only think that software people generally don't care unless it bothers a user metric like 'battery life'.
[+] [-] phh|2 years ago|reply
[+] [-] blibble|2 years ago|reply
(microsoft's anti-virus)
[+] [-] globular-toast|2 years ago|reply
I don't cool my home, though.
[+] [-] goalieca|2 years ago|reply
[+] [-] sambull|2 years ago|reply
[+] [-] CatWChainsaw|2 years ago|reply
[+] [-] hansvm|2 years ago|reply
Upstream binary packages are just another extension of that freedom. You already had binary versions available of a few major projects (or could roll your own build server), but making more of them easily available allows a lot more people to reap those benefits without having to worry about the huge time sink of building every little thing. If you need more flexibility (patches, use flags, ...) for a given package, that's still available and easy to maintain. This is a huge win.
[+] [-] wirrbel|2 years ago|reply
[+] [-] chlorion|2 years ago|reply
Now that there is an officially supported binhost, you do not have to compile anything if you don't want to. You can use a desktop profile with zero customization and have a system that works "out of the box". You do have the options to customize and compile but it's not required.
Gentoo's benefits for me include the tooling around portage and the PMS (package manager spec). Gentoo's software packaging tooling is (IMO) superior to what exists in Debian and other conventional (not nix) distros. The most similar would be Arch's PKGBUILDs, which are also pretty nice.
Packaging software for Debian, trying to create a .deb package is a fairly arcane process and the documentation was difficult to find and digest when I attempted this. Gentoo has a wiki section called "ebuild writing guide" that describes everything in great detail.
There are also benefits like being able to select on a per-package-basis whether you want "stable" or "unstable" versions of software. Gentoo is a rolling release distro, but requires packages to meet a certain criteria before being marked as "stable". You are not forced to use "stable" packages if you want the most recent releases from upstream (basically what Arch does) but still have access to them if you'd like.
Gentoo's community is the most important feature for me though. Gentoo feels like a proper open source project. You don't have to be a Gentoo developer to contribute, and you can interact directly with Gentoo developers when you need guidance or have questions. Gentoo's community seems to have a lot less elitism compared to other distros also which is very important to me.
[+] [-] chpatrick|2 years ago|reply
[+] [-] laweijfmvo|2 years ago|reply
It seems like it would be cool for an SBC, but the compilation (or setting up cross-compilation) was always too much; now maybe it’s feasible again? But I’m too old to have the time to try!
[+] [-] bayesianbot|2 years ago|reply
Would it be hard to set up a build server on another machine? What if that other machine was running Arch or some other system?
I remember when running Gentoo ~20 years ago, it was quite often that package compilation failed and I had to go fix some package settings or something, don't even remember well except how disappointing it was seeing a failed compilation again after waiting a long time - is this still common occurrence?
edit: at least the build server doesn't look too bad and the running other arch could be solved with a WM / container.. Feeling really like wanting to give it a try, still remember the good times I had with Gentoo way back (even with the compilation problems)
[+] [-] tommiegannert|2 years ago|reply
(I'm also one of those who left Gentoo for Ubuntu, both because compilation made it needlessly slow to wait for a tool I needed, and because emerge was just so slow compared to apt. Ebuilds were awesome at a time when dpkg build tooling seemed to change completely once a year.)
[+] [-] nottorp|2 years ago|reply
I haven't done it since Slackware came on floppies and you mostly had to recompile your kernel to get the right drivers in.
Even did a linux from scratch once, later, to see how it goes. Then went along with my business.
[+] [-] iamthepieman|2 years ago|reply
[+] [-] pxc|2 years ago|reply
[+] [-] rany_|2 years ago|reply
[+] [-] unknown|2 years ago|reply
[deleted]