How-To: Enable Valve's Proton Compatibility Tool in SteamOS
As we all know, in August of 2018, Valve rebranded Steam Play and released Proton, a forked version of Wine which includes DXVK, into the Linux Steam client. This allowed users to very easily run Windows-only games, without the hassle of vanilla Wine and DXVK. Sadly however, this option to enable Proton is still non-existent within Big Picture Mode, which also affects SteamOS. While this may appear odd at first, the speculation is that this will be added in when Proton is no longer in Beta, and a possible major update to SteamOS will boast the ability to play Windows titles commercially. Perhaps that could also be a sign of new Steam Machines?
However, what about those of us who already use SteamOS? Don't worry, it's a pretty painless process to enable. With a little terminal trickery, we can turn existing Steam Machines and/or SteamOS powered computers into early prototypes of what Valve may be trying to achieve in the future, and discover some pretty shocking and exciting things under the hood.
STEP ONE: Enable SteamOS Beta Updates
No, I don't mean opting into the Steam beta within BPM (Big Picture Mode), which can be done in the settings. But rather instead the SteamOS beta, which you have to do completely within the desktop mode. This is so you get the more recent 2.166 "brewmaster_beta" version of the underlying operating system, which includes updated NVIDIA and Mesa drivers that was released back in August last year, which Valve have sadly not yet pushed out for everyone.
First and foremost, you have to "Enable Access To The Linux Desktop", in the Interface tab in the settings menu. Then, exit to the desktop.
To continue, you need to open a terminal emulator. You can use Gnome Terminal or Xterm. In my experience, using Gnome Terminal just hangs and never opens, so optionally find xterm within your usr/bin folder, which is in your home folder. To make this easier in future, you might want to pin that xterm to your favorites.
Once Xterm is open type:
passwd
Which will allow you to set the root/sudo password for desktop mode. After that, enter the following consecutively:
sudo apt install steamos-beta-repo
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Optionally, you can also type in the following commands to clean your system of now obsolete files:
sudo apt autoremove
sudo apt autoclean
Reboot the system and congratulations! You are now running SteamOS in Beta! However, we still need to enable Proton.
You might want to check to see if your system is indeed running in Beta. You need to go into the Settings menu in Big Picture Mode, enter the System tab, and on the right hand side you should see your Steam Machine's internal specifications, which down towards the bottom should list the driver version.
STEP TWO: Enable Proton Via The Standard Steam Window
Lastly, we need to enable Proton, which can only be done via the standard desktop Steam window, due to BPM missing it. To do this, exit back into desktop mode, open your terminal of choice. Now enter the following commands in order for us to restart Steam with the standard desktop window.
sudo -i -u steam
The command above gives us, the 'desktop' account, with access to control the elevated SteamOS account.
Next, we need to kill Steam and restart it. Enter the following commands:
pkill steam steam
Steam should now show the standard update window that desktop users see upon clicking on / starting Steam. Sometimes after doing this process for the first time, Big Picture will take over. No worries, just exit and try it again and it will work.
From the standard desktop window, we can just click on Steam in the upper left hand corner, go all the way down to the SteamPlay tab, and we can enable Proton just like standard users on other distros.
Exit Steam and type the following command:
sudo reboot
You can now use Big Picture Mode as usual, but now with the option to install Windows only titles! SteamOS even has the ability to type in launch commands, which you can find after clicking on a game. Some games will require special commands and this is what leads me into the final section of this article.
STEP THREE: Wonder What's Next!
To conclude this article, let's revisit where I said in the introduction that we'd find some pretty shocking things going on with SteamOS.
After enabling the SteamOS Beta and Proton, I discovered that many games, such as GTA V or Slender: The Arrival, which required things such as mscorefonts or other various dependencies, along with special launch commands, worked right out of the box with minimal bugs on SteamOS! Every other distro I've tried has required extra work from the user on many titles, these included. GTA V worked near flawlessly and didn't need the fixes listed on GitHub and by other various community outlets. This was the same for Outlast 2, Slender: The Arrival, Bully Scholarship Edition, and many other Windows games I tested. To further prove SteamOS is the epicenter for Valve's Linux innovations, (as stated by a valve employee when asked about the removal of Steam Machines from the hardware tab on the Steam Store) I did a fresh install of Linux Mint 19, and sure enough, GTA V and other titles needed the listed fixes in order to work.
Hope this helps.
But there is an issue with step one (STEP ONE: Enable SteamOS Beta Updates) which has a side effect: I can not run Rise of the Tomb Raider any more after doing this, the game does not recognize a Vulcan-capable setup after doing this.
My hardware and software there is GTX 950 and 396.54 as given from the beta repos. The guys at Feral did not know about any solution either :/
Last edited by miro on 9 January 2019 at 9:52 am UTC
But still, there needs to be same-day availability to compete with Windows for new AAA releases.
That's weird, I've just finished RotTR 17.10.2018 and I was on beta since 22.08.2018, and it worked great. I have gtx 970, so not that different, either. May it be some problem with your vulkan install? Maybe something like this?
Last edited by pb on 9 January 2019 at 10:11 am UTC
I've finished ROTR on SteamOS, first starting with the 387 driver and then finishing it with the 396 driver. The latter was much better under Vulkan, I got an extra 10fps on max settings (GTX 1070). To get the 396 driver you have to use the beta.
Opting in SteamOS beta can be done through the system updater.
Accessing the regular steam desktop client can be done by disabling the auto-login.
I am not sure why this happens. I also opted out once Feral told me that this is due to the beta branch, hoping that I would be kinda soon in the non-beta versions again. that was when proton came out, I really started using it very soon.
Perhaps opting in again would help, since you say that that it worked for you while in the beta. Will try :)
Thanks for this How-To anyway!
Relevant points:
- it has an icon to perform the operations described above to start Steam as the steam user
> note that as above, this will stop the steamos-session, since you can't have more than one running instance of Steam active for a given user
> a few other benefits to running the Steam desktop client I've used on my system is that I boot from and SSD and have a big mechanical HDD for my game storage; I was able to configure the steam game folder, and it is honored by the steamos-session
- it has an icon (like SteamOS) to return to Steam; it first checks if the desktop client is already being run, and if so offers to let you either terminate it manually or kill automatically
> note that if you have killed the steamos-session, to start the desktop client as above, it will be restarted automatically for you; no need to reboot your system
- since you're on a major, up-to-date Ubuntu-based platform, you are much more easily in control of your drivers if you enter the desktop (there was a poster above who noted issues with drivers on SteamOS).
> as a convenience, if the installer detects that you've got an nVidia card, it will install the nVidia driver PPA, and open the applicable driver manager for you so you can switch off of Nouveau before restarting
> if it detects that you have an AMD/Intel Mesa graphics install, it will install Mesa Vulkan and VDPAU components for you
You can find the project here:
https://github.com/jonbitzen/ConvergenceOS
There's a bit on the GitHub page to discuss my other aspirations for the project.
I hope someone finds it useful!
Sincerely,
jonbitzen
This method didn't work on my Steam Machine. For some reason, X is set up in a way that prevents launching Steam Client via su. Normally, I'd investigate, but because it was a one-off, I went for a brute-force approach of xhost +localhost.
The second issue: several games flatly refused to launch or misbehaved, while they work perfectly on Debian Stretch (not a bleeding edge distro either) with fairly recent nvidia drivers from experimental. Dark Souls II is one example: doesn't launch on SteamOS, works perfectly in Debian. FarCry (the first one) has severe mouse issues on SteamOS, works perfectly on Debian (well, the mouse doesn't work in Steam Overlay even on Debian, but the game itself runs flawlessly).