Bloody hell, it's been 4 years already? Get ready for some ramblings!
When I finally decided to give the Linux desktop a serious try in 2019 I never thought it would change the way I interact with computers this much; I was fed up with Windows, its malware features, the updates breaking the OS or changing my settings, the ridiculous amount of telemetry and spying, you know the drill, but I liked the UI, and most things "just worked".
The switch to Linux turned out to be less painful than I anticipated, I started with Kubuntu and then moved on to Manjaro and recently went balls deep with Arch Linux.
I currently have 2 PCs that I use regularly: my desktop that I use for development and games and my Thinkpad T480 laptop that I use for school (I started teaching in 2021), I use Arch on my desktop and Manjaro on my laptop.
So, it's been 2 years since the last time I wrote one of these articles, what's changed? Well, I'm happy to report that everything I need either works out of the box or can be made to work with some tinkering (games). I'll talk more about games later, but I must give Valve and the Mesa devs a massive shout out for making Linux gaming a viable option for a lot of people.
I'm still using KDE on both my machines, I don't really use much of its customization features but I like its look and feel and using it feels kinda like going back to the peak desktop experience of the Windows 7 era (it even has widgets!) while retaining some modern features like notifications, workspaces, clipboard history, and KDE Connect is awesome.
When I started teaching I was expecting Linux to be a problem, I was sure there would be some crappy old proprietary software that I needed to use that wouldn't work in Wine but that wasn't the case, and even if it were, the school actually gives us full freedom to choose the tools we want to use for teaching so I don't expect this to be a problem any time soon (fingers crossed).
Speaking of teaching, Linux never fails to attract the curiosity of my students, especially at the start of the school year when they see it for the first time, and when they ask about it it's a good moment to show them that it's not that big scary nerdy thing that they think it is, some of them even end up tying it it, and I think high school is the best time to switch, it's so easy to learn at that age.
This is my laptop, and Stallman's seal of approval on my bag
Honestly, there's almost nothing wrong with the desktop experience offered by KDE and things have only been getting better over the last 2 years in the Linux world, while they've been going to utter shit in Windowsland, especially with the introduction of Windows 11 and its fishy requirements.
There have been improvements to performance, stability, user experience, hardware compatibility, gaming is now a viable option (more about this later), and basically I cannot recommend it enough.
Battery management has also been improved, the battery life in my laptop has nearly doubled since 2021 thanks to improvements to TLP and the kernel, and I'm happy to see that battery life is now being reported correctly by KDE when you have multiple batteries (rare case, I know).
And speaking of laptops, doing presentations is much better now with no more random issues with screen extending or duplication messing up the resolution and/or the desktop layout, and KDE even has the curtesy to enable Do Not Disturb mode automatically so that my students don't have to see random racist memes sent by my friends while I'm presenting.
Oh, and can you believe it? GTK finally has thumbnails in the file picker! And it only took 18 years! (23 if you count that Windows introduced them in 1999). Seriously, fuck GNOME.
Here's a selection of software that I use on a regular basis:
Windows | Linux | Notes | |
---|---|---|---|
Text editor | Notepad++ | Kate | VSCodium also a really good option if you want something more feature rich |
File manager | Windows Explorer | Dolphin | Search kinda sucks in Dolphin |
Media player | MPC-HC | MPV | VLC also a valid option if you want something more feature rich |
Image viewer | JPEGView | nomacs | Gwenview and Ristretto Image Viewer are also solid choices |
Office suite | LibreOffice | LibreOffice | |
Email and calendar | Thunderbird | Thunderbird | Version 115 introduced a new UI that's still kinda buggy |
Web browser | Firefox | Librewolf and Ungoogled Chromium | Both really good options for privacy, Ungoogled Chromium is less strict |
Archive manager | 7-Zip | Ark and 7-Zip with wine | Ark is still inferior to 7-Zip but good enough most of the time |
File, contacts, calendar synchronization | Syncthing (SyncTrayzor), Nextcloud | Syncthing (syncthingtray), Nextcloud | syncthingtray has a nice plasmoid that sits in the taskbar so you can just click on its icon and interact with Syncthing, it's better than Syncthing-GTK |
PDF and ebook reader | SumatraPDF | Okular | Alternatively, just use a browser |
Screenshot tool | Greenshot | Flameshot | |
Screen record/streaming | OBS | OBS | Hardware encoding has been working for a while now |
Notes | Notebot | KDE's own Sticky Note widget | Switched from KNotes |
Virtualization | VirtualBox | VirtualBox | Mostly just to run Visual Studio and other stuff I don't want to run on Wine |
Calculator | SpeedCrunch | KCalc and SpeedCrunch | |
Image editor | GIMP | GIMP | It's getting better |
Video editor | Kdenlive | Kdenlive | |
Firewall | Simplewall | unshare -nc and/or Firejail | It's not the same thing, but there's nothing similar on Linux that doesn't require manual configuration |
Disc burning software | Infrarecorder | K3b | I need it like once a year but ok |
FTP client | WinSCP | FileZilla | |
Image mounting | WinCDEmu | kde-cdemu-manager | Works really well, no idea why this is not an official KDE thing |
YouTube client | Browser | FreeTube | Super recommended, has offline subscriptions, Sponsorblock and is somewhat similar to NewPipe on Android |
Webradio client | Browser | Advanced Radio Player widget | Simple and easy to use, sits right on your desktop. Goodvibes also a pretty good alternative |
Other useful software:
With that being said, there is still a number of things that annoy me:
I'm curious to see what the upcoming version 6 of KDE will do about their issues and I'm even more curious to see if they can finally bring Wayland into a usable state.
One thing that has been somewhat concerning to me in the last 2 years is the apparent increase in Linux software that has telemetry, and sometimes it's not even opt-in.
A good example of how telemetry should be implemented in my opinion is the KDE User Feedback feature: it's disabled by default and if you want to enable it you can set it to various levels of detail ranging from basic system info all the way to sending crash dumps. See? That's good, no data is being forcibly extracted from my computer without my knowledge, it's easy to find and control, I can decide to enable it if there's nothing sensitive on that PC, I can decide when and how to report issues, and if I want I can just report bugs the old fashioned way.
That's how it should be: honest and opt-in, I feel like I can trust them and makes me want to enable it to help them.
A less "honorable" example of telemetry would be Stable Diffusion. The first time I started playing around with ComfyUI (which is excellent by the way), I knew something was off, let's just say my big nose can smell telemetry from a mile away and Wireshark confirmed that there were some connections being made while it was running. Naturally I took a look at Comfy's source code, but I didn't find anything suspicious... but only because the telemetry was inside some of the libraries that it uses. Neither ComfyUI nor the libraries said anything about having telemetry enabled by default, but I found a total of 4 environment variables that needed to be set in order to disable it: GRADIO_ANALYTICS_ENABLED=false, HF_HUB_DISABLE_TELEMETRY=1, HF_HUB_OFFLINE=1, DISABLE_TELEMETRY=1. That's a major scumbag move from HuggingFace but they seem to have removed part of it.
At least they fixed it... until the next time?
Another thing that I've been focusing on in the last 2 years is hosting services on my home server, both for myself and for my less tech-savvy friends who value their privacy.
We finally got 1Gbps fiber in my town in mid-2021 so now I can use Wireguard to connect to my home network even when I'm outside and access all my files via SMB, play LAN games with friends, and even control my machines directly.
A service that I've been using a lot is Jitsi Meet (another one of those projects with sneaky telemetry enabled by default), it's a pretty decent video conferencing software that I started using during the pandemic to keep in touch with my friend circle and now that's basically how we hang out every day, we all connect, talk, do silly experiments with computers, stream games via RTMP, and more recently, we've been learning to use Stable Diffusion.
Apart from that the services I use the most are Syncthing to keep some folders synchronized between my machines and with my friends and family, Nextcloud (mostly for contacts and calendar), Transmission, and of course SMB for shared folders.
There's also other stuff installed, most notably a Telegram bot that posts communications from my school to a Telegram channel used by me and some colleagues, and I intend to add a Matrix server (I already use it to chat with my friend group) and maybe a Lemmy instance.
By the way, I don't think I've ever shown my home server on my blog, so here's a picture of it:
Good old reliable Normandy hanging under my desk, it's an Intel NUC that I bought in 2018 with a low power i3-8121U, 8GB of DDR4 RAM, a 16GB Intel Optane boot drive, and a 2TB Samsung 870 QV0 for storage that I added in 2021 replacing a 1TB spinning rust drive. This is a small but fast enough computer that uses virtually no power, it idles at around 3W (which is 99% of the time for a home server), it uses about 5W while transferring data at full speed, and I configured it to allow up to 45W for up to 5 seconds for short bursty workloads like restarting a service. That's incredibly efficient, it costs basically nothing to run this 24/7! I initially intended to connect all my data hoarding drives to this server (~96TB in total) but power consumption was too high and it wasn't worth it.
This server still running Debian 11 but I'm planning to switch to NixOS at some point, I learned to use this impressive new OS last month and I have a working config for my home server but I want to wait a bit and see how it handles updates before deploying it (plus, I feel kinda bad turning it off with a >400d uptime, it's my all time record).
If there's one thing that's improved and worthy of several articles itself, it's gaming.
Now, I do play often but I wouldn't call myself a gamer, I only play single player games and indie titles, plus I'm getting old and it's starting to get difficult, but over the last 2 years I have played a few dozen games on Linux and the experience was pretty good actually.
Long gone are the days of installing a game in Wine and hoping that it doesn't just crash immediately, right now I'd say 85-90% of the games I try, especially modern ones, they just work, and they work really well, they render correctly, the performance is usually on par with Windows, there's nothing wrong with them, they're absolutely playable. Sometimes some tinkering is required, of course, but more often than not they just work out of the box.
The importance of Valve in this cannot be overstated, they've been working on Linux for about 10 years now but over the last 3-4 years or so they really did God's work patching up Wine, implementing new features, hiring great developers for open source projects like DXVK, VKD3D and Mesa, and even contributing to the kernel itself, all that makes me think that the Steam Deck has been the best thing to happen to the Linux desktop in a long time. I know they're probably doing this because they know that the days of Windows being an open platform are numbered and sooner or later it will become a walled garden, but damn, that's some dedication and it must said. Other projects, companies and independent developers also deserve a lot of credit of course.
So, how do you get started if you want to game on Linux?
Well, if it's your fist time you should probably go the easy route and use Steam, it comes with the latest version of Proton and you'll be able to play most of your library right out of the box, and you can even add non-steam games to run in Proton with varying degrees of success. You should not get stuck with it though, you don't want to escape from Windows only to be tied to another proprietary platform.
If you want something less... proprietary, you can try Lutris, it's been around for a while so you'll find plenty of tutorials online, it has a GUI that's fairly easy to use, and it can be used for games from GOG, EGS, and alternative sources. It's certainly not as easy to use as Steam since you have to install and configure the games yourself, but at least you won't be tied to a proprietary platform.
One problem that both Steam and Lutris share unfortunately is the almost complete lack of sandboxing. You probably don't care about it but I do, I don't want a random proprietary application to have full access to my files and the internet, I just don't trust it, and that's why over the years I basically ended up making my own "poor man's Proton" called TDF using the same projects that Valve uses but with more sandboxing for both filesystem and network, and with all the configuration stored in simple config files. The project is not ready yet (still missing some documentation and minor features) but you can see it in action in the video below. Now released: TDF
Here's a video showing how I install, fix and play A Plague Tale: Requiem, a "problematic" game:
And here's a list of all the things I wish someone had told me before I started gaming on Linux:
Here's my PC running one of the least optimized games of the year, The Last of Us Part 1. This is one of those games that run better on Linux, at least on AMD.
The PC that I use has these specs:
What can I say? Give it a try bro!