this post was submitted on 27 Jul 2023
48 points (87.5% liked)

Linux

48248 readers
854 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

More specifically, Portage. I know use flags and "optimization" are all the hype, but really, would the average user even see a benefit from customizing all their use flags? Especially a benefit that compensates for the constant compilation?

I installed it once to help grow my e-peen, but immediately switched back to Arch after watching my system compile.

Those who daily drive it, do compilation and use flags annoy you, and do you see any real benefit?

all 33 comments
sorted by: hot top controversial new old
[–] GenBlob 18 points 1 year ago (1 children)

The main benefit to using Gentoo is having complete control over your system. I've been a Gentoo user for nearly 6 years so the feeling of accomplishment has worn off long ago and now I feel like I'm using any distro which is a good thing. use flags come in handy when you want to install a desktop but none of the extra crap that's bundled with it or an application that has a feature that's disabled by default that you want to enable. Most packages take less than a minute to compile and on the stable branch, most of the big stuff only needs to update once in a while. From an outsider it sounds tryhardy to use Gentoo but in reality I'm using Firefox or playing a game while something compiles in the background which isn't as often as you think. I update once a week and it's usually 4 packages that take a minute to compile.

[–] InverseParallax 15 points 1 year ago* (last edited 1 year ago) (1 children)

Haha, ran gentoo for about a decade.

At some point breaking your system blocks your actual work and you get lazy, hence my return to debian and freebsd.

But when you're young and have the energy it's great.

Also, the optimizations never helped that much, maybe 2-3% or so usually, which considering the raw firepower a decent workstation has now just seems pointless, compiling xorg or kde aren't going to move that needle.

[–] [email protected] 8 points 1 year ago

I wonder about the optimizations now. When I used gentoo it was an era where binaries were compiled for lowest common denominator targets. i386, ppc etc. That is they used no optimized instructions at all. It was the era where MMX and SSE were becoming a thing and there were genuine optimizations you were likely missing out on. So compiling your own stuff actually did show varying levels of improvement.

These days I'm pretty sure most binaries are detecting cpu flags and flipping on extra functionality when detected so the optimizations are less pronounced than they were.

But, I'd be interested to know if I've got that wrong. These days, I've gotten older and I don't have time to spend a weekend fixing my system when it goes wrong, as such I'm using pre-compiled distros. Often when they break I'll fall back to my dual boot windows until I have a block of time to fix it. How did I have so much spare time back then?

[–] [email protected] 13 points 1 year ago

As someone who has daily driven gentoo in the past, I didn't see much benefit to compiling everything over my previous arch install. It was a mess to keep up long term and wasted a lot of power unnecessarily. I'm way more happy on fedora now.

[–] GustavoM 6 points 1 year ago (1 children)

If you have lots of free time...? Nah, not really.

t. tried Gentoo once, noticed it took over 7 hours to compile a kernel (on a "HIGH-END gaming rig") -- noped the eff out of it instantly.

[–] [email protected] 12 points 1 year ago

It doesnt take 7 hours on my 6 year old laptop. Did you ran make with j16 or however many cores you have?

[–] donio 6 points 1 year ago

You use Gentoo if you want control and transparency. It's great it if you are the kind of Linux user who wants things in a certain way and wants them to stay that way.

Do you want to use systemd or something else? Do you want to use pulseaudio, some other sound daemon or no sound daemon at all? X11 or Wayland? Emacs built with gtk, some other toolkit or no toolkit at all? Do you care if firefox is built with telemetry support?

If you have no opinion about this sort of stuff or your choices align well enough with a binary distribution then you are probably just as good using something else.

[–] [email protected] 6 points 1 year ago

One of the many values of GNU/Linux, and free software in general, is choice. You don't have to use any particular distro if it doesn't fit your use case or preferences. I don't use Gentoo but really appreciate that it exists. If I ever wanted more control over my system, I could turn to this tried and tested distro. I am quite lazy these days and from a short period of breaking Arch, I started breaking Debian, then staying with Debian stable without breaking it and now I have moved to MX Linux, which is Debian that someone else (the MX/Antix team) have set up in the way that I want without having to install everything myself. But, yes. There is great value in Gentoo (like in Kali, Tails, Slackware, Guix, etc).

[–] [email protected] 6 points 1 year ago (1 children)

Not a fan of how the OP's written but whatever.

Like any distro, it's for who it's for and if you don't like it then feel free to distro hop until you find one you do. Why is the "average user" trying to use a "hard distro" anyway? Seems like the "average user" is increasingly "some rando who just wants to use their computer" so yeah, I'd say it's pretty useless for someone who has no use for it. I suppose it's more of an "if you don't know why you want it then it's probably not going to help you" sort of thing. I like that it lets me set things up my way then mostly just goes away until I want it for something. Other people like software that holds their hand or handles a bunch of things for them. It's fine, not everything must be for everyone.

[–] [email protected] 4 points 1 year ago (1 children)

You successfully evaded the actual question: what is the point of Gentoo.

Gentoo doesn't hold your hands, but that doesn't mean that it has a purpose for even the most enthusiastic users.

There might have been a time when compiling your own software was an actual benefit, but those days are long gone. When you're using Gentoo today it's either a hobby on its own (which is fine, but per definition pointless) or it's a flex (which is not so fine).

[–] [email protected] 2 points 1 year ago

From what I've seen, Gentoo was popular in the 2000's for users who wanted maximum control over their system. That means recompiling everything.

Sometimes the "maximum control" when too far when users set aggressive optimization flags that broke some packages. To the point that some upstream developers (e.g. Gimp) were refusing bug reports from Gentoo users because of the stupid optimization flags they were setting in hope of getting a "faster" system.

Anyway, it seems to me like the crowd who liked Gentoo has mostly moved to Arch. But I'm sure Gentoo still has its fans.

[–] kerneltux 5 points 1 year ago

Yeah, the average user: 1) doesn't care what's running under the hood, and 2) doesn't want to control what's running under the hood.

I'm definitely not an "average user." I like specifying that I don't want wifi, bluetooth, or dvd functionality on my desktop when I have no need/desire to use them. So use flags are one of the main reasons I use Gentoo. Occasionally, it causes some mild irritation, but it's a net-positive for me.

[–] [email protected] 4 points 1 year ago (1 children)

Real benefit. For average users it's debatable but if you want to exclude certain components or have complex dependencies "just work" without tons of docker images or need bleeding edge performance by tweaking everything, I don't see any other choice.

Also if you need to seamlessly integrate new projects that don't provide packages, writing a live ebuild is straight forward and will keep updated from a regular git repo just like any other package.

Want to compile certain stuff with clang and the rest with gcc? Or use libressl instead of openssl? Stuff like that? No problem. Just be aware that you might need to file bug reports if you do exotic stuff because gentoo won't prevent you from doing stuff nobody did before.

And installing gentoo by going through the install manual step-by-step, is certainly priceless for diving into linux under the hood. It's a bit like a LFS but without the hassle.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

So, that sounds like the kind of thing you would want if you’re making something like a drone or a router, and you have very limited resources available in the device. Compiling can be done by a the cluster you you have in the factory, not the feeble pi zero on the final product itself.

However, I can totally see why many people would want to run Gentoo at home too. It’s a pretty cool idea, and if it’s cool you might be willing to put up with the drawbacks.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

something like a drone or a router

Highly customized/optimized Linux images certainly are one use case of gentoo.

if it’s cool you might be willing to put up with the drawbacks

The "cool factor" is a significant point. My gentoo laptop (which I update rarely besides browser/security updates) boots in under 3 seconds to graphical login :-)

Compiling can be done by a the cluster

Actually most compiling is pretty quick on modern systems (compile in DDR4 ramdisk, nvme, fast CPU etc.) I'd say, most stuff compiles as quickly as installing a binary nowadays.

It's the huge stuff that's annoying: webkit, rust, Qt, boost, firefox/chromium etc. But one can skip updates easily or use precompiled binary packages that are provided for big stuff.

Pi4 is perfectly doable. But Pi Zero won't be a lot of fun.

[–] Nibodhika 3 points 1 year ago

I daily drove Gentoo (Funtoo actually) for a couple of years, there are things to love and things to hate in it. For me it wasn't worth it, like you mentioned the compilation times ruined any semblance of optimisation I might had, also having to recompile the kernel because I forgot to enable joystick support was not a great experience. That being said, after the initial difficulty, Gentoo is a breeze to maintain, you have files with the packages you want, which use flags for each, etc so after it's setup once it's just normal upgrades. Also it allows for packages to be installed in one-shot mode, which means you're installing it but are not sure if you'll keep it, then you can run a command to list (and uninstall) all of them. That is one of the features I miss the most on Arch, since it allowed me to keep my system lean.

[–] [email protected] 3 points 1 year ago

Well, all customizability arguments aside, there have been more than a few times I've looked at issues people on other distros are having, blinked, and thought, "Your package manager didn't take care of that for you?" Portage may not be the fastest gun in the west, but it's very good at what it does.

[–] [email protected] 2 points 1 year ago

Personally Guix/nix seems better, maybe upload your optimisations with checks and flags to let others recompile where it's most worth it.

[–] Jumper775 1 points 1 year ago

I use it so I can have the most power over my base system. I like to mismatch versions of stuff I like, for example I want the latest mesa but perhaps a stable version of OpenSSL, and perhaps a few patches applied to mutter. Only gentoo lets me do that autonomously. I use flatpak for my apps on top of that so that I don’t have to worry about compiling apps and can get updates faster. The exception to this is steam, this doesn’t get updates through the system often, and means I can use my newer mesa and the such with games. This also means that my apps don’t have to worry about potential bugs introduced by most of my changes. It gives me the best of all worlds.

[–] [email protected] -1 points 1 year ago* (last edited 1 year ago) (2 children)

Annoy is completely the wrong term. You're getting to control over what is to be built and what's not, and since softwares are compiled and optimised according to my hardware, they are lighter and faster with less attack surface.

That may sound cumbersome for a novice to setup the portage configuration but in return it is really worth the time, and it is usually one time, unless you plan to add or remove features. But once you're satisfied with your configuration, you don't have to look back at it.

I found YouTubers complaining about going through hour long upgrade on the daily bases very misleading. Only a few core packages can take that long, which are upgraded on a quarterly bases.

Wait did you seriously called it a hype? Before switching to Gentoo, I was using Arch, softwares have better support of eachother and if feature isn't working you can always talk with the dev how to resolve it. They might even look into modifying the ebuilds to make them compatible.

FYI, I never came across any breakage and I've been using Gentoo for about an year now.

[–] [email protected] 1 points 1 year ago (1 children)

and it is usually one time, unless you plan to add or remove features

you don't update your system? this is what turned me away from gentoo. i setup my system just the way i wanted but everytime you upgrade you re-compile everything again and again. and some of those updates require some tinkering.

[–] [email protected] 1 points 1 year ago

You misunderstood. The configuration is one time. Updates and patches gets configured according to your configuration.

FYI, The updates you get are also pre-compiled by the distro team, and are compiled with generic flag to ensure compatibility.