Playing games on Linux has never been easier than it is now because of Steam Play support for Linux and tools like Steam Proton.
Previously there was no way for Linux users to play Windows games unless developers had developed a Linux native version. But, with Steam Proton, Linux users can download and play Windows games.
Some of these games will run natively and some will need minor tweaks to run on Linux based system. Steam Proton has an associated community website that displayed data collected from users about the compatibility status of different games with Proton. Users share exactly the system configurations they used to run a game so you can find out if you are in a position to try and run a game with tweaks or not.
Table of Contents
- Enable Steam Proton
- Play Games using Steam Proton and ProtonDB
Enable Steam Proton
Before enabling Steam Proton we need to download the Steam client for Linux. Steam offers a wide range of games native to Linux.
Download and Install Steam on Your Linux Distro
On Linux distros that have app stores, Steam can be downloaded through the distro’s software store app. But you can also install Steam using the command line.
We’ll cover how to install Steam on Ubuntu-based system using the
multiverse repository, on Debian-based systems, and on RHEL based systems.
Install Steam on Ubuntu and Debian-based Distros
We can install Steam on Ubuntu and Debian in multiple ways. We’ll just focus on two of the main ways in this tutorial.
Method 1 – Install Steam Using the Official Steam Debian Package
Using this method we’ll use the Steam installer. You can find it here if you visit using a Linux machine https://store.steampowered.com/about/.
We’ll download it using
wget from the command-line:
Next we’ll install Steam by running:
sudo dpkg --install steam.deb
Now you can run Steam from either the command-line by running
steam or from the Application Menu, and Steam will guide you to installing some additional required packages.
Install Steam on Ubuntu and Debian-based Distros using APT
We can also install Steam via the APT package manager. To do this first run the following command to add the Steam repositories:
sudo tee /etc/apt/sources.list.d/steam.list <<'EOF' deb [arch=amd64,i386] http://repo.steampowered.com/steam/ stable steam deb-src [arch=amd64,i386] http://repo.steampowered.com/steam/ stable steam EOF
If you’re running an amd64 (64-bit) system, you’ll need to enable Multi-Arch, to run software from i386 architecture.
sudo dpkg --add-architecture i386
Update your package index:
sudo apt update
Next install some required packages and Steam:
sudo apt-get install libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 steam-launcher
Now you should be able to run Steam from the command-line by running
steam or from the Application Menu.
Install Steam on RHEL-based Distros
There are multiple ways to do this using the command-line. In our example we’ll use Flatpak.
sudo dnf install flatpak
Next we’ll enable Flathub:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Now you should also be able to find Steam in your distro’s software center. We’ll continue and install it via the command-line:
sudo flatpak install flathub com.valvesoftware.Steam
Steam has been installed on your system. Run Steam and log in to it using your credentials to proceed further with this tutorial.
Activate Proton to run Windows games on Linux
Now that Steam has been installed, a huge catalog of games that have Linux support will be available for you to play. But what if you want to run a game that has no official Linux support?
This can be done using a Valve-supported tool known as Steam Proton.
Proton is a project of Valve that utilizes Wine and DXVK layers to translate Windows calls into Linux calls for software and graphics. Using Proton, Linux users install and play Windows games as Proton will auto-configure these games to run on Linux. But the extent to which a Windows game will run on Linux is different for each game.
We need to enable Steam Play through the Steam client in order to run Windows games on Linux. Steam Play utilizes Proton to run games.
First, we need to enable Beta Participation for Steam by following the below steps.
- Open the Steam client and click on
Steamin the upper right corner of the client window.
- From the dropdown, click on
- From the
settingswindow that opens up, click on the
Steam Playtab. In this tab you have to enable the three options listed below.
- Enable Steam Play for supported titles: to play Windows games that have officially been validated by Valve to run on Linux.
- Enable Steam Play for all titles: to install and launch Windows games on Linux. However, it is not guaranteed to run
- At the bottom of the
Steam Playtab, click on Run other titles with and specify the Proton version that you want to use.
- Beta/Experimental versions are the ones that are still in development.
- All other versions are stable.
- Open the Steam client and click on
Restart Steam after applying these changes for them to take effect.
Play Games using Steam Proton and ProtonDB
After Steam restarts you will have Steam Play and Proton enabled on your system to install and launch any Windows game you desire.
Some of these games will launch and run smoothly but others might not. And Steam displays no information about whether a Windows game will run smoothly on Linux using Proton or not.
So how can you know which games will run and which ones will need tweaks in the system to run smoothly? We can assess the success level of a Windows game on Linux by using the ProtonDB website.
How to use ProtonDB?
You can visit the official ProtonDB website to see which Windows games run smoothly on Linux and which titles can be made to run with minor tweaks. You can search any game on the website and see how well it is running for other Linux users.
Information like Distro, Kernel, RAM, GPU, CPU, and Proton version will be displayed against each user’s review. You also have to option to filter for specific distros and hardware to narrow down results to systems similar to yours to check how well the game will run on your system specifications.
Moreover, ProtonDB uses a rating system to rate the level of success of running a Windows game on Linux. Games are rated from
Borked. Platinum means the game will run on Linux without any tweaks and Borked means that most users were not able to run this game on Linux.
Native rating for games means that these titles will run on Linux without needing Proton.
You can learn more about the rating system of ProtonDB by visiting the official website.
Goldor lower to run on Linux systems. This information, about which tweaks you need to apply to run games that need minor modifications, is also available on Proton DB.
If ProtonDB also specifies a specific Proton version required to run a Windows game, you can enable this game to run using that specified Proton version in spite of the version you selected while enabling Proton.
To do this:
- Right-click the game and open Properties.
- Click on the Compatibility tab.
- Enable the option: Force the Use of a Specific Steam Play Compatibility Tool.
If you see any extra flags mentioned that are required to run a game you can go to the
Set Launch Options tag and include extra flags.
To do this:
- Right-click the game and select Properties.
- Click on the General Tab
- Add any extra flags mentioned on ProtonDB in the Launch Options handle.
One thing to notice here is that this is a trial and error method and you may need to test different configurations and settings before you can run a Windows game smoothly on Linux.
Play Games Using Steam Play
After confirming the status of a game from ProtonDB you can install the game from the Steam client. If you’ve followed this tutorial then all Windows games will be available to install in your Linux Steam Client.
Just download any game by clicking the Install button next to the game and specifying the download directory. Steam might also ask you to download additional tools like the Proton version etc. Accept their download.
Launch the game after installing it. Steam might take some time when launching a game for the first time as it is configuring the Windows-based game to run on Linux using Proton. After the first time, the game will run normally if you were able to configure it successfully.
Example Using Steam Proton & ProtonDB to Play Games on Linux
For this tutorial I tried out 3 games on my system – Septerra Core (a childhood favorite), Red Alert 3, and Journey.
Septerra Core is rated Silver, Red Alert 3 – Uprising is rated Gold, and Journey is rated Platinum.
Septerra Core didn’t work – it returned an error. After searching for the error online I found it’s not specific to Linux, and many other users have this error on Windows. That’s great to hear, in a way.
Red Alert 3 -Uprising also didn’t work – judging by what many others have reported on ProtonDB, I’m not the only one getting this error “Please install at least one language pack“. I didn’t try to troubleshoot and instead moved onto the next game for this tutorial.
Journey worked without any issues.
In this tutorial we learned how to use Steam Proton & ProtonDB to play games on Linux. We also learned that with games that aren’t rated Platinum, even if they are highly rated, you still may encounter errors that you’ll have to troubleshoot to get the game to work.