Better Linux Gaming With Steam and Proton – Tom's Hardware

Tom’s Hardware is supported by its audience. When you purchase through links on our site, we may earn an affiliate commission. Learn more
By 10 October 2021
Play your entire Steam library on Linux
If you’re at all interested in gaming on PCs, you’ve probably come across Steam, Valve’s platform for distributing, updating and running games. Steam makes it possible to purchase a game, install it over the internet and then run it from the Steam interface. Ah, but that brings us back to the age-old Linux gaming conundrum of support, as not every PC game is designed to run on anything other than Microsoft Windows. 
That said, there are plenty of Steam games that will run on Linux, and quite often, a Windows Steam game can be convinced to run on Linux even though some ‘fettling’ by the user may be required. This approach is officially supported by Steam using a system called Proton. Getting all of these things running, and then possibly optimising the results, is what we’ll be looking at in this tutorial.

Steam itself is installed through a custom program called the Steam Installer. This makes sense, because Steam updates itself and the games you install with it, without relying on Linux’s own update systems. These days, the installer is in the official repositories of many Linux distributions such as Ubuntu and Fedora and their derivatives. As Steam is proprietary software you may have to enable a specific repository, such as ‘Multiverse’ for Ubuntu or ‘Nonfree’ on Fedora. 
To install Steam on Ubuntu open a terminal and type
If you’re running a DEB-based distribution, but you can’t find the Steam installer in the official repositories:
1. Download the the installer directly from the Steam website
2. Open a terminal.
3. Install the downloaded file
The Steam application should now be available via your distros menu.
There is also another, unofficial, way of installing Steam that all Linux users might find interesting, and that is installation via the Flatpak system. This offers a few advantages of its own in terms of privacy and sandboxing, as Steam is a system unto itself once it’s on your system. Installation instructions can be found on the Flathub site.

There are many great games that run via Steam on Linux, but what if you want to run a game that doesn’t offer a Linux version? In such cases, there is a good chance that it can be made to run using a system called Proton. 
An official part of Steam on Linux, Proton makes use of both Wine and DXVK, layers that translate Windows software and graphics calls into native Linux ones. However, there are some caveats. Firstly, compared with how the game runs natively on Windows, performance and stability might be an issue. Secondly, it does raise some ethical questions as, arguably, running the Windows version under Linux might reduce pressure on the developers to make a Linux native version of a game. 
Getting back to the first point, the best way to get answers about the viability of running a particular game is to search for it on the ProtonDB website to see what luck other Linux users had with it. The database itself is well organised and includes information about when the testing was carried out and what the specific hardware and software configuration used was. The level of success of running the game on Linux is rated from ‘Borked’ to ‘Platinum’. So, if you find a recent, highly-encouraging report about the game running well on a similar set-up to your own, the odds are good. In addition, ProtonDB reports contain information on tweaks you can use to make stubborn games run properly.
To run Windows versions of games on Linux:
1. Go to Steam > Settings > Steam Play.
2. To enable approved games select ‘Enable Steam Play for supported titles’. Or to enable all games, select ‘Enable Steam Play for other titles’. For the latter option check the game’s ProtonDB entry for compatibility and issues. 
If you look through ProtonDB, you’ll notice quite a lot of references to Winetricks. So what is it? Winetricks is a helper script that installs various Windows components that are needed by games. The script pulls through the component and makes it visible to the Wine subsystem, and it’s worth knowing about, even if you’re using Wine outside of Steam.
To install Winetricks:
1. Open a terminal and change directory to Downloads
2.  Download Winetricks.
3. Change the file permissions to set Winetricks as an executable file. 
4. Using Winetricks, install CoreFonts, used by Windows applications via Wine.
Things can get complicated if you want to apply Winetricks fixes to a specific Proton game, but not by much. Thankfully, there is a helper script called Protontricks for just this purpose.
1. Install Protontricks. Open a terminal and use the Python packaging tool “pip” to install. 
2. To apply Protontricks to a specific game, you need to discover the specific game ID of that game using Protontricks itself. For example typing protontricks -s fallout found Fallout and Fallout 4 installed on our Linux gaming machine. 
3.  Visit the ProtonDB entry for that game. For example, we looked at the entry for Cyberpunk 2077 which has a gold rating, but requires a few tweaks in order to work.
4. Use the Winetricks commands that match the requirements for your game. Typically the syntax is.
5. Start your freshly-patched game via Steam.
Some games may need special launch options to be added in order for them to run correctly. To do so:
1. Right click on the game name in your Steam Library and select General.
2. Type in the launch options from the ProtonDB entry. Typically these end with the string %command%.If there are multiple launch options, ensure that there is only one %command%
You may need to edit a game INI file.
1. Right click on the game name in your Steam Library, select Properties.
2. In the Local Files section click on Browse to locate the INI file.
This guide originally appeared in issue 281 of Linux Format magazine
Get instant access to breaking news, in-depth reviews and helpful tips.
Thank you for signing up to Tom’s Hardware. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.
Tom’s Hardware is part of Future US Inc, an international media group and leading digital publisher. Visit our corporate site.
© Future US, Inc. 11 West 42nd Street, 15th Floor, New York, NY 10036.