Why Gentoo?

46 points by dzwdz


nemin

I spent some time on Gentoo between 2019 and 2022 and I left with some mixed opinions.

On one hand, it absolutely has that fun factor the author is talking about: you feel like you've "earned" your system and that it really is yours, as installation isn't just some app you click-click-click through, but rather the (very nicely written) guide expects you to make choices and tailor the distro to your liking.

Leaving out stuff you don't need and seeing how "lean" your system can be without compromising on usability is a cool exercise too and so is configuring your own kernel (though, in my experience, it is also arguably Gentoo's biggest footgun, unless you have a recovery USB or other backup available, you're kind of boned). Not having to compile in stuff you wouldn't use anyway is in a weird sense very "liberating".

Also, while I didn't bother with ricing beyond the basic march=native stuff (even though Gentoo is Rice), the system did feel a lot snappier than the other distros I've tried at the time. Perhaps this was merely an illusion (I never made any benchmarks, so I cannot make any strong claims), but regardless it made my old T440p that I used through my uni years feel much nicer to use.


On the other hand I often felt like I'm "fighting" with my system.

Not even the builds (which I expected to take time), but emerge itself felt insufferably slow, whether I was querying for packages or trying to install stuff with more complex dependency graphs, it always felt like things were taking just that much longer than you'd expect that you start worrying whether the PC is freezing up or you've made a mistake or something.

USE flags were often poorly documented or had unexpected side-effects and that caused me some very annoying debugging trips, that I felt like better documentation could have avoided. I mean things like apps straight up not working if you had one flag on, but didn't switch another (seemingly completely independent) flag on too.[0] It also felt weird that you had to "hunt" for them on either websites or using something like equery and then set with flaggie, instead of this functionality being integrated into the base package manager.

Figuring out your kernel config is very much a skill that takes time and at the time none of the guides I've found were helpful beyond the basics. I believe this has not been an issue for a while because Gentoo introduced binary kernels, which should completely eliminate this problem for anyone who doesn't want to mess with manual configs, but at the time it felt like you're either forced to tread a mine-field or just compile a "fat" kernel, which took an awful lot of time. It was not fun to face unexpected crashes, regressions, etc. because you're just a bloke who likes Linux and not someone who properly understands the different kernel subsystems and how they work together. My bad, in a sense, but also it was rough.

qt-webkit was the bane of all slow machines. I'm not 100% sure, but I think that one too had eventually gotten a binary package, because it simply dwarfs most other common software one might install. For me every update of it meant an additional 2-3 hours of compilation atop what I was actually trying to install/update. This isn't really a "flaw" of Gentoo, it wears "source-first" on its chest proudly, but as an end user this one package caused quite a bit of misery.

Finally (though perhaps this is the most "my problem" of all aforementioned points), Gentoo is absolutely not an "on a whim" system. If you need something, you better have the time to wait for things to compile. Unless you're primarily using small stuff, "app-hopping" is a no-go. Which is usually not a huge problem, but it bit me a couple of times when I really needed something fast and didn't have it available. I also frequently didn't have the opportunity to keep my PC running overnight, which left me the unfortunate choice of whether I put all my processing power into getting things compiled and be barred from my PC or keep a precious core for myself, which would leave me with a technically functional system that would occasionally lag hard and also compile much longer than it should have.


Ultimately, I folded and took the pragmatic choice: That is to say, I went back to Arch, because I couldn't afford to mess around on the PC I used for my studies. Yet at the end of the day, I still came away with a lot of respect for Gentoo. It gave me a whole new perspective how a distro may work and (regardless of the frustration it occasionally caused) I learned a lot about the gory internals.

Reading this blogpost (and also these writing down my experiences) made me feel very nostalgic though. And from what I've heard, a lot of the rough edges have been since sanded away. Maybe I will give it another shot eventually.

[0]: This is actually remarkably similar to what I've experienced with Nix packages that have switches. Sometimes even when the description seems obvious, a change can bring unexpected effects.

pointlessone

I love Gentoo. One of the killer features is that it’s a rolling release distro. I had a server that ran continuously for 15 years. It ran Gentoo. It would’ve kept on going if I didn’t have to switch provider. It was easier to install afresh than try to port over an image. I haven’t had same luck with Debian or Fedora. I tried both and both are a royal pain if you need a version of a lib/app that is not pre-packaged for that specific version. I haven’t had much luck with upgrading those either: somethings broken after upgrade and downtime is noticeable.

hgrsd

Those all sound like very laudable aims from a lovely project. I haven't tried Gentoo for decades but I have such fond memories (though at the time, I was not happy) of leaving my PC compile something overnight; sometimes to find out, when I woke up, that it had failed about 80% through because some dependency couldn't be found on the system.

Maybe I should give it a try again. "Gentoo aims to be fun" - I think it would be.

knirirr

Years ago I used to use it for a production service, running BOINC. Various packages (PHP, Perl, Apache IIRC) needed to be compiled with particular flags (I don't recall which) that weren't available in the default Fedora repos, so the previous sysadmin compiled them all by hand and never updated them. Portage was a much more pleasant solution.

aCaB

I've been on gentoo for about 15 years on my main dev box, switching over from debian unstable.

To be honest I can't quite say why I'm using it and why I like it; which I think means that at the end of the day it just works and I'm not compelled to change.

There are minor inconveniences, sure.

Being on ~amd64 means newer software but also that binary packages for libreoffice and friends are not usable and they may take some time to compile.

Occasionally emerge chokes on me and requires some hammering but the experience is not unlike that of apt on debian sid.

What I really find spectacular is the responsiveness, technical competence and drive to dig and resolve issues of the package maintainers and the community at large. Try submitting something to bugs.gentoo.org once in your lifetime :)

FRIGN

Having run Gentoo as my main desktop for 14 years (no reinstall, it's still the system I set up back then, transplanted from computer to computer), I can definitely recommend it. It's rock-solid. I switched directly from Ubuntu to it with only a few months of Linux experience then. The installation alone taught me so much (and was doable with the excellent documentation), and in all of those years, I have racked up a lot of Linux knowledge thanks to its hands-on approach.

You can run the compiled system upgrades in the background with a low load, and it's much more stable than binary-based systems. What really sells it for me is the tooling, e.g. crossdev for generating custom cross-compilation toolchains with a single command.

Gentoo never failed on me in all of those years. If you haven't already, definitely check it out!

aarroyoc

So many good reasons! I'm rebuilding my home lab, I have a VisionFive 2 (RISC-V/8 GB RAM) and I was planning on either put Alpine Linux or Gentoo on it. Both support it, but Gentoo allows you to use systemd (which I prefer over OpenRC) and I've only used Gentoo a few times, so it will be fun!

jeeger

I still miss how nice portage is: Parallel installs, understandable error messages, patching by the user (just drop a file into the right /etc/portage/ subdirectory), sandboxing for the builds, configurability…

But at some point, I didn't want to wait for stuff to compile any more (even with the large packages being available as binary packages)…

calvin

I use Gentoo (on a CI server) not because performance or anything like that, but because it's trivial to apply patches or do rebuilds with specific flags for specific packages. Dump it in /etc/portage/packages, done.

kolja

I ran Gentoo on my main (then only) machine in the latter half of the oughts. I think that that time is responsible for most of my Linux (not CLI, but system) knowledge – even though many tools from back then have changed or been superseded. I think Gentoo was a better idea back then, when things were still a little simpler in a lot of ways.

I tried it for fun a few months ago, but gave up because it took too much time to look up everything I needed to configure. The installation was also more complicated, since there are now multiple branching paths depending on what you want your system to be. And, sadly, it felt like compilation times (wall clock) have increased in the last 20 years. I quickly started to dread updating packages, but probably because I also felt bad having my little old laptop running at full blast for hours just to get the latest Librewolf.

hongminhee

I first ran into Gentoo in high school, about twenty years ago. I told an upperclassman that I wanted to learn Linux, and he told me to install Gentoo from stage1. His only advice was to print the handbook before starting, because I wasn't going to have a browser in my pocket once the install went wrong.

I had no idea what I was getting into. For almost two weeks, I basically didn't have a working home PC. Every day was the same: fight with the install at night, go to school the next morning, read docs on the school computers, ask him what I'd broken, then go home and try again.

At some point it clicked. By the end I had accidentally learned what a chroot was, how to build a kernel badly, why /etc/fstab mattered, and how easy it was to make a machine not boot. I also picked up Vim somewhere in that stretch, and never stopped.

I don't run Gentoo anymore, but I'm still grateful for those two weeks.