Looking to test the waters with Linux gaming and don't want to lose access to your favourite Windows games? Here's a simple no-nonsense guide to actually using Steam Play.
First of all, what is Steam Play?
In simple terms, it's software that allows you to run Windows games on Linux, directly through the Steam client just like any other game. Announced by Valve (here) back in August last year, it bundles together Wine, DXVK and more under the name of Proton so there's no fussing around. Some games are flawless, some have major issues. Thousands of games are currently reported to work!
Also, when you buy a game on Steam and run it with Steam Play, the developer of that game will know it was purchased on Linux.
How can I check compatibility with my Windows games?
Take a look on ProtonDB. Enter the game you wish to see and it will give it a rating from Platinum down to Gold, Silver, Bronze and Borked.
If a game is rated Platinum from the user reports, you're good to go. If it's rated Gold, a lot of the time it will still work without issues but it may need some tweaks. Anything below Gold, is likely to require some manual effort.
To make viewing ratings a little easier, you can try the Firefox plugin "ProtonDB for Steam" which adds the rating to store pages like this one for DOOM:
There's also the Augmented Steam plugin, which supports Firefox and Chrome (a continuation of Enhanced Steam, no longer maintained) which adds a ProtonDB link to store pages and tons of other things. Doesn't show the rating though yet.
How do I enable Steam Play?
Go into your Settings by clicking Steam in the top left of the Steam client, hitting Settings and then find Steam Play at the bottom of the list as seen below:
What does each checkbox actually do?
- The first tickbox enables Steam Play only for those titles that Valve have added to their whitelist (see the whitelist on SteamDB here). This is a list of titles picked by Valve, that should "just work" with a version of Steam Play Valve picks for you.
- The second tickbox, enables Steam Play to be used on all of your games in your Steam library.
However, you can actually force a specific version of Proton (the name of the Steam Play tool) on any item in your Steam library. By doing this:
This is handy for two reasons:
- If you don't tick the second box in the Steam Play settings, your Linux supported games and Windows games remain in separated lists. This allows you to pick individual games to try.
- If a game on the whitelist runs better in a newer version of Proton, you can pick it yourself.
What else do I need?
Up to date graphics drivers are essential! If you're on Ubuntu or an Ubuntu-based distribution like Linux Mint, elementary OS and others Valve's own guide is your best bet.
Sounds good, what are the drawbacks?
For a number of online-only competitive games, anti-cheat systems often prevent the Windows game working with Steam Play. Easy Anti-Cheat and BattlEye enabled games are ones to especially avoid right now. However, both are working on Steam Play support (See Articles: Easy Anti-Cheat + BattlEye) but it may be a long time before that's sorted.
Those are just two very well-known examples, there's a lot of different systems out there. As always, check first on ProtonDB like mentioned above. However, games that use Denuvo should be fine.
Try not to use the NTFS (Windows default) file system for your Windows games, using a Linux filesystem like Ext4 will prevent some odd issues.
Additionally, you're likely to get less performance than you would on Windows. Although, there are cases where the game will perform just as well.
What do I do if I have issues?
Can Steam Play be forced onto native Linux games?
Yes! Simply follow the same method above to force it.
Why would you want to do that? The Linux version might be outdated, perform badly, broken on a brand new distribution or any number of reasons. Steam Play at least gives you a possible backup option when things like that happen.
Can Steam Play be used for games not on Steam?
Yes! On Steam, you can add non-Steam games and also force Steam Play on them using the same method as shown above.
Simply add a game installed outside as Steam (let's say a Windows game from itch.io or GOG), add it to your Steam library. In this example, I am using MiniDOOM 2:
However, this might need an extra step due to a bug in the Steam client. When you pick a non-Steam game on Linux, it might cut off the full path if there's a space in a folder or executable name so it won't launch. It's easy enough to fix, as the rest of it is usually hidden in the "Set launch options..." button so you can copy and paste it:
This method is a little twitchy, as sometimes it can remove what you set in the "Target" and "Start in" fields, if you wipe the "Set launch options..." field afterwards. So for less headaches, cut from the "Set launch options..." to wipe it before setting the other fields correctly.
Note: Of the few Windows-only games I have on GOG, none worked using this method. Lutris noted below usually works better for games outside of Steam.
What about outside of Steam?
Yes! Steam Play/Proton is open source and available on GitHub. However, to ease the process the game launcher Lutris can make it a lot friendlier. I personally use Lutris to get Wine + DXVK together to run Overwatch on Linux and it does work nicely. You can do the same with Proton, as Lutris has it available to run games with quite easily.
Just as a final note: Steam Play as a whole is still in Beta and not actually advertised anywhere on Steam. Don't expect perfection.