Linux Gaming: Play Windows games on Linux with Proton

Gaming on Linux has taken some enormous strides over the past few years, as more and more people are switching from Windows to Linux. Despite this uptick in users, however, the majority of games are still Windows exclusive. Developers have said they don’t want to spend the time and money supporting the Linux community, and it’s hard to blame them – as much as I love Linux, we’re still a tiny, albeit vocal, minority.  But this lack of support unfortunately creates a situation where gamers are going to stick to Windows because that’s where the games are, and developers are going to continue to focus on Windows because that’s where the gamers are, so gamers continue to stick with Windows, and developers continue to make Windows-only titles, and nothing ever changes.

That’s why Proton is one of the biggest developments in the history of gaming on Linux. Proton is a tool developed by Valve to allow Steam users to run Windows-exclusive games under Linux. That decades-old PC game you have lying around your Steam library? You can get it up and running on Linux. Want to play more recent, critically acclaimed titles like Sekiro: Shadows Die Twice? No problem – it runs on Linux. If you do most of your gaming through Steam, Proton lets you switch to Linux and still play the vast majority of your library with minimal issues. Who needs developers supporting Linux when you have Valve and Proton?

Understanding and Enabling Proton

Proton is essentially a fork of WINE (a compatibility layer that’s been around since 1993 enabling Windows software to run on Linux and Mac OS) with some additional bundled libraries like DXVK (a Vulkan-based translation layer to get games using Direct3D to run on Linux). If that’s a mouthful, don’t worry. Getting started with Proton could not be simpler. If you’ve tried getting Windows software to work on Linux before Proton, you know how much of a hassle it could be. Feel free to close that terminal window – you don’t need any technical knowledge to get started with Proton. In Steam, go to the “Settings” menu. Click on “Steam Play.” Make sure “Enable Steam Play For Supported Titles” is checked, and you’re good to go!

This setting will allow you to use Proton for games Valve has personally tested and ensures that they work flawlessly on Linux. Now, when you purchase a game on Steam that’s on Valve’s whitelist, instead of being told your operating system is unsupported, you’ll be able to download, install, and run the game just as you would if you were on Windows. If you’re curious as to what games are on Valve’s whitelist, Valve doesn’t make that information easy to find, but you can see the list with the third party tool SteamDB.

Thankfully, you’re not limited to using Proton with games Valve’s whitelisted. You can enable Proton for all Windows-only games on Steam. This isn’t as “risky” as you might think – Valve is pretty conservative with what they’ve chosen to whitelist, and there’s a lot of games that run perfectly fine that Valve hasn’t added for whatever reason. To enable Proton for all Windows games, in the SteamPlay menu, check “enable Steam Play For All Other Titles.” Now you can install and run any Windows game on Steam – not just the one’s on Valve’s whitelist. Note that you’ll see a list of Proton versions to use in a drop down box. I recommend you stick to the latest version (5.0-2 at the time of this writing), but you’re free to use an older version if you have a good reason for doing so. Now, when you install a Windows game, Steam will automatically download that version of Proton.

You can also enable Proton for specific titles in your library. This is handy if you want to use an older version of Proton with one game, but the newest version for all the rest. Just right click on a game in your library, click “Properties,” then click “Force The Use Of A Specific Steam Play Compatibility Tool.” You can select which version of Proton you want to use in the dropdown box.

Want to know how a specific game works with Proton before you buy it? Head over to https://www.protondb.com. This site, created and driven by the Linux gaming community, aggregates reports from gamers around the world on how well titles work on their system. You can search by specific titles, or explore games based on their popularity or rating (“Platinum” games work perfectly, “Gold” requires some tweaks, “Silver” has minor issues, “Bronze” has frequent crashes or performance issues, and “Borked” is broken or unplayable). What’s really great is community members will often post fixes and workarounds to get games working, such as in this post for my personal favorite game of 2019, Disco Elysium.

To get Disco Elysium up and running, I have to modify the launch options to disable Esync and force the large address aware flag. To modify launch options, just right click on the game in question, and then click “Properties.” Under the “General” tab, click the “Set Launch Options” button, enter the launch options, then click “OK.” Please keep in mind to check the version of Proton they’re running – newer versions of Proton might have fixed these issues. I always like to run games without tweaking any launch options first, then see if I need to apply any fixes.

If you want to give back to ProtonDB, consider contributing a report yourself! It doesn’t matter if you don’t have the technical know-how to fix issues, or if the game works perfectly – your experiences are valuable data to help others solve problems and find titles that work on their system. Just go to https://www.protondb.com/contribute and sign in through Steam. Now, when you’re browsing a game on ProtonDB, you’ll see a “Add Your Report” button at the bottom of the page. Click that and follow the instructions.

If you want more information about Proton, ProtonDB has a well-writen FAQ that addresses common  issues in depth and keep an eye out for more Linux gaming content in the future.