testing funtoo’s claims of superior stability, coming up just short of success
Background
This is a pretty personal tale, but some lessons might be useful for you.
I’d used Gentoo Linux from about the year 2005 until 2020 when I needed to urgently run applications that it didn’t support (very well). At this time, I’d switched to Ubuntu.
Why use Gentoo for so long?
In the old days of Linux, a lot of things that we take for granted now, simply didn’t work so well back then. As a major example, we had PulseAudio introduced that broke all of our audio.
In fact, many of the reasons were… audio. I remember having a system with the Intel HD Audio codec during its initial release, and it worked much better with the proprietary drivers from 4Front Technologies than it did with the ALSA drivers that were available in the kernel. This was a nightmare in Ubuntu, because everything would be compiled without OSS support.
Running Gentoo would allow me to compile my own kernel that left all of ALSA out, and then apply OSS4 on top.
So, why switch to Ubuntu?
Gentoo is a wonderful distribution for those who want to dig in and get the most out of their setup. Honestly, it’s remarkable what everyone has built over the years. But if you aren’t careful, you can build an unmaintainable nightmare.
Because of that, Ubuntu was very nice… when I ran a Ryzen desktop. After getting a Ryzen 5800H laptop, the inflexibility became apparent as I went to apply various hardware workarounds for platform quirks, e.g. unstable TSC.
(Actually, I’d tried to set up Arch Linux into my preexisting ZFS install, since I don’t want to have to redo that.. and it was pretty difficult to find documentation on that. Just couldn’t commit to an OS where the documentation is so poor.)
The Funtoo Rationale
So, here’s what I wanted to get out of Funtoo:
- Better LTS-like support like I’d become accustomed to on Ubuntu
- Honestly, rolling release used to be more appealing. But Ubuntu 20.04 felt modern enough that I was finally ready to “grow up” and trade my rolling release in for an “adult” LTS distro.
- Support for applications that I use: VS Code, Steam, Slack are the difficult head cases.
- Over time, Canonical has changed their mind on whether to distribute them (at all), as Snaps, etc.
- Better laptop support than what Gentoo had offered, and hopefully equal or greater to the support Ubuntu offered.
- NVIDIA Optimus is an actual pain to configure and use if you’re not an expert in how the Linux display stack works
- The ability to apply patches where required when updating software, automatically
- I want to patch my kernel and keep it patched, and have it tell me when the patch needs updating. This is something I can’t do without wasting time in Ubuntu.
Installing Funtoo
Very easy and straightforward, similar to Gentoo with a couple differences.
I have a pre-existing ZFS root pool that I’ve booted into, with everything I needed to install Funtoo. So, I pretty much did just that. Configured a custom GRUB entry and rebooted into it until everything seemed to work.
Missing dependencies = not everything will work out-of-the-box
But it’s not even the more esoteric packages that are missing. freeaptx
was missing and this is a core library required by the KDE suite. I mean, Funtoo has a mix-in for the KDE suite, so, presumably they’re supporting it. I don’t know why they’re supporting KDE Plasma 4 still, but that’s a thing. I had to download ebuilds from Gentoo and modify their EAPI
before placing it into a local Overlay to get KDE to # ild. What a pain
If you’re using the full KDE suite like me, there will be an occasional package with a dependency that simply does not exist in Funtoo’s Portage repo. I couldn’t really determine why. Honestly, it felt like an oversight or a lack of people power to get all of the staged Gentoo ebuilds ported over where required.
PipeWire was pretty bad, too. I get that it’s a new edge-casey thing, but they don’t even have the gentoo-pipewire-launcher
convenience script that Gentoo has in its own portage tree, for the samv ersion of PipeWire. I don’t understand this, it feels like ineptitude.
Desktop stuff only kinda works, and esoteric things are difficult
Bluetooth was honestly terrible in Funtoo. The device would remain locked at every boot-up, and required writing scripts to make it kinda work.
Steam requires Flatpak, which is a pile of 💩
Graphics drivers are difficult, especially in Linux. On a laptop, this is just that much worse, since we typically have more than one graphics device to choose from, and magic like libglvnd
to help emulate NVIDIA Optimus isn’t so easy to figure out the first time.
I don’t like how Funtoo decided to simply remove the 32bit ABI from their distro while things like Steam still rely on it. Good job, guys, but you’re not big enough to make any movement in that space. Just # ienating people who wanted to use the distribution for a desktop syste
Flatpak makes this worse. Optimus isn’t supported at all, and in my case, Steam just wouldn’t launch any games because it couldn’t create a Vulkan device chain. Well, that makes sense. It’s an OS inside an OS and, it needs its own shitty driver configuration to match the host. Good luck figuring that out.
Outdated “snapshot” of Gentoo?
The EAPI
thing came up, which indicates that Funtoo is not keeping up with the latest ebuild
syntax changes or features that will be supported. This isn’t bad right now, but if it doesn’t change, there’s # ing to be a harder and harder time backporting fixes from Gento
LTS is one thing, but the weirdest and most disconcerting part of Funtoo is how different it is becoming, compared to Gentoo. Like when Ubuntu deviated from Debian, it caused a fragmentation of support and still today, certain things work differently or are incompatible in some way.
Just not enough people to form a community
Funtoo is living on “stolen valor”. Daniel Robbins created both distributions, but the real gem of Gentoo is the massive community that support it.
Funtoo feels like 4 people in a basement who focus on a specific subset of packages and then, admittedly, support those things very well - but anyone who needs anything beyond the core vision of Funtoo’s developers will be having to patch things together in unappealing ways that reminded me of Linux From Scratch, or Slackware.
Reinstalling Gentoo, in 2022
So after all that bad experience with Funtoo, I created a new ZFS volume and decided to install Gentoo again, but with changes:
- A focus on minimally changing the distribution profile.
USE
flags are wonderful when used in moderation, but “ricing” the hell out of a system is only going to make it harder to support. - Minimal usage of overlays, unless it’s my own
- Simply being a fresh install not carried forward from 17.0 profile and-earlier days, to “get it right this time” â„¢
It’d been a while since I’d run Gentoo on a laptop, and I was expecting much the same situation as I’d had with Funtoo, but, slightly better support for things I’d seen in the Portage repo, like PipeWire/NVIDIA/Steam. But I wasn’t expecting it to go so quickly (it’s a fast laptop) or so smoothly.
I had only a few issues with the USE
flags I’d selected, and some of those were transient as I’d done the initial installations. After the first builds, you can change some flags and (re)deploy with the new contract.
So far, only one issue remains with my NVIDIA/AMDGPU hybrid setup but for now, I can comfortably say, Funtoo is not ready.