written by Fyren
“Why are you using Linux anyway?” a community member asks me. I honestly don’t have a good answer without going on a rant. I would argue that Linux is not for everyone, and as I said last time it is not for many gamers. However, Linux is rapidly being set up to be the future of PC gaming with support and compatibility increasing on a literal daily basis thanks to the open source and community driven nature of the platform. If you’ve ever had a gripe with Windows, if your kink is customizing your PC to a deep level, if you have many security concerns, if you just want to be part of something different, then Linux might be for you. I will continuing sharing my story to make the decision or the switch, if you decide to do so, a little bit easier for you dear reader.
Divinity: Original Sin 2. I can easily say this game is the best cRPG in a decade or more. This is a game that everyone should play, but there is no native Linux support for the title. As I mentioned last time, Steam’s Proton project provides compatibility in such situations. However, it doesn’t always work. On my first attempt the game crashed immediately on launch. The game has its own small launcher that makes calls to Microsoft’s .NET framework, which most gamers may not be intimately familiar with but you should recognize the name from many installers for a myriad of different titles. The short version is that .NET is Microsoft’s proprietary CLR, Common Language Runtime, that allows developers to run code in many different languages on Windows. This CLR is obviously not designed to run on competing operating systems. However, with a quick google search and some help from people on the Steam forums I found the solution. A quick adjustment to a few file locations will force the game to bypass the initial launcher and launch straight into the game, also bypassing the crash. It runs like a dream, though with one quirk. Every time I launch the game Steam goes through the process of attempting to re-install .NET. It’s not a big deal, but it does make getting into the game take just a bit longer.
At this point I’m still trying to replace all of the things I had on my Windows install. One of those things is remote desktop software so that I can access my PC from my computer at work. I had been using Chrome Remote Desktop from Google because it was incredibly easy and ran in a browser tab. Thanks to that browser compatibility I was easily able to get it set up on my new Linux install and it was working just fine. I went to work and was able to log in remotely just to check on a few things. Getting home later in the day though I noticed a few things acting weird. Videos wouldn’t play in my browser anymore. Many of the OS level keyboard shortcuts ceased to function. Some applications became completely unresponsive or just wouldn’t open, including the all important terminal window. I started trolling the many Linux forums for an answer. Apparently, Google’s remote desktop software installs itself in the root directory on Linux. This overwrites and messes with the permissions on all sorts of root level OS functions. Bad news. I was able to uninstall Google’s software and return everything to working order, but I had to install a second terminal application to do it as the built in one had been rendered non-functional by the offending software. That was a close one. I’m sure I will find some sort of open source alternative to fulfill my remote desktop desires in the future, but for now I go without. Crisis averted.
It should be no secret to anyone that knows me that I play a fair bit of Overwatch. It was the first game I got working on Linux but as I related in my last entry, the performance left much to be desired. It turns out that on my initial install I failed to properly install all the dependencies for Vulkan support, specifically DXVK. This is DirectX to Vulkan. Whereas DirectX is Microsoft’s proprietary API for 3D graphics, Vulkan is the open source equivalent and in some respects it is the superior of the two having shown better performance than DirectX on many systems. DXVK is a neat little compatibility tool that translates a game’s calls to DirectX functions into something that can be understood and processed by the Vulkan API instead. To the average gamer this might seem like a bunch of tench-babble, but what this means for me is better performance. Once I got DXVK working properly and enabled it for Overwatch, my experience improved dramatically. Going from an average of 30 frames per second up to the much more comfortable 70 fps. Stability was much improved as well, whereas before I was experiencing constant frame drops and freezes, I now maintain that 70 fps only dropping to around 65 fps during the most intense action. Thanks to DXVK I can also say that performance in other Blizzard titles received the same marked improvement.
It cannot be understated that using Linux is akin to joining a community more so than any other OS. Everything you come across is community driven and while most of my interaction with the Linux community up to this point has been looking for answers on how to do things, there comes a time when one feels they must contribute something. I’ve mentioned Steam’s Proton before, but there is an important part to that project that has nothing to do with Steam. That is the Proton Database. Here is a collection of all the games that people have tried to run using Proton and what their results were. Many times you can find workarounds in the user reports for games that don’t work straight away. Other times you find that game that you were thinking of buying doesn’t work at all and you might want to skip it. This week, I contributed a few reports of my own to the database. I hope it helps someone out there. Though, this series will continue to be my most detailed report.