May be a mean sounding question, but I’m genuinely wondering why people would choose Arch/Endevour/whatever (NOT on steam hardware) over another all-in-one distro related to Fedora or Ubuntu. Is it shown that there are significant performance benefits to installing daemons and utilities à la carte? Is there something else I’m missing? Is it because arch users are enthusiasts that enjoy trying to optimize their system?
After using Debian, mint and Ubuntu off and on for years. I am so much happier running endeavoros. I’ve had no issues with it. It’s stable. I don’t feel like I’m dealing with dependencies and random config battles that I did on mint. It’s been great.
What trouble?
archinstallmakes it dead simple to get on your computer, then at that point it’s not much different from any other distro?I’d sooner ask why people choose shit like Ubuntu where you’re stuck dealing with snaps out-of-date packages, and bloat.
I used Debian and Ubuntu for like 20 years and just got sick of packages being forever out of date, and the Archwiki always having exactly what I needed.
I get to set up a system precisely how I want it to work, when an update releases for something, I get that update and I am not at the behest of a maintainer to decide for me if I need that feature or bugfix at the moment. There’s no preconfigured “opinions” on how stuff should work that differ from the defaults in most cases, which means everything usually actually just works, vs some distros were the maintainers felt they were smarter than upstream and consequently broke shit.
I’ve just gotten used to knowing i can get the latest and greatest and AUR makes a lot of stuff easy when it comes to getting stuff not readily available on the package manager. There’s not often i can’t find something i want or need to not be on there.
I’ve used both base arch and cachyos. I’ve landed on cachyos for now because i didn’t want to fiddle with games and wine and just wanted them to work and they just do on cachyos. Laptops that i don’t expect to game on just get base arch with hyprland installed, just mostly so i can get my tinkering fix from modifying hyprland
My main reason is, it’s not a dependengy hell. If I want to build software, I don’t have to go through 5 iterations of being told something is missing, figuring out what that is (most annoying part), installing that and retrying. On Arch-based distros, it’s 2 or less, if it even happens.
Also, AUR.
Other points include
- Small install (I use archinstall though, because more convenient.)
- rolling release.
- Arch wiki
My installs never broke either, so it doesn’t feel unstable to me.
I like it more than ther distros because
- Debian is a dependency hell, otherwise fine. Older packages. I still use raspian though.
- Fedora has too much defaults that differ from my preferences. I don’t want btrfs, I don’t want a seperate home partition, dnf is the only package manager that selects No by default. dnf is also the slowest package manager I’ve seen. Always needs several seconds between steps for seemingly no reason at all. Feels like you can watch it thinking “Okay, so I’ve downloaded all these packages, so they are on the disk. That means - let’s slow down here and get this right - that means, I should install what I downloaded, right. Okay that makes sense, so let’s do that. Here we go installing after downloading”. I also got into dependency hell when trying something once, which having to use dnf makes it even worse. - I guess you can tell I don’t like Fedora.
- Love the concept of NixOS, don’t like the lack of documentation
- Debian is a dependency hell, otherwise fine.
I agree on the older packages (I don’t need cutting edge), but what do mean about “dependency hell”?
Side note, I laughed a bit at this, I haven’t heard the term “dependency hell” since the old rpm editor hat days before yum.
Because it is less trouble.
I read comments here all the time. People say Linux does not work with the Wifi on their Macs. Works with mine I say. Wayland does not work and lacks this feature or this and this. What software versions are you using I wonder, it has been fixed for me for ages.
Or how about missing software. Am I downloading tarballs to compile myself? No. Am I finding some random PPA? No. Is that PPA conflicting with a PPA I installed last year? No. Am I fighting the sandboxing on Flatpak? No. M I install everything on my system through the package manager.
Am I trying to do development and discovering that I need newer libraries than my distro ships? No. Am I installing newer software and breaking my package manager? No.
Is my system an unstable house of cards because of all the ways I have had to work around the limitations of my distro? No.
When I read about new software with new features, am I trying it out on my system in a couple days. Yes.
After using Arch, everything else just seems so complicated, limited, and frankly unstable.
I have no idea why people think it is harder. To install maybe. If that is your issue, use EndeavourOS.
Everything I wanted to say in a single comment.
It really just werks™
Its like buying a pre-built PC vs a custom PC.
They do the same things at the end of the day, but the the custom PC converts the extra time investment into a result that gives better performance and is more suited to your needs.
The more you want it to work your way, the less you want a prebuilt solution, and the more you want a rock solid package management system and repo setup. Debian derivatives work in a pinch, or for a server, not so great for a PC you want to do a lot of things on.
Ease of use.
I’ve run the same CachyOS partition for 2 (3?) years, and I don’t do a freaking thing to it anymore. No fixes, no tweaking. It just works.
…Because the tweaks and rapid updates are constantly coming down the pipe for me. I pay attention to them and any errors, but it’s all just done for me! Whenever I run into an issue, a system update fixes it 90% of the time, and if it doesn’t it’s either coming or my own stupid mistake.
On Ubuntu and some other “slow” distros I was constantly:
-
Fighting bugs in old packages
-
Fighting and maintaining all the manual fixes for them
-
Fighting the system which does not like me rolling packages forward.
-
And breaking all that for a major system update, instead of incremental ones where breakage is (as it turns out) more manageable.
-
I’d often be consulting the Arch wiki, but it wasn’t really applicable to my system.
I could go on and on, but it was miserable and high maintenance.
I avoided Fedora because of the 3rd party Nvidia support, given how much trouble I already had with Nvidia.
…It seems like a misconception that it’s always “a la carte” too. The big distros like Endeavor and Cachy and such pick the subsystems for you. And there are big application groups like KDE that install a bunch of stuff at once.
This! I after two years of Debian out of habit from the past, I switched to cachyOS last year and am pretty happy with it. Completely agree that updates feel easier to manage (so far).
However, I guess hygiene also plays a role here: dont “try” multiple audio drivers and this sort of things
Yeah. I would massively emphasize this too.
Don’t mess around.
Especially don’t mess around with AUR. Discrete packages are fine, but AUR tweaks that mess with the system are asking for trouble, as they have no guarantee of staying in sync with base Arch packages.
-
It works well for me.
Actually, I am a long-term Debian user (for 15 years) and use it in parallel with Arch, since about ten years, and I had less trouble with Arch: When upgrading from Debian 10 to 12, GNOME broke for me so that I could not log in any more. I spent a day or so to search for the cause - it is related to the user configuration but I could not figure out what it was and I had to time-box the effort, and switched to StumpWM (a tiling window manager, which I had been using before). I had no such problem with Arch, and on top of that I could just install GNOME’s PaperWM extension just to give it a try.
You could argue that my failure to upgrade was GNOME’s fault, not Debians, and in a way this is true. Especially, GNOME should not hide configuration in inscrutinable unreadable files, and of course it should parse for errors coming from backwards-compatible breaking changes.
But the thing is, for software making many small changes is very often much easier than a few big changes. For example because it is far easier to narrow down the source of a problem. So, it is likely that GNOME on Arch had the same problem between minor upgrades, and fixed it without much fuss.
But you also need to see that Arch is primarily a Desktop/end user system, while Debian is, for example, also a server system. Debian is designed for a far larger range of applications and purposes, and having many small breaking upgrades would likely not work well for these.
I agree with you on the “stability” of frequent small changes vs infrequent huge ones (release upgrades on distros like Debian, Ubuntu, or Fedora).
However, I have had multiple Arch installs where I have not used the system for multiple years (eg. old laptops, dormant VMs). Other than having to know how to update the keyring to get current GPG keys, Arch has always upgraded flawlessly for me. I have had upgrades that downloaded close to 3 GB all at once with a single pacman command (or maybe yay) that “just worked”.
Newer software is nice, it’s not too much trouble.
It’s a some “trouble” to install, but it’s worth it. I spend like 2-3 days getting every little thing the way I like and then I’m set for basically the life of the hardware.
That’s true for any OS install I do for myself though :)
It’s the IKEA effect. You tend to like something more if you built it yourself.
spoiler
… and you understand it more when you build something by yourself, so it’s easier for you to fix it when it’s broken.
Funnily enough, I thought like you and was rocking Debian and various derivatives for years. Then one day, for some stupid reason (an out-of-date library for a side project in the Debian repo) and out of curiosity I tried arch.
Honestly have not looked back since for a bunch of reasons.
First, the package manager (pacman) is just awesome and extremely fast. I remember quickly ditching fedora in the past because, in part, of how goddamn slow dnf was.
Then, it’s actually much lower maintenance than I’d initially believed. I maybe had to repair something once after an update broke, and that was expected and documented so no problem there. Plus the rolling release model just makes it easier to update without having version jumps.
Talking of documentation, the wiki is really solid. It was a reference for me even before using arch anyways, so now it’s even better.
People also tend to value the customisability (it is indeed easier in a sense), the lack of bloat (like apps installed by default that you never use), and the AUR.
And, to be fair, a good share of people are probably also just memeing to death.
So I don’t know whether you’re missing something, it depends what you think Arch is like. If you believe it to be this monster of difficulty to install, where you essentially build your own system entirely etc etc… then yeah, you’re missing that it’s become much simpler than this. Otherwise if having more up-to-date software, easier ways to configure things and a rather minimal base install so you can choose exactly what you want on your system does not appeal to you, then likely arch is not going to be your thing.
dmf does way better conflict resolution though. In Arch you often have to clean up after pacman.
In the AUR maybe. I certainly have had to trim lots of old electron and other bloat.
My favourite package manager is APK 3. No clean-up required there almost by definition.
So you can tell people you use Arch btw
Some people might think you are joking, but it’s actually true
Is it shown that there are significant performance benefits to installing daemons and utilities à la carte?
No, not really.
Is it because arch users are enthusiasts that enjoy trying to optimize their system?
This is IMHO the most important aspect. The thing they’re trying to optimize isn’t performance, though, it’s more “usability”, i.e. making the system work for you. When you get down to it and understand all the components of the OS, and all the moving parts within, you can set it up however you prefer and then combine them in novel ways to solve your tasks more quickly.
This is the most important thing. Over time, you develop opinions about software and methods of solving problems. I have strong opinions on how I want to manage a system, but almost no opinions on flags I want to switch when I compile software. This is why I’m on arch not gentoo. I’m sure I’ll make the leap eventually…
Before I switched back to Arch for my daily driver, I’d frankensteined my Fedora install on my laptop to replace power management, all the GUI bits, most of the networking stack and a fair chunk of the package system. Fedora, and Gnome in that case is opinionated software. That’s a good thing as far as I’m concerned, having a unified vision helps give the system direction and a unique feel. These days, I have my own opinions that differ in some ways from available distros.
I wanted certain bits to work a certain way, and I kept having to replace other parts to match the bits I was changing. When you ask the question, can I swap daemon X out for Y, the answer on fedora was, sure, but you’ll have to replace a, b and c too, and figure out the rest for yourself. Good luck when updates come along.
The answer on arch is, yeah, sure, you can do that - and here’s a high level wiki naming some gotchas you’ll want to watch out for.
I’ve also reached a stage in my computer usage that I don’t want things to happen automatically for me unless I’ve agreed them or designed them. For example, machines don’t auto-mount usb drives, even in gui user sessions, or auto connect to dhcp. I understand what needs to be done, and do it the way I want to do it, because I have opinions on networking and usb mounting.
My work laptop is a living build that I just keep adding to and changing every day. Btrfs snapshots are available for rollback…
I’ve got two backup machines - beelink mini me’s running reproducible builds created using archinstall. It’s running on internal emmc, and they have have a 6 disk zfs raidz2 on internal nvme drives, all of which are locked behind luks encryption,with the keys in the fTPM module, without the damn Microsoft key shim. On is off site. Trying to get secureboot working on Debian was an exercise in frustration.
I’ve modified a version of that same build for my main docker host on another mini PC.
My desktop runs nixos, but will be transfered to arch next rebuild.
I’ve got a steamdeck, which runs an arch based distro.
I used to run raspberry pi’s on arch because the image to flash the SD cards used to be way smaller than what was offered by the default pi is.
That’s all using arch. It’s flexible, has the tool sets I need, and almost never tells me ‘No, you can’t do that’.
My desktop runs nixos, but will be transfered to arch next rebuild.
That’s interesting; any particular reason? I went the other way around (Arch for multiple years -> Gentoo for a year or so -> NixOS for over a decade now), and never looked back.
you can set it up however you prefer and then combine them in novel ways to solve your tasks more quickly
Can you think of a quick example, out of curiosity?
For context, I’m using NixOS, not Arch, but it’s a similar enough idea. I have a tiling/tabbed WM configured just the way I like it, and a window switcher thingy, and it makes juggling hundreds of windows really easy and quick. Combined with a terminal-based editor, a custom setup for my shell, and direnv for easy environment switching, I can be switching between a dozen different projects within a single day (sadly a requirement for my work right now).
Whenever I look at how my colleagues with KDE/Gnome are managing their workflows, it makes me appreciate the work I put into my setup a lot.
Also, I have a whole bunch of shell aliases and scripts for tasks I do often.
Sure, you can configure any distro to do that, but things like Ubuntu or Fedora would get in the way. At some point, when you want to choose (or even write) every component of the system and configure it yourself, it’s easier to just build from scratch rather than start with a lot of pre-configured software and remove parts.