Gaming on Linux
For a better half of a decade now, this is what I’ve been doing: I play games on a Linux Desktop (Arch btw) and I’m not looking back anymore. However, I will not say that it is necessarily “better” than Gaming on Windows. I’ve seen countless statements like that in th titles of YouTube videos and it annoys me to no end, because those videos are usually clickbait. Even though I personally don’t like Windows, I still think it is the better Operating System, if all you want to do is play games and nothing else. Now, mix in productivity, maybe development of software in particular, and things look differently already. Both Linux and Windows are what we call “General-Purpose Operating Systems”, which means they are both malleable to virtually any sort of use-case. Still, it makes sense that some Systems are better suited to some tasks than others. Here, I’d like to share some of my thoughts on Gaming on Linux, while also comparing it to Windows.
Choosing the GPU
The GPU is the heartpiece of a Gaming Rig. And especially since the Chip Crisis since the dawn of the Covid Pandemic, choosing one and actually obtaining one have tasks of unequal weight, I fear. I remember buying an RTX 3060Ti from eBay-Kleinanzeigen for about 10% more than it would normally retail for - And that was a good price already. When I switched to Linux for good however (I removed my Windows partition) and started playing games on it exclusively, I discovered the mismatch that is “Linux X Nvidia”. (Insert Linus Torvalds here)
Nvidia drivers on Linux are not great. They work well for the most part, but getting them up and running can be tedious from the getgo. Back then, I first settled for Pop!OS, since I had read that they are doing a fantastic job with getting the best out of your Nvidia card on Linux. And while this was true, I now had to use Pop!OS. It is not a bad Distro, but also not for me. I prefer bare-bones Distros without standard Desktop Environments like Arch. But what really made me ditch it shortly after was the comparisons I saw between Nvidia and AMD on Linux: AMD was outperforming Nvidia in most games on Linux. On Windows, this is unheard of. Until today, Nvidia holds a dominant position before AMD when it comes to performance for Gaming Windows. Many people claim that this is due to better Drivers from Nvidia. While this may be true, I think it’s not only the Drivers but because Nvidia has a lot more Partnerships going on which means that Games are usually built with Nvidia technology and GPU’s in mind first and every other manufacturer last. I’ve switched to AMD ever since and have also used it on Windows on a few occassions and must say that I’ve had equally many problems with drivers from and Nvidia and AMD on Windows. On Linux however, it’s an entirely different thing. AMD and Nvidia drivers are a far cry from each other. This really shows how much can be achieved by properly implementing drivers. One major difference between AMD and Nvidia used to be that AMD drivers have always been Open-Source, while Nvidia drivers where Closed-Sourced. This only changed because a group of teenage hackers managed to extract the source code from the Nvidia drivers and published it. There has also always been the Nouveau driver of course, but that is not to be recommended for newer cards.
Anyhow, if you are planning on Gaming on Linux, do yourself a favour and pick an AMD card. I’ve been an Nvidia shill for the best part of my life and don’t regret switching to AMD.
X11 vs. Wayland
If you’ve been using Linux for a while already, you will likely have heard about these two competing protocols. They are the protocols that get the GUI appear on Linux. X11 has been the standard for longer than I exist and is still widely used and generally well-supported. Wayland is kind of the “new kid on the block”, eventhough it has been here now for almost a decade. The shift towards it is slow however. In it’s current state, I would say that Wayland is pretty useable for most mundane tasks. Gaming on it is still somewhat subpar, due to the fact that Wine and Proton have only an experimental support for it. The problems start to arise when using Wayland but having Wine and Proton run with the X11-Backend. It has worked for me mostly, but there are issues occasionally. The way this is handled is, that the Wayland compositor runs a mini X11-Server that is sort of embedded into the Wayland compositor. This is called “xwayland” then. What I don’t like about is the added complexity through multiple software layers. It makes troubleshooting quite tedious. As you might expect also, there is a noticeable delay that we can attribute to this “nesting” of display protocols/servers. It’s not too bad, depending on what you are playing, but it is there and I know there are people who would be put off by it immensely.
However, I’ve mentioned the experimental suppport that wine has for the wayland protocol. Why not give it a go? Well, I’ve used it on a few occassions and while it does work well, there are still a few things to address. So far, I’ve only tried it with Final Fantasy 14 Online and while the game has been rock-solid for me with the wayland driver enabled, there was one deal-breaking issue for me: Whenever I moved away from the Workspace that the game was running on, it would disconnect after 20-30 seconds. In fact, the moment I left the Workspace, the “Disconnected” Icon would pop in beside my name, indicating that there was some issue with my network connection. This doesn’t happen with the game running under xwayland. So if you, like me, like to just stand around afk in a game (don’t tell me you’ve never done it!), I’m afraid I must tell you that this is not possible. It’s not just this game. There have been reports from people who have had issues with e.g. Baldurs Gate 3. It appears that upon leaving the game’s window or workplace unfocused, the wayland compositor literally “abandons” the process. Frames stop rendering and BGM stops playing. This is -in fact- an important feature of the wayland protocol which unfortunately doesn’t mix well with most games or some programs that rightfully expect some sort of attention by the display server. I’m not sure if the maintainers of wayland compositors need to implement fuctionality to address this issue or if it’s due to the experimental state of the wayland driver in wine.
Regardless, if you want a smooth experience while Gaming on your Linux Rig, I do suggest you use X11 until the wayland driver for wine has moved to a more stable state.