State of the Linux Desktop
As a long-time Mac user, I've asked myself the eternal question: is this the year of Linux on the desktop? Here is what I found out after a year of incremental buy-in..
I have used almost exclusively Macs since about 2007, but had my first Linux desktop in the late 1990’ies while at university.
I have owned a Linux desktop since 2018, which mostly acted as a server, and last year I bought a monster desktop with an AMD 7950X3D processor, 64gb RAM and Nvidia 4090.
Today, I only pick up my M1 Max Macbook Pro when circumstances dictate I need a laptop, otherwise, I mostly use my desktop. But for a long time after my desktop purchase, I was still using the Mac as my primary computer. The switch-over really only happened fully in the last 3 months or so.
Dipping my toes in
The desktop came with Windows 11 installed. It lasted about 4 hours before I could not stand it. Back at the end of last year, I installed Pop!OS on it, simply because it was the one distro I could make work with the Nvidia card.
A year later, the picture has changed a lot: I’ve since tried Ubuntu (24.04 and 24.10), Kubuntu, Pop!OS and EndeavourOS (an Arch based distro with simple GUI installer). All of them install easily, without much pain.
However, for the first 9 months, I didn’t fully go Linux, I used the desktop for some work, and some games, but tended to prefer my Mac still, purely out of habit. Slowly, that picture changed, and about 3 months ago, I went on Linux-Distro safari, tried all of the aforementioned Linux distributions.
Now, I think I’ll probably stick Linux, and I’m pretty sure my next laptop will be a Framework 13, assuming Framework start shipping to Switzerland. I wouldn’t expect a non-Mac to have the build-quality or battery life of a Mac, but then again, a new top-end mac would set me back about $5000, whereas a fully-kitted out Framework 13 would be < $2000. The Mac will certainly not be 2.5x better than a Framework.
The reality of Linux vs Mac OS
After a year of going back and forth, my take on Linux vs Mac OS is: there’s really not much between them. I don’t think one of them is particularly better than the other. If you know how to use a computer, the transition will be mostly smooth, and almost all the same apps are available in one shape or another, or at least analogues are.
What brings me to Linux is a few things:
I like to develop software on the same platform I deploy to. Least risk of weird bugs.
There really isn’t much difference. Apart from Command vs Control key usage for copy-paste, I can move seamlessly between the platforms. Maybe a testament to how far Linux has come, is that I can’t say it’s worse than Mac anymore. Things mostly just work.
I like to foster vendor-independence in my workflows. Being bound to a single eco-system sits wrong with me. So being able to move between platforms just feels good. Call it compute-autonomy.
I really can’t bring myself to pay 2-4x for the same hardware, when the experience isn’t even 10% better. As an example: a 1 to 4tb SSD upgrade with Apple is about $1100. You can buy some of the top-of-the-line 4tb SSDs for PC’s for under $300. I promise, the soldered, unrepairable stuff is not 3.5x better.
Where Linux is better: Gaming
The work that Valve has put into Proton and the Linux platform is nothing short of amazing. Gaming is perhaps more of an aspirational hobby for me, than a real one, but it seems to me that practically every single-player game ever made for PC plays well on Linux now, with few exceptions.
The area where gamers might encounter issues is multi-player games, where anticheat systems rely on Windows rootkits, but this is not an issue for me, as I don’t really play multiplayer games.
What about window managers?
I have tried Gnome, KDE, i3wm and Hyperland.
If you want to keep it simple, not tinker, and have things just work out of the box, just stick to Gnome or KDE. Anything else is asking for initial pain.
I’d say Gnome feels familiar for a Mac user, KDE feels familiar to Windows users. KDE though has higher ability of customize the look-and-feel, and the default apps of the KDE eco-system have slightly better polish.
If you care about polish and customizability, go KDE. If you want to keep things simple, go Gnome.
Personally, I did not keep it simple: I prefer using Hyprland, a tiling window manager as my default, which I’ve heavily customized for my needs (see screenshot). I did this, because I simply like the workflow where I can keep my hands on the keyboard most of the time, and very rarely have to use the mouse. But It wouldn’t recommend it if you are not prepared to put in the time. I use KDE as my backup, and I also use the KDE apps as my default apps for file-management, PDF viewing etc.
Which distro should I pick?
Again, if you want a simple life, where everything just works: use a Ubuntu LTS for Gnome, (currently 24.04), or the Kubuntu LTS for KDE. I suspect vanilla Ubuntu might be the best tested one. Everything should just work, including sleep etc, unless you have new, unsupported hardware.
If you feel adventurous, go with a non-LTS Ubuntu/Kubuntu. It’s worth noting, a lot of “big software vendor” software is frequently built and tested for Ubuntus LTS releases, so if you rely on some specific software, Ubuntu LTS will be the path of least resistance.
Obviously, I don’t heed my own advice, and instead went with Endeavour OS, which is an Arch Linux based distribution. This means occassionally some things break, sleep doesn’t work etc. But this is pain I’ve imposed upon myself in exchange to have the latest and greatest software for everything. Can’t be a beta-tester without experiencing some bugs, huh?
Should I switch from Mac to Linux too?
My advice here is: really depends. Like I’ve said, there isn’t much between Mac and Linux for a software engineer these days, the experience is very similar, UX, hardware support, software, all within 10% of each other.
For me, the question comes primarily down to autonomy/independence, using open source, and ultimately, not seeing the point in paying usurious Apple prices anymore, when I can get similar quality for a third of the price. Sure, I won’t expect exact equality in quality, but it’s good enough to not warrant a 3x markup.
Also, given how resource-light Linux is, I’d expect hardware to last much longer. As an example: I recently gave my mother an old 2014 Macbook Pro. It is out of support for MacOS updates, but Ubuntu 24.04 ran merrily on it when I installed it. Lifespan extended by yet another few years (Apple typically support computer hardware for up to 7 years).
If you are looking to switch, Linux likely won’t rock your world, but neither will it diminish your quality of life and work. In 2024, Linux mostly just works, is as usable as Mac or Windows (probably more so than Windows!), and has sufficient software to get almost anything done.
If you’re a gamer, whether casual or hardcore, chances are also that Linux will be the best possible platform for you.
Thats not really a 1-to-1 comparison though. Framework 13 uses U series CPUs and the fastest available option is comparable to base level M4. So 1-to-1 comparison to Framework 13 could be base M4 macBook Pro. And suddenly the initial prices for reasonable configurations(16/32 GB ram + 512/1024 GB SSD) are roughly comparable.
Better comparison for specked out M4 Max macbook is your "monster desktop". M4 Max is faster than AMD 7950X3D on the CPU side and comparable to GTX 4080 (not 4090) on the GPU side. All that in the portable form with much better thermal efficiency.
And by the time current generation of macs stops being supported I suspect Asahi Linux will be usable given amazing progress it's doing.
That doesn't deny core Framework strengths: repairability and upgradeability. RAM and storage is not only much cheaper, but also you don't need to buy more than you need at this moment. And if something breaks you don't pay through the roof. So total cost of ownership does end up much lower over longer period of time.
And Linux does stand up against macOS. I've played with Pop OS for few minutes recently and immediately loved integrated window switcher/application launcher. It's something I'd love on macOS, but only managed to setup in Alfred separately with two individual keyboard shortcuts.