Some weeks ago, Steam announced a new addition to Steam Play with Linux support for Windows games using Proton, a fork from WINE. This capability is still in beta, and not all games work. Here are some more details about Steam and Proton.
According to the Steam website, there are new features in the beta release:
- Windows games with no Linux version currently available can now be installed and run directly from the Linux Steam client, complete with native Steamworks and OpenVR support.
- DirectX 11 and 12 implementations are now based on Vulkan, which improves game compatibility and reduces performance impact.
- Fullscreen support has been improved. Fullscreen games seamlessly stretch to the desired display without interfering with the native monitor resolution or requiring the use of a virtual desktop.
- Improved game controller support. Games automatically recognize all controllers supported by Steam. Expect more out-of-the-box controller compatibility than even the original version of the game.
- Performance for multi-threaded games has been greatly improved compared to vanilla WINE.
If you’re interested in trying Steam with Proton out, just follow these easy steps. (Note that you can ignore the first steps to enable the Steam Beta if you have the latest updated version of Steam installed. In that case you no longer need Steam Beta to use Proton.)
Open up Steam and log in to your account. This example screenshot shows support for only 22 games before enabling Proton.
Now click on Steam option on top of the client. This displays a drop down menu. Then select Settings.
Now the settings window pops up. Select the Account option and next to Beta participation, click on change.
Now change None to Steam Beta Update.
Click on OK and a prompt asks you to restart.
Let Steam download the update. This can take a while depending on your internet speed and computer resources.
After restarting, go back to the Settings window. This time you’ll see a new option. Make sure the check boxes for Enable Steam Play for supported titles, Enable Steam Play for all titles and Use this tool instead of game-specific selections from Steam are enabled. The compatibility tool should be Proton.
The Steam client asks you to restart. Do so, and once you log back into your Steam account, your game library for Linux should be extended.
Installing a Windows game using Steam Play
Now that you have Proton enabled, install a game. Select the title you want and you’ll find the process is similar to installing a normal game on Steam, as shown in these screenshots.
After the game is done downloading and installing, you can play it.
Some games may be affected by the beta nature of Proton. The game in this example, Chantelise, had no audio and a low frame rate. Keep in mind this capability is still in beta and Fedora is not responsible for results. If you’d like to read further, the community has created a Google doc with a list of games that have been tested.
There is also this page https://spcr.netlify.com/ for list of games compatible with Steam play. It is much nicer than google docs.
You can also use this page to submit new testing data for Steam play.
Also there is no need for beta now. This is part of the standard Steam release now.
An online database (wineHQ like) website exists at https://spcr.netlify.com/, there is a lot of tips for almost all running games with proton.
With Fedora you’re going to have to add your user to the input group or gamepads won’t work correctly.
Also, specific to Fedora, you should increase the open file limits or be prepared to disable ESYNC for proton. https://github.com/zfigura/wine/blob/esync/README.esync
I didn’t see any entries in that database mentioning nouveau, as opposed to the Nvidia proprietary drivers. I’d given up on the proprietary drivers, since they tended to cause issues during kernel updates.
Is performance with Steam Play and Proton tested with nouveau drivers?
You need the proprietary driver unfortunately. NVIDIA however is actually updating the Linux drivers to support Steam Play such as recent DXVK fixes.
using dkms for kernel update of the nvidia drivers, currently running 410.57 on fedora 28, and every kernel update automatically recompiles the driver, during the kernel update. If you have a problem, it could mean some of the necessary components for dkms or gcc are not installed.
There is a cool little project on github that helps configure proton just like winetricks helps configure wine. You can use it to make changes for specific games so the configs wont overlap with other games (just like separate wine prefixes).
protontricks – https://github.com/Sirmentio/protontricks
Perfect! I am using Steam Play and is a gorgeous project
Is this ever going to be implemented for games outside of steam?
This is a specific feature of Steam Client that pulls a fork of WINE down and auto-configures it, essentially, to make Steam-based Windows games play easier.
You can use WINE directly for non-Steam games.
I think what Andrei is asking is if the Proton specific bits will be made available for regular Wine. Wine is LGPL, which should mean that the new bits needs to be released under LGPL as well (knowing nothing about the details about how stuff is implemented — it may not be requried).
You dont mention the drivers required to run Steam Play properly in Linux. Obviously the latest NVIDIA proprietary drivers are required but Fedora 28 ships with an old version of Mesa. Therefore you need to update Mesa for AMD users from a compatible copr. Ideally version 18.2.2 which has a bunch of DXVK fixes. Hopefully Mesa is more up to date in Fedora 29…
Here is the best copr to use with Fedora 28 for AMD users to get the updated Mesa drivers… https://copr.fedorainfracloud.org/coprs/jerbear64/mesa_dxvk/
I believe this solution is far from being ready yet. I could’t find a game that would start on my machine even though they are listed as fully supported. Things like miss-identifying my graphics card are happening.
I’m on the latest Nvidia proprietary drivers, and native Linux games are working just fine. So we’re not there yet, but it’s a hopeful start.
Is there a chance to play games with Intel Graphics Drivers? (I’m currently playing Dota 2 on the integrated graphics of my Intel Core i7-7700). I already tried to play Age of Empires 2 but it doesn’t even start/crash/do something.
Not supported. You can upgrade the Mesa drivers to help but I don’t think Intel have a strong focus here unlike the AMD driver stack. Unless the game supported Intel graphics natively & ideally uses OpenGL you’re going to struggle.
HesusFTW, try the Mesa copr from here…
Age of Empires is a DirectX 9 game so you need the Gallium Nine compatibility layer.
This is now part of the updated Mesa stack. Hopefully this works for you.
I’m looking for some help.
I’m trying to run Rocksmith, which needs special cable (USB to guitar jack).
Game starts without the problem, but I have no luck with the recognition of the cable. Cable itself shows up correctly in the lsusb.
Any idea how to proceed? This is the only things which keeps me from removing windows dual boot partition.
You probably need to add your user to the input group, depending on your distribution. I’m guessing it might treat it like a gamepad, and without your user being in the group it refuses to work.
Can someone recommend a good game to try this on that’s also cheap? None of my Windows-only titles (like Sid Meier’s Ace Patrol and Typing of the Dead) are well-supported, and I’m using the Steam flatpak so I want to check if that introduces additional issues or not.
I’m using flatpak Steam with steam play and these games are working for me without issue: Warhammer End Times: Vermintide, The Walking Dead, Shortest Trip to Earth and Anachronox.
Didn’t noticed any additional issue when I switched from RPM Steam to Flatpak.
Because of this issue it is sometimes the case that the Steam client will SegFault on Fedora under certain Audio device configurations, depending if your HDMI audio adapters happen to come first or not. Possible other configuration variants will trigger the crash.
Yeah, if you just figured out how to install drivers on fedora then you can publish a post like this.
There are many games still, infact most of the games dont run using steam proton but they run on linux using DXVK via Lutris. Lutris is a great application it has pre tested scripts for the games to run using DXVK (Vulkan). Proton is still not that mature currently. In many cases Wine still does the better job. Proton is a folk of wine for steam and i hope it will be great in the future.
It’d be awesome if Fedora Magazine would stop supporting the use of proprietary software.
Shakes and Fidget working too good.