Fed up of Windows and want to try Linux, but worried your PC games won't work? Valve has the answer with its Proton compatibility layer. This allows thousands of Windows-exclusive games to run largely natively on Linux, removing barriers and allowing you to play the majority of your game collection without much of a performance difference. This guide will walk you through a brief history of Linux gaming and show you how to get everything up and running on Steam via Proton.
Playing games on Linux used to be a game of chance
You were on your own
Default settings in Palworld on the Steam Deck
Games are usually developed with and for Windows. The most popular game development tools also primarily support Windows, making Linux and macOS support a gamble. The market shares of these two operating systems are also so small that most developers forego official support altogether. Linux gamers have had to rely on unofficial tools like Wine to play Windows games, and even then the results have been very mixed.
Even the most common game creation tools primarily support Windows, making Linux and macOS support a gamble.
Wine required manual configuration to run Steam and available games through the compatibility layer. Updates and other changes could break this, causing frustration and requiring effort to get everything working again. Native support for Linux has improved over the years, despite it having a relatively small share of the PC market, but that all changed when Valve launched its Proton development initiative.
The company had to launch Proton before the release of its portable gaming device, Steam Deck, to ensure that Windows games would work on its handheld device, which runs Linux and not Windows. Linux gamers have since taken advantage of this effort to run the latest Windows games on various Linux distributions. Now it's as easy as installing Steam on Linux and clicking a single button to install and play Windows games through Steam.
What is Proton and how does it work?
A new era of gaming on Linux
Proton is essentially an open source collection of tools that run Windows games through Steam. Valve has developed a version of Wine and has worked hard to allow anyone to load a game without messing around with Wine and other underlying tools. Wine acts as a layer that translates Windows API calls into Portable Operating System Interface (POSIX) calls, while also recreating a Windows directory structure and providing alternative implementations of system services.
Contrary to its name and common assumptions, Wine does not use emulation or virtualization to run Windows binaries. In addition to translating Windows APIs, Proton also translates Direct3D API calls using DXVK, a Vulkan-based translation layer for Direct3D 9, 10, and 11, with Direct3D 12 supported via VKD3D-Proton, a fork of VKD3D from Wine. Depending on the Windows game, some may run just as well as Windows, while others may require additional tweaking to work at all.
How to check which Windows games work with Proton
Check before buying
ProtonDB is being tested for compatibility with Windows games.
Valve doesn't provide details on which Windows games work with Proton, but the community has a tool available to help. ProtonDB is a website that compiles data on Windows games and how they run on Linux with Proton. Linux gamers can rate games accordingly and even share details on how to get Windows games running using launch parameters and other tools. Each game list shows results and corresponding system details. I would use this website to check if your games work on Linux.
How to play Windows games via Steam on Linux
Let’s get to the point
Enabling Proton via Steam on Linux.
Steam is the most popular way to play games on Windows PCs, and the same goes for Linux. The client fully supports the Linux operating system, and installing it on a Debian-based operating system couldn't be easier. All you need to do is download the Steam DEB file (think of it as an installer) and follow a short process to get started. As long as you have the best graphics card you can afford, you can have an excellent gaming experience on Linux.
- Download steam from the official website.
- Install Steam using the downloaded .deb file.
- Open Steam using the app icon or the following command in Terminal:
steam
- Follow the installation process and log in.
- Use ProtonDB to check which of your games work with Proton.
- Install the Windows games you want to play.
- Right-click on Game(s).
- Choose Characteristics.
- Select the compatibility Tab.
Changing the Proton version for a Windows game via Steam.
- Enable “Force use of a specific Steam Play compatibility tool”.
Steam will download some files, install some companion software, and prepare the game for launch. When everything is complete, launch the game. You may be greeted by a popup saying “Preparing Vulkan Shaders.” Wait for this process to complete and the game should then launch automatically. If the game doesn't launch and other Steam users have had success through Proton, I recommend playing with the Proton version you're using. Follow the steps above to get into the game's properties through Steam and change the Proton version.
How to use Steam startup parameters
In case something goes wrong
Launch parameters through Steam can help get games running on Linux. Steam provides some basic commands that can be used. Others can be found on ProtonDB to get a Windows game running or at least troubleshoot it. Here's how to use them for games on Steam:
- Open steam.
- Right-click a game.
- Select the Characteristics Tab.
- In the Startup Options field, enter a startup parameter.
Depending on the launch parameters you used, you should notice a difference the next time you start the game.
Enjoy your Windows gaming on Linux
You've successfully launched your Windows game on Linux and can now enjoy it without being tied to Microsoft's operating system. If you've had some issues (or managed to get it running perfectly with Proton), be sure to submit reports to ProtonDB to help others. A vibrant community is essential to continue developing support for Linux-compatible games and getting even the most stubborn Windows titles running.