Wow. Such sweeping generalizations make me not want to pay attention to anything this article has to say.
But let's entertain the possibility that parts of that statement are true. It's practically impossible for "Linux developers"—whatever that means—to ensure that a change they make doesn't break something downstream. Unlike proprietary operating systems, the Linux ecosystem is not maintained by a single company, so it's impossible to know and account for all the environments a piece of software will run in. Distro maintainers work tirelessly to ensure bugs don't make it to users, but it's simply impractical to test every single combination of hardware and software that exists. This is extremely difficult even for proprietary operating systems where development is centralized, let alone for a distributed environment like most software for Linux, and Linux itself, is developed in.
When you think about it, it's a miracle of modern software engineering and a testament of the power of collaboration and the free software movement that the Linux ecosystem works as well as it does, and in many areas matches or exceeds the functionality of other operating systems, all the while preserving important user freedoms. GNU/Linux is a stronghold for user-friendly computing among alternatives from companies that want to control how you use your computers, or profit from your data or attention. It's not perfect, but it's one of the few options we have (besides the BSDs, but I wouldn't consider them to be as user-friendly).
That's exactly the point, though. Linux will "never be ready for the desktop" because of the problems that this causes. Developers of software for Linux, not to mention kernel developers themselves, do not have the kind of funding that Microsoft has to test on a truly staggering number of hardware configurations. And on the opposite side of the spectrum, they don't have the luxury of supporting a comparatively small set of hardware combinations like Apple has.
This box has been stable enough to make money. But not as stable as my backup (also Gentoo) which runs stable and updates weekly.
Edit: my biggest source of stability issues are Nvidia drivers mis-matched from kernel. Takes a whole reboot to fix.
Just check this bug tracker. Just this one. Bug report on top of bug report caused by a fix which was caused by another fix.
Sadly it's not just one bug tracker, I keep an eye on many of them.
Of course in the magical Linux land if "It works for me", then the author is lying.
Never mind that the author of this "click-bait" article is a ... Linux kernel bugzilla maintainer. Yeah. I can vouch for every letter in the article. It's written with my blood.
Your entire post begins with a weak "no that's not true", and then the entre rest of the post is explaining why it is true and will never change.
In a previous job, 20 years ago, we found that the Linux USB stack was so bad that it was full of deadlocks and unprotected shared memory on 2.6. Just atrocious. And subsequent releases broke it again and again.
About 5 years after that, working for a different company, I had a well-known kernel developer tell me point blank that as long as we release our code to the kernel, they will "keep it working." When I probed what that meant, he genuinely saw no difference between "compiling" and "working."
There are various efforts to add testing/tests. Those are good. But we lost a lot when Solaris, Irix, etc. all died, and Linux has never quite gotten there, and I doubt it ever will.
It can be a miracle, and yet still not be good enough. Even as a business user, knowing that if I build an app and it probably won’t work in 5 years, is all I need to know about this hobbyist toy. Linux is fundamentally not ready for anyone who has needs more than a Chromebook (which also runs Steam, by the way).
It’s like pointing to a skyscraper made out of sand. Sure, it collapses every time the tide comes in, but your robots can rebuild it in 5 minutes flat, so it’s clearly ready for tenants.
The vast majority of AAA titles run seamlessly on Linux. Per protondb[0], ≥80% of the top 10, top 100, and top 1000 are rated "platinum" or "gold" for Linux functioning (by users).
Some of the quotes from the OP's page border on parody. So, CS2 doesn't count as a AAA title because it's based on DX11 and doesn't have realtime ray tracing. But apparently this same person is oblivious to the fact that both real-time RT and DX12 translation have been completely usable on Linux for years now. Nvidia helped ship native RT to Linux clients in Wolfenstein: Youngblood, and Proton has supported the majority of DX12 games with RT since before the Steam Deck existed.
Kinda makes you glad that this is the final edition, if that's the sort of due diligence being exercised.
But am I really that alone in recognizing a lot of truth in this article? It's sad to see so much hostility within some of the other comments, even here on HN, quickly coming to linux's defence rather than having at lest some degree of reflection and acceptance towards what are almost undeniably the very common experiences of many linux users.
It somewhat proves point 7 that while not exactly to the letter of the examples given, support the point that until there is wider acceptance of the problem we are far far from a solution.
It's possible to think very positively of linux yet still recognize so many of the challenges that make linux hard to use on the desktop. This very day I can't suspend/resume my desktop because the kernel crashes on resume, a pretty basic feature of a computer in 2024. I put up with it, because Linux is still a great choice for a technically-minded user. But there are other software orgs out there that simply wouldn't tolerate this level of lived experience of any end user. But linux does, and we are where we are.
Most Linux distros won’t jive with that very well. And because every Linux distro uses a different theme and one of a dozen UI libraries/DEs/etc. the downloaded GUI application will look bad because it won’t fit in. Flatpacks and snaps really are a solution that just allows you to not pollute your OS file system (which was never designed with the concept of apps: there are no reasonable namespaces, no easy ways to uninstall, etc.) and to statically compile the app so the next OS update doesn’t break it.
If the distro contains everything you want in its repositories you can use an “App Store” front end to get what you need and the OS will helpfully keep it up to date which is more than you can say for Windows and almost what you can say for macOS. But if you need a third party app you are out of luck: including it in the distro is a process most people won’t want to undertake.
The solution is likely not going to make the nerds happy: something like snaps are the right abstraction for Applications (I am using the capitalized version here to distinguish it from system programs). What will also happen is that some Linux distros will support this kind of solution out of the box and will be the desktop distros. Not every Linux distro will be blessed with being able to run popular apps. Ubuntu is likely on the right track for this and the Unix purists will hate it more every year as it loses the original shared system philosophy and inches closer to what macOS provides.
So the real question is: do you use your Linux distro desktop for the kernel, the package system, the package repositories, or the 1337 cred?
For everyone else, the reason they don't use Linux on their desktop is because it didn't come installed on it.
If somebody does to desktops like what Google did for smartphones, then Linux will finally have its moment.
I’ve been using Linux on my desktop since 2004 or so.
And lack of games is always brought up as if gaming was one essential feature of a computer. That’s what consoles are for.
> 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
This is at the core of it, I think. Forcing a user to compile C code is a bad user experience; it often fails due to linking or other dependency-related errors.
99% of computer users will never consider replacing the operating system that came installed on their system, they don't want to risk bricking it or losing data.
What was the issue? Immediately after power management initialization during the first boot the system seen that the battery was in a bad condition and tried to hibernate but for some reason crashed instead. Out of warranty, the battery is extremely hard to replace, so a registry quirk injected through a Linux boot cd immediately after setup helped.
Is Windows actually ready for desktop?
I have used Linux for just shy of 30 years. It is different than Windows and far more powerful. It is just that people do not want to learn different things. Plus Linux has no spyware.
These days, you can do anything on Linux that you do on Windows, except for some 3d Gaming. And that is because hardware vendors refuse to support Linux in the way they support Windows. It is the fault of Video vendors, most notability Nvidia.
So off to my usual rant :) If I was the "ruler" of Linux, I would make sure no Nvidia GPUs would work under Linux until Nvidia opens up their GPU.
My Linux desktop machine does not crash. It runs whatever I ask of it boringly reliably. So does a laptop. That's been my experience for twenty years now.
My shiny new Windows 11 work laptop locks up about twice a day. Reboots if I hold power for long enough to start running again. Gives me no indication what is going wrong. Doesn't even give a blue screen with an error message.
Bluetooth usually connects after twenty minute or so of repeat attempts. Accidentally plugging in a dock overrides mic/speaker settings to ones that don't exist in multiple places. Routinely demands reboots to update itself with no observable change in behaviour.
The Windows system isn't even stable enough to host virtualbox - that upsets the network connection.
Useless.
The main difference, I feel, is that with Windows you can tell the system is built with a company's interests in mind, while in Linux this feeling is absent, and instead, you can tell the user is at the center of attention. And even if the system may not be perfect, it constantly evolves for the better. Just this difference ensures I will never go back again, nor will I ever recommend anything else.
With Windows, the system is a boss, with linux, you are the boss :)
Windows software from yesteryear frequently requires an installer that will not run on modern Windows. 16 bit installers are very common. So, the situation is not quite as rosy as reported.
My main complaint though is calling Flatpaks “light-weigh VMs”. If you are technical, you know what he means. If you are not, this leaves a totally wrong impression. Flatpak emulates no hardware. So there are zero “virtual machines”, light-weight or otherwise. Flatpaks run in a sandbox but mostly that is just a feature of the Linux kernel. Flatpak apps run directly on the host kernel just like any other app. It is totally true that Flatpaks “waste” lots of space because the way they provide portability is to bundle all the libraries that the app may need.
If we are going to complain about Flatpaks though, let’s be honest about how older Windows apps work on modern Windows. They do it by bundling all the libraries that the app will need. If you try to run ReactOS, you will learn that often you need to install old versions of the C and C++ standard libraries ( along with other things ). It is true that Windows includes much of this “out-of-the-box” for compatibility. And guess what, you pay the storage space for that on Windows. There is a reason that Windows is 30 GB freshly installed. Linux does not make you pay that tax. Instead, you have to install that stuff the first time you install a Flatpak. If you install a second Flatpak requiring the same libs, they share the space—just like in Windows.
So let’s not dump on Flatpak for wasting space just because it waits until you need it to install all these support libraries. I do not want my Linux distro to require 30 GB minimum drive space just in case I install Space Cadet Pinball.
Do I like Flatpaks? No actually. I use a distro with a huge repo largely to avoid them. Do I think Linux backwards compatibility could be better? Yes, actually. But please, let’s at least be honest and accurate when we talk about these things.
2: The statement "Linux developers spend very little to no time checking that their code changes don't cause regressions or breakages" cannot be applied to all or possibly most developers. What packages is TFA talking about here? Maybe TFA means "Denuvo developers spend very little time checking that their code changes don't cause rootkits or kernel exploits - in Windows."
3: "Lack of general software" - TFA seems to be arguing that because software is not specifically compiled for Linux, it is therefore not "available", which is laughably false. My entire Steam library works just fine on the Steam Deck and in Debian. In fact, many of those games run on Steam/Proton when they could not be made to run on modern versions of Windows.
4: "Poor file and folder sharing" - I don't think TFA has ever tried Samba in an all-Linux environment, but I will grant that permissions across machines can be tricky. You know, like sharing folders between Windows XP, 7, 10, and 11.
5: "Lack of funding on the desktop" - Listen, I don't think IBM/RedHat are underfunded. I don't prefer Gnome Desktop, but it's perfectly functional, and funding doesn't seem to be an issue there. Maybe we should ask Canonical if they've ever funded desktop work.
6: "Hardware support and compatibility" - Listen, I'm using an HP 1012 laser printer. Microsoft stopped writing drivers for this perfectly usable printer in Windows 8. I'm using a modern GPU (Radeon 6700XT) that has drivers built right into the kernel. I'm using a scanner that was new when Windows 2000 was new, and I can tell you, it won't work in Windows anymore but it will for sure work in Linux. Once again, TFA does not give examples.
7: Ok, I'll give him this one. You can pay for commercial support for Linux if you want it, though! Canonical and Redhat would love to have your money.
Summing up, it seems like this guy is just complaining that Linux isn't a commercially-supported O/S, except it is, if you pay for it. Maybe he means "Linux isn't Windows." So, his entire premise is wrong, and trolly. And speaking of trolls, you'll see TFA's name in the ars forum if you search, and I'll give you two guesses what his posts there look like.
What does "not ready for the desktop" even mean? Its been ready for MY desktop for over 20 years. Points 1,2,3 and 4 are pretty much wrong. Point 5 is a problem for other OSes too (there are bugs in applications!), point 6 is only relevant if you have particular hardware you want to work with Linux, and point 7 is not my experience.
I can assure you 'linux' works just fine on the desktop (something I have done for a couple decades), and while there is some truth to the security and funding challenges, I find taking the article seriously difficult given the current alternatives.
Both Microsoft and Apple are openly trying to force you into their vision of computing, which is pedicated on their control and profit.
I have machines that run Windows and MacOS, but those both get worse every year, while Debian (and other distros) get slightly better.
I can run many AAA games on Proton, have access to the best development tools available, and am granted choice everywhere.
I can't even log in with a local only account on the latest version of Windows, and MacOS makes it harder and harder to install my own software (unless I pay them a tax, via a yearly dev account payment.
Linux is closer to the way forward, we just aren't there yet.
It is though. Go ahead and find me any distribution of Linux on which this binary of the Zig compiler does not work:
https://ziglang.org/download/0.13.0/zig-linux-x86_64-0.13.0....
You can't, because it's a static executable whose only runtime dependencies are a file system.
And if kernel devs would bless us with a stable graphics ABI, then we could do this for games, too. Unfortunately, the way drivers work currently relies on dynamic linking in a way that drags in a dependency on differences in distributions, which is completely unnecessary and maddening.
Related: https://www.youtube.com/watch?v=pq1XqP4-qOo
P.S. Just bought my wife a steam deck for christmas and she loves it.
1. Linux is a software ecosystem. Varying flavors and options to fill almost any need of computing solution.
2. Bugs and Regressions are crowd-source community solved. Bugs don't last long if it's keeping something from working.
3. There are so many open-source games native to Linux/Windows/Mac that don't get enough attention. Most of them are free too.
4. Filesharing on linux is as simple as a command line operation. See rsync. Also there are countless GUI apps that use rsync.
5. Funding is everywhere in Linux and open source software. See IBM, RedHat, Google, Microsoft, Amazon among a few.
6. Hardware drivers are plentiful for Linux. Hardly have any issues.
7. The community will help you. They've helped me for years.
2022: https://news.ycombinator.com/item?id=33951719
2021: https://news.ycombinator.com/item?id=28960330
2020: https://news.ycombinator.com/item?id=23368115
- You're using the wrong Linux distribution
- You're using the wrong Linux kernel version
- You have the wrong hardware
- You're using Linux incorrectly
- You're asking for too much
- Go debug or fix it yourself.
Edit: This is sarcasm by the way. These bullets come from the article.
In all seriousness though. I think another poster had the right idea. Linux requires a mindset shift. You must be willing to be a master of your own destiny. I've used Linux largely problem free for 10 years. I took some time to learn how to do things "the Linux way" but once I did it's been smooth sailing.
I recently have had to use Windows for work and it's annoying as hell. Every day after lunch one of my monitors just turns off and rearranges all my windows. On Linux, I could dig into the problem, and worse case just have a xrandr script to hack a solution together. On Windows I'm just SOL looking and dead Windows message board threads.
The author mentions non technical people and I will happily say that I'm a computer engineer designing semiconductors. Linux may not be the right OS for billions of people out there but it works perfectly fine as a desktop for a few million.
Both platforms have received billions of dollars in developpment by MS and Apple over the years and both have an extremely rich and mature app ecosystems. For most people, there's no real need or desire to use anything else.
That's it.
It's not an issue of drivers, games or app compatibility. If there were serious demand for Linux on the desktop, there would be good money to be made there and these issues would get fixed pronto.
In my experience, users are spooked by 2 things:
1) Lackluster hardware support (not entirely Linux’s fault, but the distros could have a qualified vendor list, for example)
2) Incomplete UI for the OS. Not a single time in the past 20 years did I set up a Linux desktop without the need to spawn a terminal. This is completely unacceptable and user-hostile. None of the other platforms (even Android) require this.
The main reason Linux hasn't proliferated on the desktop is that businesses don't use it on the desktop and that's because they prefer to pay for a license so they get support if something goes wrong, and because Windows has always dominated business software (much of which isn't even available on other platforms).
The second reason is because Mac blows most everything else away when it comes to laptops; it's almost rare these days to come across someone that doesn't have a Mac as their laptop (unless it's a work-issued laptop in which case it's a Dell or something like that, or they want a budget laptop).
Linux is not likely to be mainstream for the desktop because there's not really a business model that drives it like there is for Windows and Mac. And that's fine. I use Linux as my daily driver for work (by choice), though for my personal laptop I have a Mac.
Just bought an HP omnibook flip with an Intel 258v. From what I've read I expect most things to work, or work soon with kernel updates. All applications I care about work well. Would be nice to see OpenAI make a desktop app for Linux, or some other open source equivalent.
1. This section is basically pedantry. "you cant use the same software across multiple Linux distros". OK? And PC software doesn't run on a Mac. They are different OS's "Linux" being confused as it's own OS, is just, whatever.
2. Windows and Macs have plenty of bugs too. So much so that we don't do in-place server upgrades, it's a full rebuild each version. I mean look at the Windows 10-11 upgrade situation, it's not great.
3. Lack of general software and games - What? You can play AAA games on Steam on Linux out of the box for the most part. I will concede that industry specific software is likely going to be Windows only, but you can run Windows in a VM. There are options here.
4. Network file sharing isn't any different than on Windows, this is just nonsense.
5. Lack of funding - hand wavy and again, whatever.
6. Hardware support - I haven't really had hardware issues in years. Every Lenovo laptop I've installed Linux on works flawlessly, even Wifi drivers are present in setup.
7. Nonsense again. The Linux community is super helpful.