Wysteria    Home    Archive    Feed

The Failure of the Linux Desktop in 2022

I’m perfectly happy complaining, because it’s cathartic, and I’m perfectly happy arguing with people on the Internet because arguing is my favourite - not programming.

-Linus Torvalds

Linux has always fascinated me. It is amazing that a piece of software, one that is very comparable to existing commercial products, can exist for free and continue to receive constant updates and support. This is something, that at least in my opinion, should be nearly impossible in our profit driven society, yet here we are. And its clear that it has been a rough and bumpy journey to get to this point, but that is a story for another time. The story that I want to tell is that of the end user, not the developer. Linux and much FOSS software has become more and more user friendly, especially recently, but is it really enough? Can Linux really replace Windows or MacOS for a normal, everyday person?

My first real experience with Linux goes back to 2014. That was the year I got my hands on a Raspberry Pi. To me, this was my first real computer. Sure, in the past I had used the family computer, but this was something I could say was truly my own. I’d say it was my first real experience with computing, and especially with how different the Raspberry Pi experience was back then. I remember being greeted with a cold terminal upon first boot instead of the friendly GUI of the family’s Windows box. It was a completely different world of computing than what I had known. It was wild, poking the keyboard to type in strange words that made the computer do something I wanted, but eventually with a then complex “startx” I had a somewhat familiar GUI staring back at me. I immediately made it a habit to type that in every time I booted the Pi up so I could have something familiar. But I don’t think familiar is the right word to use here, as things were different. If I recall correctly, it was running LXDE, which is typically presented similar to how Windows has historically been presented (Thanks Windows 11 for changing things for no reason at all), but isn’t quite the same. For a kid who was more concerned about having the freedom to do whatever they wanted to do on their severely limited single board computer, it did the job well enough.

While I eventually moved on from my Raspberry Pi (mostly to continue playing the Java version of Minecraft), that taste of Linux left an impression on me, both in terms of usage but also with what it meant. Linux, and FOSS in general, stand as something completely that is completely counter culture, especially in this day and age. (While a rant about privacy would warranted here, I’ll save that for another time in order to stay on topic.) I’ve never really wanted to be like everyone else and blend in with the crowd, so the idea of this completely different way of computing has been growing in the back of my head for years. And as of recently, it has finally come to maturity.

The summer of 2020 was the first time I tried daily driving Linux. It was probably a mixture of the lock down, my developing opinions on FOSS, and probably a few too many visits to r/unixporn. By this time, I had my own computer to experiment with, so after minimal research (see: a Linus Tech Tips video) I installed Manjaro Linux with KDE Plasma on what I thought was an unused hard drive (This drive would later die on me, rest in piece). After spending a little time installing things and ricing my install to try to get some clout, I quickly realized there were quite a few issues. First and foremost: games. I never really was big into using Steam to acquire games (mostly due to Minecraft being the main game I play), and I had a rather large library of games on Epic Games thanks to them giving free games out every week. While something like Minecraft was easy to get up and running with little troubleshooting, other games were not so much. While tools like Lutris and Play on Linux helped greatly, they often needed more tinkering and knowledge of Wine than I had. And it didn’t help that one of the biggest games my friends were playing at that time, Valorant, was impossible to run on Linux due to its kernel level anti cheat. Having to jump through hoops to play games was bothersome and frankly made me glad I still had a Windows install a reboot away, but it outlines a major issue with the Linux desktop experience: the lack of support for non-FOSS applications. My next grievance has to do with the over all desktop user experience. I knew going into it that it would be different, after all, I had used Windows my entire life. But its hard to express how off the experience was. As great as KDE Plasma is, its clear that it lacks polish in some areas. Everything worked, but not always as I thought it should. Its probably fair to say that Windows set me up with impossible expectations that software put together by hobbyists could never achieve, and that is a valid point. These minor imperfections end up bringing down the over all experience. Eventually, I went back to using Windows full time, mostly because I got sick of rebooting my computer every time I wanted to play games.

My next venture with using Linux was roughly a year later. At the time, I had some sort of failure in my computer. I’ve concluded that it was either the motherboard or the CPU, but I’m still unsure of what it was to this day. Fortunately, I had some old parts to fix up my computer. Somewhat unfortunately, due to the age of the BIOS on the motherboard, my UEFI Windows boot drive would not work. So I did the only reasonable thing any person would do in this situation and installed Pop!_OS. This decision was mostly made on recommendations from friends and online, and I think it was a good one. Pop uses a customized version of GNOME, which turned out to be a surprisingly cohesive experience. I cant say if it was advancements in usability of the Linux desktop or me being willing to deal with a “lesser” user experience, but I (mostly) enjoyed using it for day to day tasks. Even gaming was a better experience thanks to the included drivers. Lutris was still needed to play games, and some games, such as Celeste, just wouldn’t work at all for me. It was still a major step up from my previous experience, but it was like Windows. With Windows, I could be assured that most things would just work, no tweaks needed. This really didn’t end up being a huge problem for me at the time, as then I was playing less games and spent more of my time consuming content through an internet browser.

But as the end of summer came closer and closer, my computing needs shifted. I no longer wanted an operating system that needed tinkering to get things to work. I wanted something reliable that would just work, so with the start of the semester, I fully switched back to Windows. And I’m glad I did, as I needed support for software that was near impossible to properly run on Linux systems, but part of me continued to miss Linux. Whether it was the desire to uphold the ideas of FOSS, have a system I can constantly be tinkering and learning on, or just wanting to be different from the rest of the crowd I can’t say. But I couldn’t sacrifice my Windows install completely, so a quick purchase later I had a secondary drive for my computer so I could properly dual boot without issue. Although it wasn’t until after the semester ended that I actually had the chance to switch back to Linux. So it wasn’t until mid December I started daily driving Linux again. I went with something new this time, Linux Mint with XFCE. This choice would later prove to be problematic, but I’ll get there. Mint is an interesting experience. Compared to other distros I have used, it feels outdated. Not to say its outdated software wise, but graphically it feels that way. And its not like it was intuitive to install custom themes, much less known that you could. But looks are superficial, function matters more, and just like Pop, it still felt a bit off. But maybe its just me being crazy, either way, I’m very much used to how Linux works now. While setting things up, I noticed something interesting about troubleshooting Linux. Its very hard to get support. Now by this, I mean specific support. There are tons of resources out there, no doubt. Thousands of forms post across hundreds of forms for nearly every issue that could be encountered, but for an inexperienced user who doesn’t know about differences between Linux distros it is a nightmare. When I would search some issue followed by “linux mint”, it would be harder to find answers specifically relating to Mint. Obviously, I know enough about Linux to know how some common distros are related and how to use general Linux knowledge to translate something that might be specific to one distro into another, but a beginner user would have no clue how to do this, and it doesn’t help that every distro applies different tweaks and changes to the software they include, so even if two distros run on the same desktop environment, the experience can be completely different for the end user. This only causes more confusion and creates a more hostile user experience.

Even though I’ve currently only been using Linux for about the past month, my issues don’t just end there. There is still a bit more to say here, and this is more concentrated on the desktop environments I’ve used because I am no longer using XFCE. See, my main computer for university is a laptop. Its great to be able to carry something around to take notes and access resources wherever I am on campus. But the issue arises off campus where I hook my laptop up to an additional monitor for the additional screen real estate. This is handled flawlessly, but its this dynamic set up that causes issues. XFCE’s panel works fine in stationary setups. You can easily set up as many as you need and configure them wherever you need them, yet if you disconnect a screen, everything goes south. XFCE will push panels from disconnected screens onto active ones. This means for my case, I’d have two panels next to each other whenever I’m away from home. This would be less of an issue if it was a simple task to hide panels, but XFCE doesn’t support that. XFCE only lets you create or delete panels, not hide. And searching online revealed there doesn’t really exist a good solution, meaning I have two options. The first is to write some sort of script that detects when I add/remove additional monitors and create and configure panels for them. While possible, this is a huge undertaking for someone who know very little about programming something like this. So the other option is to switch desktop environment, which is what I did. My first choice was KDE Plasma, as I had fondly remembered my short experience with it back in 2020. Now KDE Plasma’s panel did not have the same issue as XFCE, which was great! Until I realized a major downside, the screen tearing. Moving content, especially with YouTube and some games, would create tons of screen tearing. Quickly searching the issue, I soon discovered it was some sort of issue caused by drivers and how KDE Plasma handled them. So I went back to switch desktop environments. GNOME was my next and final choice, as it could handle how I use my external monitor and had no screen tearing. However, I am by no means a fan of GNOME. I could go on about how it lacks customization, forces you into using GDM, takes up much more of your RAM than it needs, and so on, but it works for me, and I can appreciate that much.

All this has shown me one thing, Linux is by developers, for developers. It is painfully clear that doing anything on Linux outside of simple web browsing and word processing is a nightmare for the average user. Installing applications (especially non FOSS ones), hardware support, general software support, its in a state where it is nigh impossible for a typical user to do without help. People like me are OK with the compromise and are willing to give up time figuring things out because we enjoy learning about our system and tinkering around with it. Back when I was using a Raspberry Pi, as much as I hated using the terminal at the time, it gave me an incredible feeling whenever I did something with it. It was like proving myself on a test. I had some knowledge of computing that got me in some exclusive club. I loved it. But not everyone wants that. Not everyone wants to spend hours learning about their computer. Most people just want to be able to have everything work, right out of the box. Having to compare various distros and figure out what these strange acronyms mean isn’t something the average person is willing to do. I think until you can install Linux and have a near identical experience to that of Windows or MacOS, Linux will never be able to come into the spotlight. Linux is doomed to be a niche piece of software that only the hardcore and hobbyists will use.