A few years ago I wrote about Proton and DXVK and what it meant for gaming on Linux: https://mrfrosti.com/2020/08/06/gaming-on-linux-the-metagame/ . I figure it is time to revisit how its going.
I suspected at the time that Valve was pouring money and development into these projects with the goal of building a Linux backed cloud gaming service to compete with nVidia’s Geforce Now (aka the final resting place of the $1200+ GTX 4080s no one is buying), and the now defunct Google Stadia. Side note – when Sundar Pichai announced at a Stadia event that he wasn’t a gamer we should have all guessed it was dead on arrival.
Fast forward to 2023. Valve has unveiled and started shipping the Steam Deck – a portable PC running SteamOS using Arch Linux under the hood. It promises wide compatibility with games including Windows-only titles. Gearing up to launch, the number of Proton compatible games exploded on protondb.com . WINE, and DXVK, Proton, and related projects have seen rapid releases which bring big new features. There hasn’t been this much focus on Linux gaming possibly ever. But now that there is commercial interest in building products backed by these libraries, the ecosystem is being funded and is maturing rapidly.
It has been a while since I’ve dual-booted to Windows to play an online game. The sole exception would be the metastatic Xbox Live service which has spread into the Windows OS in a way that rivals the Internet Explorer debacle of Microsoft vs the DOJ from 1998. It’s a mess – even on Windows it barely works (usually open, crash, updates needed, crash, reboot, open crash, open, finally!). Almost every other gaming platform has some way to access and play its titles in Linux. Steam is at the forefront with a native Linux client, but Epic Games Store has support via Lutris, and Heroic. GoG allows downloads of Linux versions of its games, and has Lutris and MiniGalaxy support. Other launchers like Ubisoft, and Origin also run via Lutris with minimal fuss.
This has all built up to my latest purchase. I’ve had an nVidia GPU for as long as I can remember – probably 20 years now. This span was AMD’s dark ages. They’ve emerged now in a Renaissance era of Ryzen chips, and a new line of fast Radeon GPUs. I initially ignored them as the first generation of Radeon GPUs were not competitive with their green counterparts. However nVidia has made a number of decisions lately that have just given the game to AMD:
- nVidia GPU pricing has no basis in reality. My price point every generation has been around $500 for a high-end GPU, (but not bleeding edge). The 40x generation with an MSRP at $1,200 makes this a poor proposition. AMD has also gone up in pricing but is still considerably less than the competition. Scalping and crypto have exacerbated the pricing issue and I’ve yet to see the previous generation sell at even MSRP and stay in stock for long enough to add it to the cart. Side note: At Microcenter there were plenty of 40x series cards sitting ignored behind their locked glass case
- nVidia has continued to see issue after issue with latest generation. EVGA pulled out as a partner – further limiting consumer choice. The power draw has reportedly melted cables. The dimensions are the size of a mid-sized sedan, and won’t fit in many existing cases. Then there was the 4080 which was really a 4070 in all but marketing. Nice try marketing folks.
- nVidia “kind of” supports Linux. Their approach is a proprietary module you load into the kernel. AMD has their driver in the kernel. The driver quality discrepancy is quite large now in AMD’s favor. Looking at protondb.com and other Linux forums things work if you have AMD, and don’t work if you have nVidia. I have been unable to run Wayland on my GTX 1080 without artifacts, applications failing to paint, screen capture issues, etc. There is only so much the community can do with a closed-source blob.
- AMD was smart about having some ecosystem integration. nVidia only makes GPUs, and Intel is in the very early stages of making GPUs. AMD sits comfortably on both sides of the CPU/GPU fence and has a cool feature of resizable BAR with Ryzen CPUs.
This all culminated in my decision to support AMD with my wallet again (I’m a Ryzen owner) and go with a Radeon 6800 XT. It trades blows with a GTX 3080 in performance, aside from ray tracing and DLSS. nVidia is the clear winner there, but it doesn’t justify everything else. I would rather have a GPU that works flawlessly under Linux, at a lower retail price. And that is exactly how it played out. I bought a 6800 XT for $512 from Microcenter last weekend and put it in my Ubuntu 22.10 PC. IT JUST WORKED. Zero driver setup, I fired up a Steam game (Psychonauts 2) and it ran like butter. Windows gaming might be in the rearview mirror between my PS5 and my Ubuntu desktop.
Out of curiosity, I decided to fire up Control – one of the first games that supported ray tracing just to see how the 6800 XT fairs. I watched it all from the sidelines before there were Linux drivers or support for ray tracing. While the non-ray tracing version of Control is a one-click install via Lutris, setting up ray tracing support took a bit more research. I wanted to share my findings in case anyone wants to try the same. In Lutris you want to configure your system options and add the following Environmental variables:
- AMD_VULKAN_ICD=RADV (there is a “Vulkan ICD loader” select list for this that does the same)
- RADV_PERFTEST=rt
- VKD3D_CONFIG=dxr
I got a solid 45fps out of my 2560×1080 monitor with ray tracing on medium settings. You can independently adjust render resolution and engine resolution so it technically is upscaling this to a 3440×1440 but it has little or no impact on performance. All in all, I was impressed by the performance of a GPU that isn’t known for having outstanding ray tracing performance. To hit these numbers on an emulated Windows title is a testament to how mature this ecosystem has become.
I’m excited about the future of Linux gaming. The Steam Deck has really moved this into the mainstream. The driver support is there, the software is there, and many of the titles I’ve played recently even have native Linux builds (Warhammer III, Psychonauts 2, Hollow Knight, Wasteland, Desparators, Pillars of Eternity, Slay the Spire, Deus Ex, and more added all the time. It is hard to even know which games are native vs running in Proton/DXVK because the performance is about the same. In fact, I played about 2 hours of Warhammer III before I realized I was running it through Proton needlessly because there is now a Linux build available.
So if you are nervous about taking the plunge, or curious how AMD GPUs would fair, or how ray tracing works on Linux there you go! Happy gaming!