How to Enable Proton for Windows Games on Arch Linux
Categories:
5 minute read
Gaming on Linux has come a long way in recent years, and thanks to Valve’s Proton—an open-source compatibility layer based on Wine—you can now run many Windows games on Linux with just a few clicks. Arch Linux, being a bleeding-edge rolling release distribution, gives users access to the latest tools and libraries, making it a great platform for Linux gaming.
This guide will walk you through the entire process of enabling Proton for playing Windows games on Arch Linux. We’ll cover Steam installation, Proton configuration, troubleshooting tips, and performance optimization.
1. What Is Proton?
Proton is a compatibility tool developed by Valve Software that allows Windows games to run on Linux through Steam. It’s built on top of Wine (Wine Is Not an Emulator) and integrates various libraries like DXVK (Direct3D to Vulkan translation) and VKD3D (DirectX 12 to Vulkan). This makes it possible to run a wide range of DirectX 9/10/11/12 Windows games on Linux with excellent performance.
Proton is tightly integrated into Steam through a feature called Steam Play, which manages game installations and compatibility settings automatically.
2. System Requirements
Before enabling Proton on Arch Linux, make sure your system meets the following requirements:
Hardware
- A modern CPU (Intel or AMD)
- At least 8 GB RAM
- A dedicated GPU (NVIDIA or AMD)
- SSD for faster load times (recommended)
Software
- Arch Linux (fully updated)
- A working Xorg or Wayland session
- Vulkan drivers installed
- Steam client installed (from official repos or AUR)
Let’s ensure you have the Vulkan drivers installed:
For AMD GPUs
sudo pacman -S mesa vulkan-radeon lib32-mesa lib32-vulkan-radeon
For NVIDIA GPUs
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils
Check if Vulkan is working:
vulkaninfo | less
If you don’t have vulkaninfo
, install it with:
sudo pacman -S vulkan-tools
3. Installing Steam on Arch Linux
Steam is available in the multilib
repository on Arch Linux. First, ensure that multilib
is enabled in your /etc/pacman.conf
:
[multilib]
Include = /etc/pacman.d/mirrorlist
Then update your package database:
sudo pacman -Sy
Install Steam:
sudo pacman -S steam
If you’re using an NVIDIA GPU, the 32-bit compatibility libraries are already included in the lib32-nvidia-utils
package mentioned earlier.
4. Enabling Proton in Steam
- Launch Steam and log in with your account.
- Click on Steam > Settings > Compatibility.
- Check the box that says Enable Steam Play for supported titles.
- Optionally, check Enable Steam Play for all other titles to use Proton with games that haven’t been officially whitelisted.
- Choose a version of Proton from the dropdown list (e.g., Proton 8.0 or Proton Experimental).
- Click OK and restart Steam if prompted.
5. Installing and Launching Windows Games
Now that Proton is enabled, installing a Windows game is just like installing a native game:
- Go to your Library in Steam.
- Search for a game you want to install (e.g., The Witcher 3 or Dark Souls III).
- Click Install.
- When launching the game for the first time, Steam will automatically use Proton to configure the compatibility environment.
- You may see a loading dialog while Proton sets things up—this can take a minute or two.
If the game launches successfully, you’re good to go. If not, don’t worry—we’ll cover troubleshooting later.
6. Using Different Versions of Proton
Some games work better with older or custom versions of Proton. Steam allows you to set a Proton version on a per-game basis:
- Right-click on a game in your Library.
- Choose Properties > Compatibility.
- Check Force the use of a specific Steam Play compatibility tool.
- Select your preferred version of Proton.
This is especially useful when a game behaves differently with Proton Experimental versus Proton 7 or 8.
7. Installing Proton-GE (GloriousEggroll)
Proton-GE (short for GloriousEggroll) is a community-maintained fork of Proton that includes extra patches, improved performance, and better compatibility for some games.
Install via ProtonUp-Qt (recommended)
sudo pacman -S protonup-qt
Launch ProtonUp-Qt, choose “Steam” as the target, and click Add Version to install the latest Proton-GE.
Once installed, it will appear in your Steam compatibility tools list.
Alternatively, use ProtonUp CLI
pip install --user protonup
protonup -d "~/.steam/root/compatibilitytools.d/" -p GE
After installation, restart Steam. Proton-GE should now be selectable under Compatibility settings.
8. Troubleshooting and Tips
Game Doesn’t Launch
Try a different Proton version.
Check the ProtonDB website for game-specific fixes.
Run Steam from the terminal to get logs:
steam
Black Screen or Poor Performance
Make sure your GPU drivers and Vulkan are properly configured.
Use
gamemode
orMangoHud
for performance overlays and optimizations:sudo pacman -S gamemode mangohud
Enable GameMode
Launch Steam with:
gamemoderun steam
Launch Options for Debugging
Add launch options to a game:
PROTON_LOG=1 %command%
This will generate a steam-<appid>.log
file in your home directory, which can help you identify issues.
ProtonDB
Use ProtonDB to check how well a game runs under Proton and see community-submitted tweaks.
9. Conclusion
Proton has revolutionized gaming on Linux by bridging the gap between Windows-only titles and the Linux desktop. On Arch Linux, setting up Proton is straightforward, especially when leveraging the latest packages and tools. Whether you’re playing AAA titles or indie gems, Proton makes it easier than ever to enjoy your Steam library without leaving your favorite Linux distribution.
Thanks to the Arch Wiki, AUR, and the vibrant Linux gaming community, users have access to bleeding-edge improvements, making Arch one of the best environments for Linux gamers who want complete control and performance.
Remember: some trial and error is part of the process, but the reward is a powerful, open gaming setup that’s free from the constraints of proprietary systems.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.