speedie.site

Is Gentoo a waste of time?

2023-09-11

I can't believe I've had a blog for as long as I have, and still haven't talked about Gentoo. So here goes.

A few days ago I uploaded a video where I showed off Geometry Dash running on Gentoo Linux with a tiling window manager. The result of course is that a window that you normally cannot freely resize can be resized to any size you want. On that video I got a few comments asking me about Gentoo though, and whether it's worth it or not, so today I want to talk about it.

What is a source based distribution?

First of all, most GNU/Linux distros are binary based, meaning they have a package manager that connects to a server hosting prebuilt binaries of the requested software. Arch, Debian, Fedora, Void are all examples of distros that distribute their packages primarily using prebuilt binaries.

On the other hand, source based distros have a package manager that (usually) connects to a server, downloads the source code directly from the developer and compiles it on the user's machine automatically. As you might imagine, this approach means installing programs will take a lot longer, but it comes with several benefits

Why use a source based distro then?

The most obvious benefit is that when you compile it yourself, you can alter the way the package is compiled to fit specifically your computer. Package maintainers don't have the time to compile packages for every possible computer out there, that's just unreasonable. But when you compile your own packages, you only need to support your computer, or the computer you're building packages for. This comes with benefits such as:

In the case of Gentoo for instance, you can set USE flags for packages which essentially means you can disable features you do not use. This contributes to what I mentioned above.

Using a source based distro like Gentoo also makes you a better GNU/Linux user. Some distros like Arch Linux don't ship a lot of packages by default, but do have wrapper scripts and MANY meta packages, so in the end you don't learn as much as you would if you manually installed everything.

For instance, If you install Gentoo, and you use a custom kernel configuration, learn USE flags and compiler optimization, you're going to learn more about the kernel, you're going to learn how a GNU/Linux system works and how one is built, how compilers and compiler flags work, and so on. Learning is never a bad thing, so why wouldn't you want to learn about your distro while you're using it?

I should also note that Gentoo in particular has BOTH Debian like stable packaging and the bleeding-edge Arch packages. In fact, Gentoo has even newer packages than Arch because you can compile straight from Git. If you are a developer, I'm sure you can see how this is incredibly useful. The best part though, is how you can install any specific version (provided the ebuild is available) so if you want to have stable packaging but the latest version of a specific program, you can do that.

Alright, but what about compile times?

Many new Gentoo users get scared away by people on the Gentoo forums or other places telling them that compile times are long and it's going to take several days to get up and running. This is not true for most people.

A decade ago when we had much older hardware compile times could be a problem and installing a simple program could take hours if not days. Most people have modern multithreaded processors now and a lot of RAM, so compiling programs really will not take that long. I'd say, if you have an 8 thread processor and 16 gigabytes of RAM or more, you should have no problems running Gentoo and compiling programs quickly. You can always do it with less, but the more threads and RAM you have the quicker you're going to compile programs.

When you're using Gentoo, you're natually going to move from bloated software to more minimal software, because of the aforementioned compile times. So it changes you in a good way and keeps your minimalism in check. Even if you're using GNOME and bloated programs, it's not going to be that bad. It's also worth noting that although I'm not a fan of Flatpaks, they're certainly an option on Gentoo, and may prove useful if some packages are broken or you don't want to compile some packages.

There are some packages that will take a long time to compile even on high-end hardware. Programs such as Clang, Chromium, Electron, Rust, among others. But for these there are often binaries available, and when there aren't any, you can often find binary packages on overlays (repositories operated by Gentoo users).

Should you use Gentoo?

It depends, but Gentoo can work for (almost) everyone, provided the compile times are tolerable. Gentoo is great if you want to optimize your system and get every last performance out of it. Gentoo is also great if you want the absolute latest packages. Gentoo is great if you want the most stable system, in fact KickassTorrents was run on Gentoo Linux servers. Gentoo is great for minimalists, because of all its USE flags and options. Gentoo is great as a learning tool, too. In my opinion, it is as close as you can get to a perfect GNU/Linux distro, if you overlook the compile times.

That's it for today, have a good day!

Source

Comment

To post a comment, you must be logged in.