LINUX GAMING WITH PROTON
TOTAL TIME: 60-120 MINUTES
Setup + test first games. After that, everything runs in the background.
🎮 2025 REALITY CHECK
"Linux is not suitable for gaming" was true in 2018. Today:
- • ~85% of the top 100 Steam games run natively or via Proton
- • Steam Deck sells in the millions — everything Deck-compatible is Linux-compatible
- • Anti-cheat: Easy Anti-Cheat + BattlEye officially support Linux (if the developer enables it)
- • Performance: 90-99% of Windows, often better (no telemetry overhead, better schedulers)
🎯 LEARNING OBJECTIVES:
- ✓ What Proton/Wine/Steam Play do technically — and what they don't
- ✓ Choose the best distribution for gaming (Nobara, Bazzite, CachyOS, SteamOS)
- ✓ Configure Proton-GE, MangoHud, GameMode correctly
- ✓ Read ProtonDB correctly + apply community fixes
- ✓ Where Linux gaming (still) fails and what the alternatives are
INTRODUCTION: HOW DOES IT WORK?
Windows games use DirectX (DX9-12). Linux has no DirectX — natively only OpenGL/Vulkan run. The solution: a translation layer.
THE COMPONENTS
What doesn't work?
- Vanguard (Valorant) — kernel anti-cheat, does not run under Linux/Wine
- Easy Anti-Cheat "kernel mode" — some titles, EA enabled it in some cases
- Games with their own anti-cheat implementation (EAC can be explicitly disabled for Linux)
- Anti-tamper in game executables (rarely)
- DX12 features VKD3D can't do yet (e.g. DXR 1.2)
Realistically: ~85% run, another 10% with workarounds, 5% don't work.
SCHRITT 1: DISTRIBUTION WÄHLEN
Not every distro is equally good for gaming. Recommended for beginners:
🥇 NOBARA PROJECT
Fedora-based, "gaming out of the box"
- ✅ Drivers pre-installed (NVIDIA, AMD, Intel)
- ✅ Steam, Lutris, Heroic, Bottles pre-installed
- ✅ Proton-GE pre-installed
- ✅ Wayland + X11 both work
🥈 BAZZITE
Universal Blue, immutable (like SteamOS)
- ✅ Atomic updates (rollback on issues)
- ✅ Gaming tools pre-installed
- ✅ Closely follows SteamOS (Gaming Mode)
- ❌ Less flexibility (immutable filesystem)
🥉 CACHYOS
Arch-based, optimized
- ✅ Best performance (LTO kernel, BORE scheduler)
- ✅ Arch user repository (AUR) — everything available
- ✅ Gaming setup script "cachyos-gaming"
- ❌ Rolling release — sometimes broken after update
🎮 STEAM DECK OS (HOLO)
Valve's own, primarily for handheld
- ✅ Stable, well tested
- ✅ Gaming-first, desktop mode
- ❌ Few customization options
- ❌ Installation complicated
For this guide: We use Arch/CachyOS examples; the concepts apply to all distros.
STEP 2: INSTALL GPU DRIVERS
NVIDIA needs its proprietary driver; AMD and Intel use the open-source Mesa drivers. AMD is easy, NVIDIA more complicated.
AMD (RX series)
# Verify:
glxinfo | grep "OpenGL renderer"
# Should show "AMD Radeon Graphics"
NVIDIA (RTX series)
sudo pacman -S nvidia-open-dkms nvidia-utils lib32-nvidia-utils
# GTX 10xx/900 (dropped by driver 590): AUR nvidia-580xx-dkms
# Fedora/Nobara:
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
sudo akmods --force
sudo dracut --force
# IMPORTANT: Secure Boot must be DISABLED or MOK key registered!
⚠️ NVIDIA + Wayland
Since driver 555 (explicit sync) NVIDIA works well on Wayland — use a current driver. X11 is being phased out: GNOME 50 no longer has an X11 session. AMD is very stable on Wayland.
STEP 3: STEAM + STEAM PLAY
Steam on Linux has Steam Play built in — automatic Proton usage for Windows games.
Install Steam
sudo pacman -S steam
# Fedora/Nobara:
sudo dnf install steam
Enable Steam Play
- Start Steam → top left Steam → Settings → Compatibility
- "Enable Steam Play for supported titles" — leave on for now
- "Enable Steam Play for all other titles" — ON (this is the point!)
- Choose Proton version: currently Proton Experimental (newest) or Proton-GE (if installed)
- OK → Steam restarts
✓ Success check: In your library you see the Steam logo on Windows games, but the game still starts. Right-click → Properties → Compatibility shows the Proton version.
STEP 4: PROTON-GE (COMMUNITY EDITION)
Valve's official Proton is conservative. Proton-GE (GloriousEggroll) has 100+ additional patches: better shader cache pre-compilation, fixes for games official Proton can't handle, HDR support, AMD FSR 3 frame gen, etc.
Installation
# https://github.com/GloriousEggroll/proton-ge-custom/releases
# Extract the file into ~/.steam/root/compatibilitytools.d/
# OR via ProtonUp-Qt (GUI tool):
flatpak install flathub net.davidotek.pupgui2 # or via AUR: protonup-qt
Enable in Steam
- Steam → Settings → Compatibility
- Under "Run other titles with" (or per game: Properties → Compatibility → "Force the use of a specific Steam Play compatibility tool")
- List now also shows "GE-ProtonX-Y" → select
Tip: Per game you can force a different Proton version in the Properties — so you can test per title what runs best.
STEP 5: PERFORMANCE TOOLS
GameMode (Feral)
Optimizes CPU governor, GPU clocks, I/O priority automatically when a game runs.
sudo pacman -S gamemode lib32-gamemode
# Fedora/Nobara:
sudo dnf install gamemode
Configuration: /etc/gamemode.ini (or ~/.config/gamemode.ini); activate via Steam launch option:
MangoHud (performance overlay)
Shows FPS, GPU/CPU load, temperatures, frametime as overlay. Essential for debugging.
sudo pacman -S mangohud lib32-mangohud
# Fedora:
sudo dnf install mangohud
Steam launch options for MangoHud:
mangohud %command%
# Custom layout:
MANGOHUD_CONFIG=cpu_temp,gpu_temp,ram,vram,fps,frametime mangohud %command%
Toggle key: Default is Shift_R+F12 (right Shift) to show/hide.
Gamescope (micro-compositor)
Built-in mini compositor like on Steam Deck — can do VRR, HDR, screen recording and more.
gamescope -w 2560 -h 1440 -W 2560 -H 1440 -f --hdr-enabled -- %command%
STEP 6: USE PROTONDB PROPERLY
ProtonDB is THE source for "does game X run on Linux?" — community tests with ratings.
The ratings
| Status | Meaning |
|---|---|
| Platinum | Runs out of the box, no intervention needed |
| Gold | Runs, minor tweaks needed (often documented in test notes) |
| Silver | Runs with workarounds (manual edit, other Proton version) |
| Bronze | Starts but massive problems |
| Borked | Does not start or unplayable |
What to look for in tests
- Distro + GPU — test results are often GPU-specific
- Proton version — what was tested there
- Date — drivers + Wine evolve quickly
- Workaround notes — often detailed
- Playtime — short test vs. 10h save file
Test yourself + contribute
Got 10 minutes? Load a game, try different Proton versions, submit a report on protondb.com (Steam login) and describe what you did. That's how you help other gamers.
STEP 7: NON-STEAM GAMES (EPIC, GOG, BATTLE.NET)
Steam is required for Proton integration. But Epic, GOG, Battle.net also work — via special launchers.
Heroic Games Launcher (Epic + GOG)
Open-source launcher with Proton integration, Epic login, GOG Galaxy alternative. A must for free Epic games!
yay -S heroic-games-launcher-bin # AUR
# Fedora/Nobara (or the .rpm from GitHub):
flatpak install flathub com.heroicgameslauncher.hgl
Lutris (everything else)
Has community install scripts for hundreds of games (Battle.net, EA app, Ubisoft Connect, Rockstar Launcher). Wine integration built in.
Bottles (GUI for Wine)
Modern Wine GUI. Per "Bottle" a separate Wine prefix with its own settings. Cleaner than manual.
Battle.net via Bottles
- Install Bottles + create new bottle (gaming template)
- In bottle: "Run executable" → Battle.net-Installer.exe
- Battle.net installs into the bottle
- Login → install game → start
PRO TIPS
🎮 Enable game mode per game
Steam launch options: gamemoderun %command%. Advantages:
- • CPU governor to "performance"
- • GPU clock to maximum
- • I/O scheduler optimized
- • Nice level for game process
- • Display reference for VRR
🔧 Test Proton versions properly
For a game that stutters/crashes: try all Proton versions (Experimental, Stable, GE versions). An older one often runs more stably than the newest.
Steam: right-click game → Properties → Compatibility → "Force the use..." → choose version
💾 Game saves backup
Many games save in ~/.steam/steam/steamapps/compatdata/<APPID>/pfx/drive_c/....
Cloud sync is usually active (Steam Cloud, Epic Cloud), but manual saves are tricky.
gamescope --backend=sdl -- %command% for Steam Deck-like experience
🎯 Enable FSR 3 / DLSS 3 Frame Generation
Newer games support frame generation. Requirements:
- • AMD FSR 3: in game options, RX 6000/7000+, Mesa 24+
- • NVIDIA DLSS 3: in game options, RTX 40 series, proprietary driver 550+
- • Lossless Scaling (Steam, €7): Windows tool — on Linux only via the community layer lsfg-vk
⚡ FSR/DLSS upscaling: often a must
Game upscaling (FSR Quality, DLSS Quality) gives 30-50% more FPS without visible quality loss. At 1440p on a 4K monitor: always enable it. At native resolution: "Ultra Performance" for more FPS.
FAQ / COMMON QUESTIONS
❌ My game starts, but screen stays black
Classic Vulkan/DXVK issue. Try: (1) other Proton version. (2) Steam launch option
PROTON_USE_WINED3D=1 %command% (tests whether DXVK is the cause). (3) Disable overlays (MangoHud, Steam overlay). (4)
Upgrade your GPU driver.
❌ Performance is worse than on Windows
Three causes: (1) shader compilation stutter on first game launch — solution:
keep Steam's Shader Pre-Caching enabled (Settings → Downloads); the stutter disappears after the first run.
(2) GPU governor not on performance — gamemoderun. (3) Anti-cheat conflict — test another
Proton version. (DXVK_ASYNC no longer exists — DXVK 2.x uses Graphics Pipeline Library against stutter.)
❌ Controller is not recognized (Xbox, PS, Steam Controller)
Steam Input is the solution: Big Picture Mode → Controller Settings. Xbox controllers usually work
out of the box via the xpad kernel module (Bluetooth: xpadneo, wireless adapter: xone). PS5 controllers via Bluetooth or USB
with the hid-playstation kernel driver. Steam Controller: only in Steam mode.
❌ Microphone does not work in Discord/games
PipeWire (more modern than PulseAudio) usually solves it:
sudo pacman -S pipewire pipewire-pulse wireplumber and reboot. If Discord
causes problems: use the web version in Chromium or Vesktop (native alternative).
❌ Anti-cheat game says "Cheat detected" or falsely bans me
Rare, but possible. Some anti-cheat implementations have false positives in Proton. Solution:
(1) Test another Proton version. (2) Steam launch option PROTON_NO_ESYNC=1.
(3) Contact game support with ProtonDB logs. With repeated false positives: the game
has a real anti-cheat problem and will never officially run on Linux.
❌ Wine Mono missing — .NET game does not start
In Bottles: "Wine Components" → install Mono. Or manually:
winetricks -q dotnet48. For newer .NET: winetricks dotnet8 (sometimes buggy).
❌ Do I have to repurchase Windows games for Linux?
No! Steam: buy once, play everywhere. GOG: all games natively or via Wine. Epic: via Heroic. Only exception: platform-exclusive games (e.g. Microsoft Store/Game Pass exclusives).
❌ Online multiplayer does not work / no match found
Anti-cheat games with official Linux support: works. Otherwise the anti-cheat usually blocks Proton (check areweanticheatyet.com) — there is generally no workaround then.