In all honesty I never anticipated to write this article. Linux has been, without a doubt, my main interest, hobby and influence for over a year now. What started as being installed out of necessity ended up being the biggest factor in turning my life around. I went from doing terribly in high school to making a decent uni and having further ambition in both uni and computer science as a whole.
But I can't help but feel that the time for Linux for me is nearing its end. I write this article after having spent an hour setting up something very basic - and this isn't my first time doing so. After a while, it drains on you. I realized, why am I doing this? Why didn' tthis come out of the box? And for the purposes of testing a claim on this article, I just spent MORE time trying ot find something, only for it to not work.
I realize the risk I run writing this article. I'll definitely lose some followers on neocities. Worse yet, I could be dissing projects that I might end up being employed to work on one day. I could ose a job for this. And yet, I felt the need to write this. That's what this issue has come to.
Just a heads up, if you're here because someone linked you here, it probably means that they think you're too much of a fanboy. In this case, either this article is exactly for you and might wake you up to reality, or you will bury your head in the sand and just ignore it. If by any chance however you're one of the brutish and stupid types that enjoys raging at people over things like this, I welcome you! By all means, please direct your raging to the XMPP account that I literally haven't checked in over 6 months. I definitely still care! Better yet, post it to Reddit and have the literal joke that is r/linux downvote me! I care so much dude!
In all seriousness however don't take this too heavily. I by no means am suggesting that Windows is an overall objectively superior experience. I just made this because I am frustrated, and I don't think another article out there does the job well enough (read: not a huge fan of the altervista one). Wtih that, let's go!
I think I'm in a prime position to write about this, seeing I'm using a 2020 computer and have had nonstop issues on this. But why bother doing that work when I can just link to the Arch Wiki's page on this computer instead?
Let's take a look at the table at the top first of all. The fingerprint reader is both untested and confirmed not working on a particularly driver (I have the goodix reader btw, can confirm it is not supported and I may update teh wiki myself on this later). The accelerometer also is untested. Those are two things I'd very much like to have.
Now let's take a look at the issues. I can personally replicate the majority of these issues, and they are annoying. I can also confirm that occassionally when doing hardware-accelerated tasks, the audio will do a few second loop and everything else will completely freeze.
Finally, I didn't do my research on this computer and when i bought it Ubuntu 20.04 (at that time the latest Ubuntu release) simply had too old of a kernel to run it. Even Fedora iirc didn't work perfectly with it. I'm basically on Arch Linux now because that's all I could run on it at the time.
That being said, I've had next to no issues on older computers. Why? Because Linux development simply doesn't keep up as well with modern laptops. And as they add more and more bloated features like TPM and fingerprint readers and whatnot, it's gonna be harder and harder to fully ever support them, if it even happens - I read online somewhere that Goodix, my fingerprint reader, has no plans to ever fully support Linux the way they do with Windows.
This is a HUGE detriment. Linux is super behind on this and likely always will be. The only real mitigation is to buy laptops that you know for absolute sure support Linux well. I didn't, and I paid the price. But even if I did do so, it'd significantly limit the pool of available laptops. I chose this laptop because I found that at the time it was the best available for the price given tis features. I shouldn't have to compromise for Linux.
This is probably my biggest gripe with Linux. I don't mean to say that there's "too much choice" or that it's "overwhelming" - there aren't the problem, or really a problem at all. Instead, I will say that there is not enough unity.
The fact of the matter is, there ARE a lot of very good choices out there. There are about 7-8 relevant DEs out there (GNOME/KDE/Xfce/MATE/Cinnamon/LXQt/LXDE/Cinnamon/Deepin) and even more are available. And that's not a bad thing - if anything its Linux's greatest strength.
What IS a bad thing, however, is the fragmention of developer focus. This can be seen the most with distributions - there are tons of distributions out there that hae little to no purpose. Go on Distrowatch and challenge yourself to look at all of hte Ubuntu-based distributions that aren't official flavours, for instance. What do they bring to the tbale outside of a different wallpaper and interface most of the time? Usually, nothing. These are devs that could be working on the next big thing, or maintaining hte dying ships they rely on like libinput (which has been maintained primarily by one person for a long time) or Xfce (just take a look at the release schedule) but instead they waste their time on nothing. Imagine if tehse devs actually did work on those - the projects that we actually use would be so much farther ahead!
That being said, there is an issue of choice - the choice that you hardly have any control over. GTK and Qt are the real issues of fragmentation in this desktop space.
GTK has the major advantage in the number of apps that are made with it. It's also more easily themeable outside of KDE Plasma. It is fully committed to being free and open source, forever. That being said, it isn't hte nicest to develop in - it requires too much dedication due to constant API changes and updates, the devs are assholes, it forces a paradigm of UI onto the application instead of letting the dev do as they desire, etc. which leads to a lot of dev burnout. GTK is heavier than Qt and still is rather bloated.
Qt is the lighter of the two. There are many apps that are specifically only on Qt from my experience, mostly KDE apps. Qt is also a nicer developer experience. That being said, Qt is not fully dedicated to free and open source, to the point where Qt5 is now patched by KDE to keep with updates. It's definitely more bloated htan GTK due to the KDE dependencies that often come with an app. It's also harder to theme outsideo f KDE themes, which are often buggy.
The point here is that there are genuine tradeoffs between the two. There are some vital applications between each of them - Open Broadcast Software, KDEnlive, VLC, Telegram (don't use this btw), etc. are all Qt based. This means that even if you DO want to stick to one or othe other, it's often simply not possible to do so.
Having to install a ton of libraries for both brings in a LOT of bloat. Between having the KDE libraries and various GNOME libraries, unless you know with 100% experience what you need - and even with that experience - you cannot avoid it. And this isn't mentioning themeing - the easiest solution is Kvantum but it limits you to select themes unless you're fine with major look discrepancies.
The GTK/Qt divide is where the fragmention in Linux plays in. The two are separate libraries with their own issues and using both is required, which really bloats up the system and causes issues between app interoperatibility.
Bringing up the earlier mention of developer focus, however, there is an issue. And that issue is the lack of focus on a complete, singular project that covers most issues.
Let's take the introduction of this article. I spent my hour setting up touchpad gestures on Cinnamon x.org to get pinch-zoom in Chromium. I use Touchegg for the purpose. It took as long as it did for irrelevant reasons - namely that the rivaling project in Fusuma had the "newgrp input" instructions that made it work for me - but the point is, why didn't this come out of the box? Why didn't ANY of Cinnamon, MATE or Xfce have this?
The answer here is simple - developers are not focused on the right things. They SHOULD be focused on touchpad gestures, and libinput, and squashing display bugs, and making the terminal less of a necessity (even on Linux Mint you will have ot touch the terminal every now and then). Instead, we get shit like GNOME that redoes the UI every 2 seconds or not-shit-but-not-quite-there like KDE that just adds more and more features with every release. There's a point where it needs to stop, and where teh focus needs to put on matching what Windows/MacOS has out of hte box that users actually want and need.
And now coming to attitude - anyone who's worked heavily with FOSS can confirm to you that it's not always a friendly place. There's a lot of hostility over just what you use at all, as well as actually developing it. This can be seen in the leagues of people opposed to Code of Conduct - why do you think they're opposed? On some moral ground of "free speech"? Nope - they're opposed because they more often than not are the ones breaking it, speaking from experience here. I myself have been sworn out by a 30 year old software dev whos biggest accomplishment is a bad fork of a bad web brwoser, for "ruining" his career by using Fedora Linux.
And speaking of hte CoC supporters... they're not great either. Take a look at the GNOME devs. I dont' even need ot link here, because you can just search it up and find 10 million results on how they have horrible attitudes.
The point is, getting into the developmetn is already a challenge because of this. It's a challenge to get support, it's a challenge to make hte app, and because of that its difficult to get new devs to fix all of the issues that we have.
A common argument against Linux is that developing software is not free. In the end, this software that you use will end up being abandoned by the maintainers once they realize there's no monetarical incentive for them to continue.
I tend to agree, but in a different way. The main cost for devs is not money, but TIME AND EFFORT. Sure, getting no money for it doesn't help, but even if they did get money it wouldn't be nearly enough to justify what they do.
The fact is, most of the software devs that make your free software are VOLUNTEERS spending their own time creating new releases, helping people with bugs, and leading the project forward. This is good for resume building but outside of that there's not much to it. This quickly burns devs out, as can be seen with most of the abandonware out there.
The big issue is - there's not always a huge stream of people to replace them. In a world ever dominated by proprietary software as well as an expectation for software to cost nothing, it looks harder and harder to find people who truly care enough to contribute ANYTHING. I've at least tried to contribute bug reports as issues on software I use, and that alone puts me ahead of most software users. I also write articles about software. Most users do NOTHING.
It's not that there's no monetarical incentive - it's that there's just no incentive period to continue. Many of these devs burn out quickly and when your software gets abandoned, it's GOING to have issues.
I guess htis deserves to be here, even though its not that big of an issue. Security on Linux is... interesting to say the least.
On one hand, you have the most trustworthy software available to run out there. Said software usually gets updates pretty consistently and is designed for GNU/Linux, so you're running quite well. The updates usually don't require a restart to run so it's more likely to be updated. This, alongside desktop Linux's lack of targeting, makes it a lot more secure for daily users. And that's not to suggest it isn't targeted - server Linux is targeted for hacks all of the time, and yet it still holds up. Things like disk encryption si easily accessible, and with new tools such as Wayland, PipeWire, Flatpak/Flatseal, bubblewrap, SELinux/AppArmor etc. on the rise, its very easy to cover the desktop threat model.
On the other hand, the operating system itself... it's uite the security disaster. I will be using this admittedly garbage article that doesnt' know what a threat model is for the purposes of this. The tl;dr of useful information is that:
There's no sandboxing outside of Wayland, and x.org is what hte majority of users use. There is also firejail but the article discusses its flaws (tl;dr its not gonna stop anyone experienced), and there's bubblewrap which si really hard to use as well as Flatpak/Flatseal which is bloated.
x.org is still buggy as hell and this leads to vulnerabilities in itself. There's not much detail here but x.org is definitely the biggest vulnerability running on any Linux desktop and the biggest issue here. And good luck getting Wayland to work nearly as well on anything but GNOME, at least not without XWayland which sorta removes the point.
The kernel itself is a security nightmare that runs way too much code with too much privilege, doesn't take security seriously enough, and is entirely written in a memory unsafe language (which matters in spite of the memes).
When you DO get hacked, there's little stopping the attacker. No exploit mitigations, and a lot of insecure defaults will basically mean they'll have their way with you.
Everything else in the article is absolute nonsense for what it's worth, and the article is stupid anyways as it has a very obvious bias in ignoring Linux's security strengths as well as focusing on irrelevant shit. But it does bring up very important points, and these cannot be ignored.
And from the GTK/Qt section brnigs in my main point here. Many people claim that Linux is less "bloated", but i don't believe this to be realistically true.
The fact of the matter is, Linux CAN be less bloated. But for most people, this is simply not going to happen. Unless you're one of the UNIX neckbeards who refuses bloat and modern use-cases entirely, it IS going to get out of hand as you have to end up installing a ton of different packages to do what computers are meant for - your tasks.
That's 74 packages, a total install size of almost a gigabyte, and that's just scratching the surface of what people would use on thier computers. But yes, please tell me desktop Linux isn't bloated :)
And this is another huge one. People will blindly say that Linux performs better, in all circumstances, no faults whatsoever.
And to be fair, this is mostly true. Linux uses infinitely less RAM, infinitely less CPU, and infinitely less GPU for a much better output. That should go without saying. Even a fully-loaded GNOME session with tons of extensions and other apps will likely end up still using less than half of the RAM that Windows does. The software performance of Linux is undoubtedly very good.
But what the masses miss out on is hardware performance. They willfully ignore that Linux uses more battery than Windows, and on some machines by quite a lot even with configuration that's very hard to find. The only passable applications I've seen for the purpose are Slimbook Battery and Slimbook AMD/Intel Controller. The rest either don't do enough by default (tlp) or are too complex to use for daily desktop users. Linux also tends to run red-hot on some devices.
Did I also mention hardware acceleration? Linux doesn't do nearly as good of a job with it. I won't even begin to talk about nvidia, but even with AMD and whatnot it's just not as performant, and more often than not is not enabled by default. This just creates needlessly more work for the user.
Linux on the software end works well. On the hardware end... not really so.
This one is primarily based off of personal experience. Gaming probably works well with Steam... its when you DON'T use steam that it gets bad. I mostly use emulators and for the most part they work better than on Windows cause I use a PS controller. But hwen I used a game downloaded from elsewhere (steamunlocked)... that got ugly. Even my friend who uses Proton all of the time couldn't fix the issue.
This would put Steam in a monopolizing position over gaming on Linxu, which is not a great position. The FOSS games tned ot be pretty fun, but it's not enough.
And this is the biggest one of all. The majority of proponents of Linux - hell, it's safe to say all of them at this point - push Linux's freedom value as its biggest selling point.
And this is valid. Linux is infinitely more free than Windows. Not only is the base kernel and OS free, but it's far easier to run free software. I'm not here to argue that this software is inferior or whatever - if anything I find it vastly superior for my purposes.
That being said, what I'm here to argue is that Linux is not free enough. The fact is, the kernel itself runs a lot of proprietary blobs that are really behind quite a bit of what you use your computer for - WiFi cards being hte most notable example, but also printers and some GPUs are big too. This alone makes Linux not fully free.
There's also an increasing emphasis on proprietary software availability in Linux. What's the point of using Linux for freedom if you end up using:
Proprietary games in general
Yes, you're more free, but not quite there still. This definitely is still a point in Linux's favour, but it's just not strong enough to completely reject Windows as nonfree software, because in the end, it's not just the OS that counts. It's also what you're forced to run. Using Linux and those proprietary shitwares doesn't free you fully.
And the fact of the matter is, most people need these proprietary software pieces of shit. I won't defend them, they're evil and should be called out for it, but it's not really a choice to use them. Sure, there are free alternatives, but oftentimes the person running hte computer isn't the one who chooses what software they use - the people they're using it with end up choosing that, such as their employer or friends. For instance, take my friends who refuse to use anything but Discord. Either I just give up friendships and communications over software - which is beyond stupid no matter what others tell you - or I embrace the suck.
Linux is free, that is for the most part true. But that part that isn't, and the software that we end up running anyways, ruins the day. It's not like these sofware being available on Linux is a bad thing - you're still more free for using Linux, and this software is vital for Linux ot take off as a competing OS to Windows. But in the end, understand that the arguments about freedom don't hold up quite as well as the proponents believe they do. It's far from an 100% free experience.
I don't doubt this, but it could be working a lot better:
First off I doubt hardware acceleration is turned on for you by default - at least it wasn't for me on Chromium. So your battery is draining a lot faster for those YouTube clips.
Have you used a newer laptop with this? If so either you got lucky, or your limited yourself to a small range of laptops compared to what you could've gotten otherwise.
Ever noticed that there's no touchpad gestures and that the touchpad isn't nearly as sensitive? You can thank libinput's starved developement for that.
Also there's no coasting on Chromium. I had to get an extension for this purpose.
There is a good amount of software not available on Linux yet, most notably the Adobe Creative Cloud, Autodesk and generally engineering software/niche software in specific fields aren't gonna be there. No, using wine/proton is not a reliable fix to this.
Have you connected to a hotel's wifi ever? It was a HUGE hassle to get it to work for me. I had to set a proxy server to get it to work. That was stupid.
Do you play online multiplayer games? Most of those won't let you connect via Proton. That should be fixed soon though with the Linux-based Steam Deck... if it succeeds in the market.
In no means do I suggest that Windows is overall superior. It's not. I wouldn't be using Linux on mosto f my machines if it was.
That being said, I will say that very few Linux distributions get anywhere close to getting the desktop right. Off of the top of my head, only Arch Linux/EndeavourOS (though I do have gripes with the latter), Kubuntu/Ubuntu MATE/Xubuntu (of which Ubuntu MATE is the best), Pop! OS, and Linux Mint really do it well - basically Ubuntu and Arch based distributions. The rest either don't have enough packages, have poorer defaults or overall just don't have much of a purpose in their existence. Of them, none individually are perfect - Linux Mint is very behind on hardware support and package versions, Arch Linux requires a lot of work of which EndeavourOS only mildly fixes, Kubuntu/Ubuntu MATE/Xubuntu have both issues albeit in significantly milder forms and Pop! OS uses GNOME/Cosmic which suck.
To avoid the issues, you gotta have a lot of experience and/or a lot of time. I only learned the ins and outs after over a year of using this. I haven't updated some of my artilces in a while, hence why I won't link them just yet, but read them! Also, before you go into Linux, figure out all the small details you use on a daily basis and write them down. Then, do research to see how to fix the issues. The Arch Wiki is your friend, particularly for hardware. If you're finding that there's just a lot of issues that require a lot of hassle to fix/aren't fixable, perhaps your hardware is just not meant to run GNU/Linux.
With that, I wrote this article with a purpose - to get myself off of focusing so heavily on Linux - and desktop Linux at that - and to focus more on other CS related fields. Desktop Linux isn't objectively horrible, but with the extent most users go to, it's definitely a waste of time that could be spent actually programming something useful instead of niche only to desktop Linux, actually setting up servers of something useful, or best yet - actually doing something completely unrelated to the screen. A basic interface should not be your hobby unless you're programming it. Using software shouldn't be your hobby unless it produces something significant, like Blender or Audacity might. Desktop Linux should not be a hobby.
Don't go down my path kids - don't let one hobby consume you EVER. No matter what it is. Stay diverse, stay curious, stay passionate. Keep your goals in mind.