To speed up working with slow hardware and for overall convenience, we’re now also offering binary packages for download and direct installation! For most architectures, this is limited to the core system and weekly updates - not so for amd64 and arm64 however. There we’ve got a stunning >20 GByte of packages on our mirrors, from LibreOffice to KDE Plasma and from Gnome to Docker. Gentoo stable, updated daily. Enjoy! And read on for more details!
Quite the statement that Gentoo has survived for so long compiling from source but, even with ever advancing processor speeds, they’ve finally gone "Nah… Takes to long. ".
I mean, I don’t blame them. Yesterday I left my machine building a PyTorch package for 4 hours on a 12 core processor.
As a long-time Gentoo user the only packages where compile times (and RAM usage) really bother me are all the myriad of forks of that shitty Chrome browser engine (webkit-gtk, QtWebEngine, chromium,…) and LLVM and clang.
Chrome takes so much longer than the kernel somehow. There’s also the occasional package that makes you build single-threaded because nobody has fixed some race condition in the build process.
More importantly Chrome takes so much longer than Firefox even though they essentially do the same things (or 95% the same things if you are nitpicky).
Yes, but Chromium is very easy to embed in applications. Mozilla has a history of creating and then abandoning embedding APIs every few years or so (and right now I think they have none).
It seems very hard to embed it anywhere considering everyone doing so forks the whole codebase. Besides, my point was about compile times, embedding APIs shouldn’t take significantly longer to compile.
My beef tends to be with software out of FANGs. Big teams and huge codebase to match. Completely inpetetrable for the rest of us and, I suspect, far more code then there should be.
Chromium with wayland and X support is by far the greatest offender that I have found.
I once shredded an sdcard-as-home while trying to compile firefox. This is why i say the web is broken. Needs a fucking kernel++ to display webpages.
To be fair USB sticks and SD cards seem to fail when you stare at them a bit too intensely. I think it has been at least a decade since I bought a USB stick for OS installations that lasted for more than three installs (each a few months apart at least since the need does not arise that often).
To think the day Gentoo goes binary would finally come…
Next: Slackware get automatic dependency resolution
I hate to be the one breaking the news, but…
Well we’ve had binary packages for ages for big builds like firerox and default is still to use source packages.
Still I’m really excited for this, having the whole, or big parts of the package tree, will speed up initial installations by a lot on weak arm systems for example. Now initial installation can be done quick and later you could still compile stuff yourself for the full gentoo experience.
Heretics! The true chosen use Exherbo!
(No, seriously, this is fine. And there’s nothing keeping people from doing full source-based still.)
Gentoo “purist”: “Welp, Gentoo is now officially dead.”
Non-gentoo user: “Welp, Gentoo is now just another Arch fork LMAO!”
Non-gentoo user: “Welp, Gentoo is now just another Arch fork LMAO!”
To be fair, you can still build packages and fine-tune the builds with the Emerge system flags, which is sort-of Gentoo’s killer feature. It is just that they have recognized that most people will install probably 99% of all software without changing the default flags, and so why not give them those packages pre-built.
So I guess this make Gentoo more similar to Nix OS or Guix OS but without the high-tech package manager and dependency resolution.
literally 2 days ago i tried installing gentoo in a vm but gave up because it would take too long to compile… and now this??? guess my timing was pretty bad
if i did use gentoo, i’d probably compile smaller programs from source and bigger things like kernel and web browser i would use as binaries.
I think this is the sign from the universe you’ve been waiting for!
Wouldn’t the larger ones be the ones you’d get the most benefit from compiling?
Not really I think optimizing it gives you small performance gains.
Seems kinda pointless to compile most packages unless there are specific performance optimizations or non-default features that can be enabled. I think the way I would use this would be to do binary by default and build only on the occasional instance there is a tangible benefit.
I stopped using Gentoo because compiling everything was a major waste of time, but I have missed world files since then. This is a great reason to reconsider Gentoo for my next machine.
FWIW, Alpine Linux has a nice world file, too. And I am continually impressed by the selection of up to date packages in their Edge repos.
Can the file be split into different files like in Gentoo? I used to have different files for basic stuff, gaming, hardware specific, etc, so I could keep the parts of the Configs I wanted from one machine to another.
If so I’ll definitely check it out, been meaning to try Alpine since for what I understand it’s not GNU, right? Which should put a final nail in the GNU+Linux copy pasta hahahah.
I don’t think apk would check multiple files for the world. But you could maintain them outside the apk mechanisms, just concatenating them into a single file, with tup/make/sh/whatever.
Makes sense, I actually have a tool for that sort of thing that I wrote for i3 configs (it’s called CFC and it’s here in case you want to use it https://gitlab.com/Nibodhika/cfc )
Alpine Linux is the most sane distro I tried. The absence of glibc brought limitations unfortunately, but it is the fault of developers that uses that shit instead of pure libc.
But why? Isn’t building from sources the whole point of Gentoo?
For the ability to mix and match. Makes it easy for newcomers.
There are Gentoo distros that have binary packages, and Funtoo (a Gentoo-based distro that’s 64-bit only) even suggests using Flatpak for certain software that needs 32-bit resources like Steam. Hell, you can install Flatpak on Gentoo if you want. Gentoo also provided binary packages in the past but only for a few packages (mainly web browsers, but annoyingly not qtwebengine. maybe that’s changed here.)
Gentoo is more about having fine-grained control of your system than anything else nowadays. If that’s what you want, go ahead! For most people, Arch or even something with less control like Ubuntu or Fedora will suffice.
I think I will revert some deviations from the default useflag settings to use the binary versions of some browsers.
I think it’s a good move. It doesn’t take anything away from people who want to keep compiling everything, but now people on especially old laptops can enjoy the distro too.
Though I will probably continue being a void user this makes me want to use gentoo more then it did before.
Love this change. I wonder if I can install a binary-based Gentoo distro and gradually progress from there, if I wanted to, with locally compiled packages that partially replace the binaries. I hope this is not an all-or-nothing situation, so better read the announcement.
EDIT: Hey, yes we can!
So… Bentoo? Bintoo?
Bento 🍱
😋
For the uninitiated, does “gen” imply source/compilation somehow?
no, it’s a penguin
No. But “bin” implies “binary” (already compiled).
Gen-toobin
The distro for white water rafters.
I’ve been a Gentoo user since 2004 or so and used to crosscompile binaries in like 2006 for all of my systems including some sparc and ppc builds on my main servers. It was glorious. I adore Gentoo for portage and the ability to dream up a set of OS decisions and then actually do it, dog food and all. I’ll probably never not have some form of a Gentoo system within reach but mostly for nostalgic reasons but VMs and containers now fill my needs.
Good for them
Been using Gentoo on my server for over a decade now and probably won’t ever leave the compiling front, especially with a 12-core/24-thread CPU making it go as quick as regular binary updates on my mint laptop… But that being said, in happy to see them considering to do this. It’ll bring in some folks who are afraid of (or just dislike) compiling everything from source. I think the biggest packages that’d benefit from this are definitely the browsers and desktop environments.
Isn’t the reason everyone says they use Gentoo is because of “all the optimisations” but if you’re not compiling for your specific hardware doesn’t that go out the window?
If someone claims to do it for “all the optimizations”, you can immediately assume they are full of shit. If anything, the true gain is the control over the features to compile or not compile into your packages.
I’m also wondering who this is actually for. There’s no shortage of binary distributions, I thought Gentoo’s whole use case was if you want to compile everything.
I can see it working if one wants to customize the compilation flags of a few packages they have strong opinions on, but otherwise don’t care about the rest of the system. Sort of like the binary cache in NixOS, where by default you use the binary cache, but you can customize parts of your system triggering a source-based installation for that parts.
Not necessarily. You probably want to optimize the kernel and a few packages. Then there are some apps where you want to build them with specific features. Then there’s a bunch of stuff that takes forever to build where a binary would be convenient. Flags and optimizations aren’t that important for KDE frameworks or Firefox.
Offering binaries is a really nice middle ground. Gentoo makes it so easy to build custom packages from source but it’s always been all or nothing. I don’t want to wait 2-3 hours building updated libraries or Firefox every time there’s a patch.
Personally, I would be interested in a distro that had binary packages, easy builds like Gentoo and something like Arch’s AUR.
Hm? Didn’t they already offer binary packages for a while now?
The official binhost project has been an experimental thing until now, I’ve personally been using it for the year on multiple machines, but it’s not been something that you can just enable. And it’s definitely not been something that’s come pre-prepared in the stage 3.