Today, Valve released a new beta version of Steam Play which includes a technology called “Proton”. Proton is a modified distribution of Wine that enables you to run Windows games on Linux, and it’s integrated directly inside Steam itself, which will enable you to run all Windows-only Steam games natively on Linux.

This is a huge deal, because thousands of users around the world were prevented before from fully switching to Linux due to the limitations of the gaming experience on Linux. Some big titles were never ported to Linux and remained Windows-only, and those which were ported had many glitches. But today, you can start expecting a pure gaming experience on Linux just like on Windows. Valve said it will make sure all games on the store will be eventually supported under Steam Play for Linux.

Now, in this tutorial, we’ll explain how to enable Steam Play with Proton, how to adjust its preferences and how to debug non-working games. We’ll also run Age of Empires 2 HD on Linux as an example test case.

Enabling Steam Play on Linux

Currently, Steam Play is still in beta and isn’t in the main Steam client yet. So you need to opt-in to the beta version of Steam first in order to enjoy the new technology.

To do this, Open your Steam settings, under Account and under Beta participation click on the Change button and select the Steam Beta Update:

Then, you’ll be required to restart Steam and the new Steam beta client will be downloaded automatically. After it’s done, open the settings window again and head to Steam Play, and enable the options as follow:

You’ll be required to restart Steam again.

Now, you can head to the Steam store and try to run any Windows game you would like and see your luck. In its announcement, Valve mentioned some titles to be working fully under Steam Play, but even if your game is not among these, you may still try installing and running it to see what happens. Valve plans on reviewing the entire Steam catalog to make it Steam Play compatible, but this process may take time, so it’s better that you try your luck now.

You’ll find the install button now available on your previous Windows-only games, click it to start installing:

Enabling Proton Configuration File & Logs

If you head to $HOME/.steam/steam/steamapps/common/Proton\ 3.7/, you’ll find the Proton’s configuration files. There’s a file with the name user_settings_sample.py. Change its name to user_settings.py and then open the file in a text editor.

This file the configuration file for Proton, which is the modified Wine distribution shipped inside Steam itself. You can tweak many stuff from there.

Here are the contents of the file by default:

#!/usr/bin/python2.7

#to enable these settings, name this file "user_settings.py"

user_settings = {
    #logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module",

    "DXVK_LOG_LEVEL": "info",

    #Enable DXVK's HUD
#    "DXVK_HUD": "devinfo,fps",

    #Use wined3d for d3d11 instead of dxvk
#    "PROTON_USE_WINED3D11": "1",

    #Disable d3d11 entirely
#    "PROTON_NO_D3D11": "1",

    #Disable in-process synchronization primitives
#    "PROTON_NO_ESYNC": "1",
}

In order to get more information about any possible game crash, changeĀ “DXVK_LOG_LEVEL” to “debug” and save the file and exit. If you would like to test stuff, you may try enabling other options in the file such as disabling D3D11 or enabling DXVK’s HUD by simply removing the # symbol from the beginning of the line. Don’t forget to restart Steam after any change to the file.

Now, whenever you try to install a Windows-only game on your Linux client and if that game crashes, you’ll find a log file named something like steam-221380.log in your home directory. This log file contains all the information associated with that game while it was trying to run and why it crashed. From there you can simply Google the error message until you find the solution.

What most people don’t realize while trying to run Windows games via Steam Play is that most of these issues may not be caused your local machine or Linux system. Even Windows users on a lot of different hardware face many bugs and issues while trying to run games. So if a game doesn’t work with you via Proton on Steam Play, just check the forums or online discussions for other people who may have faced the same issue.

You should try running your favorite games on Linux from now, there’s no need to wait.

Example Use Case: Age of Empires 2 HD

The iconic Age of Empires 2 is one of the best strategy games out there. I was happy to have it on Windows but sadly it doesn’t have a Linux version. So I simply wasn’t able to play it when I detached Windows from my machine.

After installing the game on my Linux machine (Thinkpad x260 with Linux Mint 19) using Steam Play, the game simply crashed on boot. Googling the error message in the log file led to this discussion on Steam, which indeed gives a working solution:

  1. Add NoStartUp in launch options.
  2. Remove Launcher.exe from your game files.
  3. Rename AoK HD.exe into Launcher.exe.
  4. Start the game from Steam.

You may also notice that the game is stuck on subscriptions validation.. Just close the game and start it again, and Voala! The game is working perfectly:

And you’ll notice that your previous profile, saved games and any other settings are all saved from your Windows machine. It’s just exactly as if you were running it on Windows. There are no lags or glitches in the gameplay.

Conclusion

Proton’s integration via Steam Play should allow you to run tons of top-tier games on your Linux machine natively. The technology right now is still in beta stage and it’s too early to judge on it from now, but it will be a game changing for a lot of people. Many gamers will now be able to detach Windows fully and switch to Linux.

Valve made huge contributions to Linux gaming. Proton contains a lot of improvements and patches which do enhance the gaming experience better than just running it on a plain Wine. Many of these patches are also shared to the upstream to enhance the gaming experience for other Wine users too.

If you would like to follow the latest news and development of Steam Play & Proton, keep in touch with the Steam for Linux community. Also follow the issues page on Proton. Additionally, there’s a user-list of tested games on Steam Play beside notes on how it went.

Shares
Load More Related Articles

17 Comments

  1. Renrits

    August 22, 2018 at 10:51 pm

    Name of the site is FOSS post, but it’s talking about proprietary DRM’ed games.

    Reply

    • M.Hanny Sabbagh

      August 23, 2018 at 5:55 am

      Proton is an open-source fork of Wine. The code is published on GitHub and linked in the post. Steam is the main reason why millions of people would switch to Linux and many other open source software, so solving this issue is important regardless whether its open or not.

      Reply

      • guest

        August 25, 2018 at 1:47 pm

        Pretty much, if I can get Starcraft II(nota Steam game) to run on Proton well enough….I’ll swap to mint.

        Reply

        • Adam

          September 3, 2018 at 3:00 pm

          It works fine on Wine

          Reply

      • guest user

        August 27, 2018 at 5:03 am

        Even Richard Stallman expressed some cautious optimism about Steam coming to Linux way back.

        Reply

      • Sander Koenders

        September 7, 2018 at 2:55 pm

        Opensource does not necessarily mean that it is FOSS

        Reply

        • M.Hanny Sabbagh

          September 7, 2018 at 4:01 pm

          Do you even know what FOSS stands for?

          A software being open source means that it’s 100% free, libre software (as in freedom). Check OSI website for more information: https://opensource.org/

          Reply

  2. Niroe

    August 24, 2018 at 6:08 pm

    For me, it just stays on “running” for a minute and reverts back to nothing. set it up exactly as shown. Which distro are you using and which kernel?

    Reply

    • M.Hanny Sabbagh

      August 24, 2018 at 6:13 pm

      Did you do the launch options and renaming the launcher part? (After some updates these things may be overwritten so you could check that). Other users are also reporting that the method works (check the document at the end of the post). I already mentioned am using Mint 19.

      Reply

      • Nirose

        August 24, 2018 at 6:28 pm

        I actually renamed the old launcher to “.bak” at the end and the AoK to “Launcher.exe” but still doesn’t run. I’m on Mint 19 Cinnamon too. Here’s a screen https://i.imgur.com/yZxLLIv.png

        Reply

        • M.Hanny Sabbagh

          August 24, 2018 at 7:24 pm

          Weird, here and many people even on Windows systems say that the method works. Can you just try to remove Launcher.exe.bak and then rename AoK to Launcher.exe? If it doesn’t help, what error message do you get in the log file? (using the method explained in the post).

          Reply

          • Nirose

            August 26, 2018 at 1:39 pm

            Hi, thanks. I got it to work by installing it to a different drive and making changes again. but the gameplay was too slow to play. I searched around and i think it has something to do with old integrated graphics. I guess I will have to stick to Windows for this. I’m still checking other games. Were you able to play AoE smoothly?

          • M.Hanny Sabbagh

            August 26, 2018 at 2:03 pm

            Glad to hear it initially worked as a start. I have it working very smoothly here and I have an integrated Intel HD 520 graphics card. Make sure you have the latest updated drivers, also try to play with the options from the user_settings.py file as shown in the post (remove the # symbol in front of the wined3d line for example). I hope this helps.

  3. Julek

    August 30, 2018 at 9:28 am

    I’ve remarked that Steamplay games do not survive to alt-tab. So always launch them in windowed mode.

    Reply

    • M.Hanny Sabbagh

      September 1, 2018 at 5:03 pm

      The mentioned Age of Empires 2 doesn’t crash on alt-tab. I don’t know about other games you may have tried.

      Reply

  4. ryan musante

    September 21, 2018 at 7:26 am

    https://github.com/ValveSoftware/Proton
    -Compatibility tool for Steam Play based on Wine and additional components

    https://github.com/Sirmentio/protontricks
    -A simple wrapper that does winetricks things for Proton enabled games, requires Winetricks.

    Reply

  5. Pamala

    October 16, 2018 at 12:38 am

    I do not even understand how I finished up right here, but I thought
    this publish was good. I don’t understand who you are but definitely
    you’re going to a well-known blogger should you are not already.
    Cheers!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *