Why Linux is not ready for the desktop, the final edition
Why Linux is not ready for the desktop,<br>the final edition
Font size: [ ▲ ] [ ▼ ]
Table of contents
Translations:
您可在此阅读本文的中文版。
Une traduction en français
The previous iteration of this article was too technical, too long, and contained a lot of controversial points, so I've been thinking for a long time about rewriting it completely, making it accessible to the non-technical folks, and exposing the deeper core issues that still make Linux a questionable match for the modern desktop PC. The first version, written more than a decade ago, was quite popular, but today this site gets very few hits because the PC is more or less obsolete: most people in the world do everything on their smartphones. The PC has largely been relegated to businesses, professionals, hardcore PC gamers and PC afiscinadoes.
Again, as in the old article, I want to make one thing clear: Linux can actually work for your use case, especially if that use case focuses on using your computer as a web client. Fire up Firefox or Chrome and you're good to go (of course, if you're lucky enough to have hardware video acceleration working on your system, which is still an issue in 2024, almost two decades after Windows got its video encoding adn decoding acceleration working almost flawlessly).
Just to be clear, this article is about Linux distributions, not specifically the Linux kernel. The Linux kernel itself is useless without applications to run on it.
Linux can work for IT pros. This article is about the usability of Linux distributions for the average person who doesn't want to touch console or learn shell.
So, let's go through the list of the core issues that are unlikely to be ever solved unless someone invests north of a billion dollars in Linux:
Linux is not necessarily an operating system
When you think about an operating system, you're often considering a core system that includes a lot of software, designed to work regardless of the operating system's version. Windows is particularly impressive in this regard—many 32-bit programs from Windows 95 continue to work perfectly on Windows 11 64-bit, nearly 30 years later. Nothing remotely comparable exists for Linux.
Android also demonstrates strong compatibility. As of 2024, Android 15 (the current release) supports all Android software dating back to Android 7.0—providing over eight years of compatibility. In fact, even older apps can often be installed and used.
The situation is very different for Linux distributions. With Linux distros, the preferred method of distributing software involves compiling it for each specific release of the operating system. As a result, compatibility isn't guaranteed, and software from the distant past frequently won't run on current Linux distributions.
What's worse is that software compiled for the current version of Linux X will not necessarily work for the current version of Linux Y. Linux distros insist that all the software must be compiled for their current releases or provided as source code. The problem with source code is that normal users won't bother to compile anything, and secondly, it's not always possible to compile software because it may depend on a specific compiler or dependencies that your distro doesn't provide. As for distros, they have to employ maintainers who are willing to support said software, and if no one steps up, you won't find the software you're interested in in your distro.
However, savvy readers of this article will notice that Linux offers flatpaks, snaps, and AppImages. I'm not going to write an insightful treatise (please follow the link) on their shortcomings, so I'll just say it bluntly: these are all lightweight virtual machines. It's crazy to think that they solve software incompatibility in Linux, they just work around it by making the user allocate and run gobs of binary code, unnecessarily taxing their storage, CPU and RAM. What's worse, you can just as easily run them under Windows' WSL. So what's the point of having Linux installed on your computer in the first place?
Another major issue with them is that software needs to be packaged by someone as such a lightweight VM. Only the most popular software titles get this treatment, so forget about your favorite obscure application from years ago. It won't run, it's not available. Goodbye. Compare this to Windows 11 64, where the vast majority of software titles released in the last 30 years run almost flawlessly. I'm not talking about games, many don't, but not because of poor Win32 compatibility, but because games were not coded for the future.
In other words, each Linux distribution is a separate operating system. And when it comes to choosing one, which one should the average user choose? Nobody will tell you, and there will be countless debates about which one is "better" or "proper".
"Artem is lying and making shit up. There's no such issue!" Does the name Linus Torvalds ring a...