Thoughts after using Gentoo for the summer
After a chaotic and very demanding term due to coronavirus, one nice way to relax and enjoy holidays was to do a fresh install of Gentoo. To my surprise, the installation itself was not that complicated (talking about a stage3 amd64 install), just a bit more tedious than your usual Arch install. Specifically, the most time demanding task is configuring your own kernel. But you can skip this step installing gentoo-kernel
instead of linux-kernel
, as the former has almost a carbon copy configuration of the Arch Linux kernel. Also, keep in mind that you don’t need to have a Gentoo bootable stick to install it, I used an Arch stick (mainly because genfstab as the Gentoo installer lacks a script to auto generate /etc/fstab
).
The install was made on a Lenovo Ideapad y700-15ISK. The kernel took me an entire afternoon to manually configure, mainly disabling drivers for anything that my computer didn’t have and stuff that I didn’t need. Once happy with the setup, I proceeded to rebuild my personal environment (dwm, slstatus, dmenu, neovim, …).
To my surprise, the process was simple and I encountered no problems. It worked flawlessly and couldn’t tell the difference between a fresh Arch install and this one. It felt good, an operating system and all of its programs compiled from scratch with the flags that most suited my computer. If that’s not pampering my CPU, I don’t know what else is. The performance gains were unnoticeable of course.
One cool thing about Gentoo is the ability to define your own system with the USE flags. Don’t want anything Qt related? Fine, it will throw away every Qt dependency of every program that optionally gives support to it. Another cool think is the ability to restrict Gentoo from downloading software that have certain licenses. You can specify to use particular unstable packages, and normally they just work fine. But I find it a bit tedious since you have to edit a lot of files inside /etc/portage
.
Soon I encountered my first problem: newsboat in its stable branch would not install due to a compilation error. But the unstable version installed fine. I thought that was strange, the Gentoo stable packages are well known to be VERY robust and thoroughly tested. That’s why the majority of them are a bit outdated. But that wasn’t the only thing that annoyed me:
- cuDNN is way outdated and needed to be downloaded from the NVIDIA developers page, an action that requires an NVIDIA Developer’s account (disgusting).
- If you are installing Gentoo on an NVIDIA Optimus laptop, be prepared to install everything by hand everytime you update your kernel with the help of an useless and outdated wiki page. I got it working for a month following this great video.
- Installing docker is a bit of a pain, but installing NVIDIA support for docker is more painful (I gave up). (Uh, I think I see a pattern going on here…).
- The Gentoo community is just not as large as other linux communities such as Arch based or Debian based distros. So the updates come late, the forums are not as active and the probabilities of finding someone who ran into the same problem as you is complicated. As a consequence, the Gentoo Overlays are not comparable to the AUR.
Now is the turn of the ugly thing: the compilation times. This is not a problem per se, as it is implied when using a source based distro. But it is when you use one that you realize the bloat meme has a point. How can it be that Firefox takes longer to compile than the kernel, the coreutils, and the programs I use everyday all combined? When I can have a web browser in a few minutes thanks to surf it makes you think. Every cloud has a silver lining, and thanks to the fact that a full system upgrade means a day with a useless heatsink on my desk I now find myself typing yay
less compulsively on my Arch based installs.
I originally intended to do a full college year with Gentoo, but I found it frustrating to do work on it (specially GPU related work). One day, the NVIDIA driver went to buy tobacco never to be seen again, and I had already wasted too much time fixing and installing stuff. So with a heavy heart I made a backup with tar and uninstalled it for good. I replaced it by Artix, and I’m quite enjoying it.
With what I learned, I would use Gentoo if I wanted to make a custom home server, or use a computer only to do CPU work on or even no work, use regular programs and be sure that nothing will ever break. Also it is a good way of getting more hands on experience on the kernel and learning a lot through its configuration process.