Gentoo Linux 2025 Review

1 month ago (gentoo.org)

Gentoo is the best! Once you get the hang of creating a bootable system and feel comfortable painting outside the lines, it feels like Linux from Scratch just without needing to manually build everything. I automated building system images with just podman (to build the rootfs) and qemu (test boot & write the rootfs, foreign arch emulation) and basically just build new system images once a week w/ CI for all my hardware + rsync to update. Probably one of the coolest things I’ve ever built, at this point I’m effectively building my own Linux distro from source and it’s all defined in Containerfiles! I have such affection for the Gentoo team for enabling this project, shocking to discover how little they operate on I’m definitely setting up a recurring donation.

  • I think it is a great learning opportunity, but after using Gentoo for a decade or so, I prefer Arch these days. So if you want to learn more about Linux and its ecosystems, go for it, do it for a few months or years.

    That said, I haven't tried Gentoo with binaries from official repositories yet. Maybe that makes it less time-consuming to keep your system up to date.

    • Been happily and very successfully using the official binpkgs, it works really well, sometimes there's a slight delay for the binary versions of the source packages to appear in the repositories, but that's about it. I guess it's kind of running Arch, but with portage <3! And the occasional compilation because your use flags didn't really match the binaries

  • Did you document this somewhere? I'm interested to know more

    • Nah, first time I’ve mentioned it anywhere. Happy to answer questions, if there’s interest maybe this could be my reason for a first blog post.

      5 replies →

    • Not what was mentioned by parent but I've been working on an embedded Linux build system that uses rootfs from container images: https://makrocosm.github.io/makrocosm/

      The example project uses Alpine base container images, but I'm using a Debian base container for something else I'm working on.

    • Honestly this is just sorta a Tuesday for an advanced Gentoo user? There are lots of ways to do this documented on the Gentoo wiki. Ask in IRC or on the Forum if you can't find it. "Catalyst" is the method used by the internal build systems to produce images, for instance https://wiki.gentoo.org/wiki/Catalyst.

  • Gentoo is LFS but with the interdependence between packages mapped out for you (all hail the USE flags!) Or, alternatively, Arch with even more customization knobs to twiddle.

    I have had Gentoo in at least one nearby system (physical and/or VM) since about 15 years ago. It's always a blast interacting with it.

  • After driving Gentoo for a while back in 2004, I decided I don't really want to wait compiling for everything.

    • For those that don't want to wait compiling for everything - https://www.calculate-linux.org/

      It's still 100% pure Gentoo (and actually these days even vanilla Gentoo itself offers precompiled binaries) so you still can compile things in rare cases that binary isn't already compiled with use/config that you want.

    • That’s mostly why I build system images in CI; my slowest builds (qemu user mode emulation of aarch64 for e.g. raspberry pi boards) can take multiple days so I just declared myself a 1 week window between updates and then just pull in the changes via rsync. I even boot the images with qemu as part of the testing cycle. At some point I might try building and hosting prebuilt bins like gentoo does now, I don’t use those though because I explicitly want to build everything from source.

For me, the most underrated takeaway here is the state of RISC-V support.

While other distributions are struggling to bootstrap their package repositories for new ISAs and waiting for build farms to catch up, Gentoo's source based nature makes it architecture agnostic by definition. I applaud the risque team for having achieved parity with amd64 for the @system set. This proves that the meta-distribution model is the only scalable way to handle the explosion of hardware diversity we are seeing post 2025. If you are building an embedded platfrm or working on custom silicon, Gentoo is a top tier choice. You cross-compile the stage1 and portage handles the rest.

  • While I was always a sourced-base/personalized distribution personality type, this is also a big part of why I moved to Gentoo in early 2004 (for amd64, not Risc-V / other embedded per your example). While Pentium-IV's very deep pipelines and compiler flag sensitivities (and the name itself for the fastest Penguin) drove the for-speed perception of the compile-just-for-my-system style, it really plays well to all customization/configuation hacker mindsets.

    • That is a fantastic historical parallel. The early amd64 days were arguably Gentoo's killer app moment. While the binary distributions were wrestling with the logistical nightmare of splitting repositories and figuring out the /lib64 vs /lib standard, Gentoo users just changed their CHOST, bootstrapped and were running 64-bit native. You nailed the psychology of it, too. The speed marketing was always a bit of a red herring. The ability to say "I do not want LDAP support in my mail client" and have the package manager actually respect that is cool. It respects the user's intelligence rather than abstracting it away.

      Since you've been on the ride since '04, I'm curious to hear your thoughts. How do you feel the maintenance burden compares today versus the GCC 3.x era? With the modern binhost fallback and the improvements in portage, I feel like we now spend less time fighting rebuild loops than back then? But I wonder if long time users feel the same.

      8 replies →

  • Embedded usually uses yocto or buildroot or whatever it’s called. Never seen anyone use gentoo.

    I can speak for yocto being completely built from source and has a huge variety of BSPs, usually vendor-created.

  • All distributions are source based and bootstrapped from source. They default to binary packages by default (while offering source packages) whereas Gentoo defaults to source packages (but still has binary packages). There's literally no advantage to Gentoo here. What you're saying doesn't even make logical sense.

    Other distros don't support Risc-V because nobody has taken the time to bother with it because the hardware base is almost nonexistent.

  • Fedora and Debian have been shipping RISC-V versions of stable releases for a while. I don't think anyone is really struggling.

    • arch is, but arch also has some woes making even amd64_v3/v4 builds, arm64 aside.

> The Gentoo Foundation took in $12,066 in fiscal year 2025 (ending 2025/06/30); the dominant part (over 80%) consists of individual cash donations from the community. On the SPI side, we received $8,471 in the same period as fiscal year 2025; also here, this is all from small individual cash donations.

It's crazy how projects this large and influential can get by on so little cash. Of course a lot of people are donating their very valuable labour to the project, but the ROI from Gentoo is incredible compared to what it costs to do anything in commercial software.

  • This is, in a way, why it's nice that we have companies like Red Hat, SUSE and so on. Even if you might not like their specific distros for one reason or another, they've found a way to make money in a way where they contribute back for everything they've received. Most companies don't do that.

    • Yes, that would be nice but when I look at their Grub src.rpm for instance, some of those patches would look original but came from Debian.

      Back in the day when the boxes were on display in brick-and-mortar stores, SuSE was a great way to get up and running with Linux.

      5 replies →

    • I don't know that Red Hat is a positive force. They seem to be on a crusade to make the Linux desktop incomprehensible to the casual user, which I suppose makes sense when their bread and butter depends on people paying them to fix stuff, instead of fixing it themselves.

      27 replies →

    • Red hat certainly burns a lot of money in service of horrifyingly bad people. It's nice we get good software out of it, but this is not a funding model to glorify. And of course american businesses not producing open source is the single most malignant force on the planet.

      10 replies →

  • OTOH, not having money also comes with upsides, like not having overpaid CEOs, managers, marketing people, or distracting side projects.

  • Yeah, especially when a CSS library makes $1M a year. I guess they have no incentive to improve funding.

  • This was exactly what I was going to comment on. Why are they not spending more money?? I don't even know what they should spend it on, but like.. it's Gentoo! I would have thought they'd pay the core devs something?

  • It would be interesting to have a more accurate estimate of the effective cost of maintaining Gentoo. Say 100 core developers spend 10h/week, and 380 external contributors 2h/week; that's well over 40 FTE, and at $150K per FTE that's $6 million a year.

  • The issue is that gentoo isn’t very popular in the industry. If it catches on with a few well funded tech companies, then it’s easy to get $10k or so from each one in sponsorships at conferences.

    • ChromeOS uses Gentoo as a base. That doesn't seem to have helped get them any Google money.

  • ...is Gentoo large and influential these days? As far as I'm aware, its current cultural status is that of a punchline, but I'm open to being corrected.

    • Gentoo's Portage build system is (or at least was?) part of Google's ChromeOS

      Gentoo also runs the backend infra of Sony's Playstation Cloud gaming service

      Anecdotal evidence claims it used to also run the NASDAq

      5 replies →

    • Gentoo is often at the forefront of identifying and helping resolve integration issues between different software projects, particularly when it comes to compiler tech (e.g. fixing packages so they can be built properly with LTO, or with LLVM as well as GCC) or other backend-detail-minutia which makes the whole system better without always being visible to the end user.

Thanks for posting this! It's been a nice first year as a Gentoo developer. Everyone has been kind and helpful to me as I've been figuring things out.

I want to highlight something: Gentoo's developer onboarding system is EXCELLENT. Starting as an active member of the general community, you talk an existing developer into being your mentor and fill out an open book test ( https://projects.gentoo.org/comrel/recruiters/quizzes/ebuild... ) which later is graded/corrected in a couple of meetings which I'd equate to the "job interview". I wish more open source projects (including my own) had such well-documented, straightforward processes to gain commit access. I appreciated the process of doing the quiz as it helped me close gaps in my knowledge.

2025 I switched to nixos and will probably stay. I used gentoo for like 20 years. Its the distro of my heart.

With some notebooks, some of which were getting on in years, it was simply too resource-intensive to update. Only GHC, for example, often took 12+ hours to compile on some older notebooks.

  • I tried to list available packages on NixOS and nix-env consumed more than 6 GB Ram. Everyone told me not to use nix-env; everyone except NixOS manual. Trying to understand NixOS environment is a deep rabbit hole.

    • The Nix documentation is what drove me away from it years ago when I tried. I ended up landing on GNU Guix, where I have been for about 5 years now. I found the OS documentation to be much nicer (info pages!) and the decades of Scheme documentation makes the language easier to pick up too.

      1 reply →

    • Yeah, it's in a weird state of officially being stuck to legacy channels/profiles and unofficially having moved to flakes. Excessive RAM usage with nix-env, which theoretically can be improved but requires deep design changes, was what driven me to flakes.

Really hope I can return to Gentoo soon. It was just the most stable and most hacker friendly distro Ive ever used. Hats off to all the contributors!

  • I used Gentoo for ten years (2005–2015), and I was very happy with it! Stable was not the word I would use, in that updating frequently broke and required manual intervention. But it was so flexible! The easily accessible options one has for choosing everything about the system is unparalleled in any system I have tried since. I would still use it if I had more tinkering time. These days I am on NixOS, mostly to have the same setup on every machine I use.

    • What Gentoo really needs is an official immutability mechanism like ostree used by Fedora Silverblue or ZFS/btrfs snapshots of the root/boot volumes. This way the ever-experimental nature of the distro would be compensated by having an easy mechanism to rollback to previous known-good builds.

      2 replies →

    • Hah, same! NixOS is perfect for me; I love the declarative aspect. But Portage is far-and-away the best traditional package manager I've ever used. It's truly phenomenal.

    • I think Gentoo is very stable, but you have to make use of revdep-rebuild and know what you are doing (meaning: it is easy to shoot yourself in the foot).

    • I've been on Gentoo for my gaming desktop for like 2-3 years now and I don't think I've ever had an update break anything.

      I will say though that my valgrind is broken due to march native. :)

      1 reply →

Been using Gentoo since 2004 on all my machines. They won me over after I started playing around with their Unreal Tournament demo ISO.

The game changer for me was using my NAS as a build host for all my machines. It has enough memory and cores to compile on 32 threads. But a full install from a stage3 on my ageing Thinkpad X13 or SBCs would fry the poor things and just isn't feasible to maintain.

I have systemd-nspawn containers for the different microarchitectures and mount their /var/cache/binpkgs and /etc/portage dirs over NFS on the target machines. The Thinkpad can now do an empty tree emerge in like an hour and leaving out the bdeps cuts down on about 150 packages.

Despite being focused on OpenRC, I have had the most pleasant experience with systemd on Gentoo over all the other distros I've tried.

  • I'm so interested to learn more about this. Do you still run all your emerge commands on the thinkpad? What's the benefit of mounting /etc/portage over nfs?

    I have this dream of moving all my ubuntu servers to gentoo but I don't have a clear enough picture of how to centralize management of a fleet of gentoo machines

    • Yes - still use emerge on the Thinkpad like I would on the host, like emerge -avuDN @world and such. This is the wiki article [1] I used to set up most the portage side of things, it covers NFS as well.

      I use NFS to mount the container's /etc/portage to /mnt/portage and symlink the files to the Thinkpad's /etc/portage so I can cherry pick what I want to keep in sync with the build container. Don't have to mess with repos.conf either because portage will look to /var/cache/binpkgs by default.

      make.conf is a directory on both machines and has files like 01-common-flags.conf and 02-binhost-flags.conf. The Thinkpad has 01-common-flags.conf and 03-target-flags.conf with EMERGE_DEFAULT_OPTS="--with-bdeps=n --usepkgonly" set, so running emerge -avuDN on the Thinkpad will only update with binaries from the mounted /var/cache/binpkgs. I keep the software in sync by using /etc/portage/sets instead of the world file. Then all the package.* dirs are symlinks as well.

      The Thinkpad binhost is a znver3, so the build container has CFLAGS="--march=x86-64-v3 --mtune=alderlake" set. There's some SIMD extensions that two don't have in common and it has to build code that runs on both machines, otherwise you could use the target architecture in --march. Using the --mtune option in my case apparently sets the L2 cache size of the produced code to that of the Intel chip.

      Systemd-nspawn containers are super easy to spin up, as you basically install Gentoo from stage3 and it works like a chroot but with a full init. I run updates irregularly, there's still some manual effort for maintenance, but it's mostly just kicking off emerge and letting it build in a tmux session.

      [1] https://wiki.gentoo.org/wiki/Binary_package_guide

      2 replies →

Gentoo has many smart people. Having said that, I can't help but feel that ever since the rise of Arch, Gentoo lost a lot of grounds. This may not be primarily due to Arch, but it kind of felt that way to me. I feel that the Gentoo devs should really look at its main competitors such as Void or Arch, IMO. These seem to be more like a modern Gentoo, even if they are different and have a different focus too.

  • Neither Void or Arch are a "modern Gentoo". Gentoo is it's own thing. If anything, Gentoo's closest "competitors" in terms of OS customisation would be NixOS or Guix, not Void or Arch, but Gentoo is forging it's own path, it doesn't need to follow any other distro.

  • Arch is the reason I didn't choose Gentoo for my latest build. It's convenient and "good enough" for all my use-cases. Gentoo gives you the feeling of being fully connected to the computer like no other OS - the kind that leaves you nostalgic - but it also requires a time commitment.

  • " There is just one branch that all Arch users use"

      https://blogs.gentoo.org/mgorny/2024/08/20/gentoo-profiles-and-keywords-rather-than-releases/

  • I have heard rumors that at one point in time gentoo lost its forum - basically a catastrophic strike such as deleting Arch Linux wiki

    • Not its forum, there was an unofficial wiki that disappeared due to issues with the hoster in 2008. There is an official wiki nowadays.

I used Gentoo from 2006 for a decade or more and loved it. Later I got more into embedded systems and low compute hardware and flirted with other distros. Gentoo is still running on my server but desktop and notebook are now on more conventional distros.

I used to run gentoo like 14 years ago! It remains one of the fastest distros I've seen for the specific hardware it was running on (high core count 4-socket AMD opteron servers) and I mostly attributed that to the fact it was compiling everything (even the base os in this case!) for that specific CPU at install time... emerge would build/compile and if you set your USE flags correctly it produced heavily tailored and optimized binaries. I feel like a staged/graduated (downloading/running precompiled initially while a flag-optimized compile runs in the background) would be a good way to get around some of the downsides here (namely that it takes 45 minutes to install firefox with emerge/pacman and that builds fail more often than packages fail to install).

Very cool to see that it's still going strong - I remember managing many machines at scale was a bit of a challenge, especially keeping ahead of vulnerabilities.

Reading this while doing emerge @world on my personal workstation, and preparing a fresh annual portage cut for our IT infrastructure (some 600+ VMs, 400+ bare metal servers), running Gentoo.

Looking forward to using Gentoo in WSL more easily. I currently use Ubuntu for some scripting but would switch as I also use Gentoo on the desktop. Also good to see the Rust toolchain and BLAS packaging improvements.

What has kept me on Gentoo since the first Opteron days (20+ years ago) is that once you do an install, you also learn in part how to fix the things you installed, which can be helpful later on. I also do world rebuilds often which I think is just the equivalent of testing an OS backup for a source based OS. :)

I used Gentoo back in 2003. It’s nice to see that it’s still going strong. I don’t have as much free time now it’s not the distro for me, but perhaps when I retire I will come back to it.

Impressive recap! The work on RISC-V images, Gentoo for WSL, and EAPI 9 really shows how adaptable Gentoo is. I’m curious about the trend of fewer commits and bug reports—do you think it’s just natural stabilization, or are contributors slowing down? Also, the move from GitHub to Codeberg is bold; how is the community reacting to that change so far? Would love to hear more about how new contributors are finding the transition and onboarding with these updates.

I haven't used it in years, but when I was first using Linux I used Gentoo for a long time. Building Gentoo from scratch really helped me learn a lot and probably more quickly than dual-booting a system like I had been. I'll always have a soft spot for Gentoo.

How easy is it to administer gentoo servers? Is it on-par with nix/arch or harder?

  • I have not directly used Gentoo in years. It was chosen so I could learn, maximize system performance, and have proper AMD64 support before the other distros supported the new CPU specs. Gentoo also had the best documentation in those years.

    Id Software provided a Doom 3 Linux client when the game was first released. I found Doom 3 ran better on a custom built Gentoo Linux system compared to Windows XP.

    Are you look at Gentoo to maximize performance with compiling everything with custom build parameters and kernel configuration versus pre-built binaries and a generic kernel loaded with modules?

    Custom Gentoo just adds more time with having to wait to install software upgrades. It is like having all your Arch packages only being provided by AUR. There is also a chance the build will fail and the parameters might need to be changed. Majority of the time everything compiles without issue once the build parameters are figured out. It was rare when something did not.

    • Tecnically with just a kernel optimized for your CPU, realtime patches, NTSync and a custom MESA build (with -O2 and -march set to your CPU) would give a good boost instead of trying to recompile verything.

  • General administration is similar to Arch or any other regular distro. Package updates necessarily take longer because of recompiling but that's just CPU time. There are precompiled versions of big popular binaries (open office, Firefox, etc) that allow you to save a lot of time if you want.

    Where you lose time is in trying to optimize your system and packages using the multiple switches that Gentoo provides. If you're the OCD twiddler type, Gentoo can be both extremely satisfying and major time sink.

    • When you say "There are precompiled versions of big popular binaries" - were you thinking of "firefox-bin" and such?

      I think that for some years already - Gentoo has been providing binaries for "normal" packages - as long as your config/use-flags match (and if you turned on the option/flag to use binary packages).

      And of course places with more than just a few Gentoo boxes were usually already running their own BINHOST setups long time ago.

    • I don't understand the time sink. Isn't spending time knowing intricate details about your system a good thing? You know better than most if you've gone that deep.

      1 reply →

  • In my experience (this was about 5 years ago mind you) it was no more complex than an arch installation, but with a smaller community and less documentation.

  • TLDR: Installation is a pain, initial configuration is a pain and there's always something more to tweak, update is a lesser pain, but still a pain. But it's fun, BDSM-style...

    Installation is done by booting a liveCD, manually partitioning your storage, unpacking a Gentoo STAGE3 archive, chrooting in it, doing basic configuration such as network, timezone, portage (package manager) base profile and servers, etc., compiling and installing a kernel and then rebooting into the new system.

    Then you get to play with /etc/portage/make.conf which is the root configuration of the package manager. You get to set CPU instruction sets (CPU_FLAGS), gcc CFLAGS flags, MAKE flags, video card targets, acceptable package licenses, global USE flags (those are simplified ./configure arguments that usually apply to several packages), which Apache modules get built, which qemu targets get built, etc. These are all env vars that portage (the package manager) uses to build packages for your system.

    The more you use Gentoo, the more features of make.conf you discover. Never ending fun.

    Then, you start installing packages and updates (same procedure):

    1) You start the update by reviewing USE flags for each added/updated package - several screens of dense text.

    For example, PHP has these USE flags: https://packages.gentoo.org/packages/dev-lang/php - mouse hover to see what they do. You get to play with them in /etc/portage/package.use and there's no end to tweaking them.

    If you have any form of OCD, stay away from Gentoo or this will be your poison forever!

    2) Then the compilation begins and that takes hours or days depending on what you install and uses a lot of CPU and either storage I/O or memory (if you have lots of memory, you can compile in a tmpfs a lot faster).

    I'm not sure it is OK to compile the updates on a live server, especially during busy hours, but Gentoo has alternatives, including binary packages (recently added, but must match your USE flags with theirs), building packages remotely on another system (distcc), even on a different arch (crossdev). You could run an ARM server and build packages for it on a x86 workstation. I didn't use "steve", so I can't tell you what wonderful things that tool can do, yet.

    3) Depending on architecture, some less used packages may fail to compile. You get to manually debug that and submit bug reports. You can also add patches to /etc/portage/patches/<package> that will automatically be applied when the package is built, and that includes the kernel.

    I recommend you to run emerge with --keep-going to have the package manager continue after an error with the remaining packages.

    4) When each package is done compiling, it's installed automatically. There are no automatic reboots or anything. The files are replaced live, both executables and libraries. Running services continue to use old files from memory until you restart them or reboot manually - they will appear red/yellow in htop until you do.

    There were a few times, very very few, when I had crashes in new packages that were succesfuly built. It only happened on armv7, which is a practically abandoned platform everywhere. In those cases you can revert to the old ones and mask the bugged version to prevent it from being updated to next time.

    5) Last step is to review the config changes. dispatch-conf will present a diff of all proposed changes to .ini and .cfg files for all updated packages. You get to review, accept, reject the changes or manually edit the files.

    That's all. Simple. :)

    • That's a very well painted picture for what to expect. I am gonna try it soon, since it's been on my task list for too long. Thanks :)

    • I always tell people this:

      With Red Hat, Anaconda is the installer. With Ubuntu, ubiquity.

      etc ...

      With Gentoo -- YOU are the installer. This means you have to be ready to perform -- more or less manually -- many of the tasks automated in other distributions. I sorta see this as the same as a tutorial level in a video game: you learn how to read and follow the wiki which is essentially the key to success in Gentoo.

      2 replies →

    • Download image from https://www.calculate-linux.org/ - put it on USB flashdrive.

      And it's literally yes, yes, next, next - the defaults are pretty good.

      1) Calculate Linux is 100% Gentoo with more profiles (e.g. server, desktop-kde, desktop-gnome ...etc) and after switching from vanilla Gentoo to Calculate - I didn't need to tweak any use flags of any packages.

      Profiles are so good that everything works nicely together

      2) There are prebuild binaries for your profile use-flag combo - can't recall last time I had to wait for something to compile

      3) Much less likely to happen since you get binaries for everything - but there's additional cl-xxx tooling that makes even that easier

      4) I don't think that's a bad thing. Though sure I could agree that having option to automatically restart services would be nice.

      5) Yes - and you can also archive and basically have git-log on conf changes.

      2 replies →

I used to use Gentoo, it helped me learn Linux and I loved it. Waiting for things to compile took a while, but I learned about distcc and set up another machine to help the compiling! I don't use Gentoo anymore, since I don't really have the time anymore to deal with it - like having to fix compile issues - but it did feel really cool to have my system custom-tuned just for me.

(I use Fedora, btw)

"Mostly because of the continuous attempts to force Copilot usage for our repositories, Gentoo currently considers and plans the migration of our repository mirrors and pull request contributions to Codeberg."

I saw a comment in a "I moved from Windows to Linux" thread implying Windows has more configuration potential than Linux. I wonder what that commenter would make of Gentoo.

I wish I had more time I could dedicate to maintaining my system, I'm marooned on Arch due to lack of time, such a shame.

It’s so crazy to me that there are languages whose maintainers don’t make it absolute #1 priority to always have a clean golden path for bootstrapping.

Any more information on the Github move (away)? While the AI features of github are annoying, I've so far been able to completely ignore them.

  • I still send PR’s for ::gentoo to their github mirror, I would be surprised if they shut this off.

As a kid 25+ years ago, it was fun tweaking use flags, compiling with Intel cc, diving into every menu in that blue kernel configuration screen. System recompiles I think took 4 hours back then. Learned so much back then and it can even be useful to this day, I don't think I'd even know what a glibc is without tweaking out it's use flags just for kicks.

Now I am happily gaming on arch Linux and while generally developing on a Mac, need to jump into debian in docker and such. But I do hope kids these days end up trying Gentoo, the hacker skillset it builds is priceless. No offense to adults still using it! I just hope there aren't as many "my system doesn't build anymore" situations as I remember.

From the announcement it’s a lot of unnecessary philosophical moves and less innovation moves. I like innovative Linux, but that’s just my opinion.