The arrival of Proton on Steam has been a true revolution for Linux users who want to enjoy titles originally designed for Windows without giving up their favorite operating system. If a few years ago the idea of playing most of the Steam catalog on Linux was unimaginable, today the situation has changed radically. Thanks to the collaboration between Valve and the developer community, more and more games are available on Linux or can run without any problems.
In this article, we explain how to set up Proton on Steam for Linux, detailing the entire process from installing Steam and Proton to activating Proton GE (Glorious Eggroll) and leveraging tools like ProtonUp-Qt or PortProton. In addition, we will tell you Tricks, distribution-specific features, prerequisites, and many best practices for getting the most out of your game library on Linux.
What is Proton and why is it key to gaming on Linux?
Proton is a compatibility layer created by Valve based on Wine, which allows you to run Windows games and programs on Linux systems. By adding patches and extra components on top of Wine, Proton makes thousands of games that are only officially available for Windows work on Linux with exceptional performance and compatibility..
The integration of Proton into Steam has been particularly relevant, since Steam is the main distribution platform for video games globally and offers a vast library of titles. This has made Linux gaming advance unstoppably in recent years. and that there are even Linux-based consoles like the Steam Deck, which uses Proton as its fundamental piece.
Prerequisites for using Proton on Steam
Before you jump into installing Steam and Proton on your Linux machine, keep a few key points in mind:
- Vulkan-compatible graphics card: It is essential that your GPU (Nvidia, AMD or Intel) supports the Vulkan API and has drivers updated. Nvidia GeForce 600 series and above, AMD Radeon HD7000 and above, and Intel HD 500 and above generally offer good support.
- Updated graphics drivers: On distributions like Ubuntu, you can update from the driver tool. Nvidia requires proprietary drivers; AMD and Intel work best with the open source Mesa drivers.
- Installed Vulkan Libraries: In many cases, you'll need to install the necessary packages to enable Vulkan, depending on your distribution. For Ubuntu, the following is recommended:
sudo apt install libvulkan1 libvulkan1:i386 vulkan-utils
And if you use Mesa:
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 libvulkan1 libvulkan1:i386 vulkan-utils
- Additional dependencies: To ensure maximum compatibility, install dependencies such as bubblewrap, gamemode, tar, wget, curl, zenity, zstd, and others. Example for Debian/Ubuntu:
sudo dpkg --add-architecture i386 sudo add-apt-repository multiverse sudo apt update && sudo apt upgrade sudo apt install bubblewrap curl gamemode icoutils tar vulkan-tools libvulkan1 libvulkan1:i386 wget zenity zstd steam cabextract
Installing Steam on Linux
Steam is natively available for Linux on most distributions, whether through official repositories, universal formats, or even Flatpak and Snap. Depending on the distribution, you can install it like this:
- Ubuntu/Debian (APT):
sudo apt install steam
steam
- Ubuntu (Snap): If you prefer Snap, you can install the latest version of Steam:
sudo snap install steam
steam
Nota: There may be issues with GPU drivers using Snap, as they are not installed automatically.
- Flatpack: Also available as a Flatpak. Make sure to install Flatpak first if your distribution doesn't include it by default.
Once installed, log in with your Steam account and you're ready to activate Proton.
Enable Proton and Steam Play for all games
Steam Play is now enabled by default for officially supported titles. However, Proton's true power is achieved by allowing it to be used in all games, including those that are not officially supported on Linux.
Activate Proton by following these steps:
- Open the Steam client.
- On the top bar, go to Steam > Settings > Compatibility.
- Check the box Enable Steam Play for supported titles (usually enabled by default).
- Also check "Enable Steam Play for all titles"Steam will prompt you to restart to apply the changes.
- After the reboot, you can install any game and force Proton compatibility from the game properties: Right-click on the game > Properties > Compatibility > Force use of a specific compatibility tool for Steam PlayHere you can choose your preferred Proton version (e.g. Proton 6.3-8 or higher).
Thanks to this option, you can try running virtually any Windows title on Linux from Steam.
Manual installation of different versions of Proton
Steam automatically downloads and installs official and experimental versions of Proton, but it can be very useful to add custom versions like Proton GE (GloriousEggroll) to maximize compatibility and performance, especially for recent or problematic games.
Proton Glorious Eggroll (Proton GE): What is it and how do I install it?
Proton GloriousEggroll is a modified Proton fork by GloriousEggroll (a Red Hat employee), incorporating additional patches and improvements for compatibility, multimedia support, AMD FSR, and fixes for complex titles. Many AAA games and recent titles run faster and better on Proton GE than on Valve's stable branch.
To install Proton GE manually:
- Create the directory for custom compatibility tools:
mkdir -p ~/.steam/root/compatibilitytools.d
- Download the desired version of Proton GE from the project's GitHub releases page. If the file name contains “LoL,” it is targeted only at League of Legends.
- Unzip the downloaded file into ~/.steam/root/compatibilitytools.d
- Close Steam and reopen it; you'll now be able to select Proton GE in the Compatibility Tools section.
If you're using Steam in Flatpak format, the path will be ~/.var/app/com.valvesoftware.Steam/data/Steam/compatibilitytools.d
Graphical installation of Proton GE with ProtonUp-Qt
To facilitate the installation of Proton GE and other compatibility layers, there is ProtonUp-Qt, a graphical tool that automates the download and installation.
- Install ProtonUp-Qt as an AppImage or from Flatpak. On Ubuntu it may be necessary to install fuse To run AppImage:
sudo apt install fuse
- Open ProtonUp-Qt, click 'Add Version', select 'GE-Proton', choose your preferred version, and click 'Install'.
- When you're done, close and reopen Steam to automatically detect the new version.
ProtonUp-Qt supports both traditional Steam and Flatpak.
PortProton: Proton outside of Steam and third-party games
Proton isn't just for Steam: There are alternatives such as PortProton, which allows you to run Windows games outside of Steam using Proton, ideal for titles purchased on GoG, Epic Games Store, Origin or independent.
To install PortProton:
- Run the following command:
wget -c -T 5 https://portwine-linux.ru/ftp/portwine/PortProton-95 && sh "./PortProton-95"
- Once finished, you can launch PortProton, configure Wine, install launchers from other stores or independent games, and even create custom shortcuts for your games.
PortProton allows you to choose between different compatibility layers (Proton Steam or Proton GE) and select the emulated API (DirectX 9-11, 12, or OpenGL). Additionally, PortProton attempts to automatically install the necessary libraries upon first launch of the game.
Proton-caller: Run any Windows program with Proton
Another interesting tool is proton-caller, which allows you to run Windows applications and games directly with Proton, as if you were using Wine, but taking advantage of the Proton ecosystem.
To install and configure proton-caller (from Ubuntu 22.04 or derivatives):
- Install with:
sudo apt install proton-caller
- Create the configuration file ~/.config/proton.conf with the following format:
data="/desired/path/to/proton-files" steam="/path/to/your/Steam/" common="/path/to/your/Steam/steamapps/common/"
data: Directory where Proton runtime files are stored.
steam: Folder where Steam is installed.
common: Path where the Proton versions are (by default in steamapps/common). - To run an .exe:
proton-call -r /ruta/al/archivo.exe
If you encounter an error when opening the configuration, make sure you are running the command from the correct directory or that the specified paths exist.
You can create scripts in your personal binaries folder to automate the execution of your favorite games with proton-caller.
Passionate writer about the world of bytes and technology in general. I love sharing my knowledge through writing, and that's what I'll do on this blog, show you all the most interesting things about gadgets, software, hardware, tech trends, and more. My goal is to help you navigate the digital world in a simple and entertaining way.