Remember the days when gaming on Linux was hard to imagine? Thanks to the Proton compatibility layer and firms focusing on Linux, gaming on Linux has gotten much better over the past few years. But what exactly is Proton, and why is it important for Linux gaming?
What Is Proton Compatibility Layer?
To understand what Proton is, first, we need to understand two technologies—DirectX and Vulkan. Think of them as driver applications for gaming. They’re Application Programming Interfaces (APIs) that help your computer communicate with graphics cards.
While DirectX is a Microsoft-developed and Windows-specific closed source API, Linux uses the open-source Vulkan API. There are many other APIs like OpenGL, but let’s focus on Vulkan and DirectX only.
As DirectX is a Windows-only API and as Windows is one of the most popular operating systems globally, game developers focus on optimizing their games on DirectX. Since Windows games can’t be played on Linux, here’s where Proton steps in.
In simple terms, the Valve-made Proton is a Wine fork that uses libraries like DXVK (DirectX over Vulkan) to translate DirectX games to Vulkan. Think of it this way. Games talk to your graphics card using DirectX. DirectX gathers resources and allocates them to games. DirectX contains Direct3D (which is responsible for rendering 3D graphics in apps). Proton converts these Direct3D calls to Vulkan-understandable calls using the libraries.
The end result is a Windows-only game running on a Linux PC.
What Can You Play with Proton?
When Proton was launched in 2018, it could play only 27 games. However, in three years, the list of supported games has grown to about 16,000.
Proton is limited, however, in that it can’t play games with built-in anti-cheat mechanisms. As the name suggests, anti-cheat mechanisms in games prevent players from cheating. With the rise of cheaters, gaming firms have partnered with anti-cheat mechanism providers to improve the gaming experience. Some of the popular anti-cheat providers are BattlEye and Easy by Epic Games.
To find out what games are currently supported, head over to the official ProtonDB website. As of this writing, over 77% of the top 1,000 games are playable using Proton, in which over 21% run Natively (don’t require Proton), 21% are rated Platinum (run out of the box), 56% Gold (run after tweaks), 66% Silver (run with minor issues and tweaks), and 71% Bronze (run but crash frequently).
How to Use Proton
To enable Proton, head over to Steam Settings > Steam Play > Enable Steam Play.
If you’re looking for a detailed guide on running Windows games on Linux using Proton, we have you covered.
The Future of Linux Gaming with Proton
There’s no denying that Desktop Linux has gotten better over the past decade. However, one area where GNU/Linux was severely lacking was gaming—until Proton showed up.
Proton holds the key to revolutionizing Linux gaming to the point where Linux could compete with Windows. One development that could also help boost gaming on Linux is the
Steam Deck, which was announced in July of 2021.
For starters, Steam Deck is a handheld gaming console from Valve that runs Arch Linux (SteamOS with KDE Plasma, to be precise) and uses Proton to run Windows games. What’s exciting is that Valve knows that games with anti-cheat features won’t work on the console. As a result, it’s working with the developers of Easy and BattlEye to make it possible to run Windows games that use the same anti-cheat mechanisms.
The fact that Linux is open-source means that if Valve manages to get Easy’s and BattlEye’s support on SteamOS, the same could potentially be ported to other Linux distros. That would eventually strengthen the desktop Linux gaming experience overall.
It’s too early to predict exactly how things will change, but for now, the future of Linux gaming looks bright.
- › Don’t Worry, Steam Deck Clones Are Coming
- › How to Check Which of Your Games Will Run on the Steam Deck
- › System76’s Updated Oryx Pro Is a Beast of a Linux Laptop
- › 5 Websites Every Linux User Should Bookmark
- › 10 Steam Features You Should Be Using
- › 10 Fun Games to Play in the Linux Terminal
- › How to Download and Install Steam on Linux
- › How to Transfer Photos from Android to iPhone