[ Zum Inhalt springen ]
TUTORIALS / GAMING

LINUX GAMING WITH PROTON

DIFFICULTY: INTERMEDIATE UPDATED:
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

Wine Windows API → Linux (pioneering work since 1993)
Proton (Valve) Wine + DXVK + VKD3D + patches (Steam-specific)
DXVK DirectX 9-11 → Vulkan translation
VKD3D-Proton DirectX 12 → Vulkan translation
Proton-GE Community build with the latest patches (GloriousEggroll)

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)

# amdgpu (kernel) + Mesa come pre-installed — usually nothing to do!
# Verify:
glxinfo | grep "OpenGL renderer"
# Should show "AMD Radeon Graphics"

NVIDIA (RTX series)

# Arch/CachyOS:
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

# Arch/CachyOS:
sudo pacman -S steam

# Fedora/Nobara:
sudo dnf install steam

Enable Steam Play

  1. Start Steam → top left Steam → Settings → Compatibility
  2. "Enable Steam Play for supported titles" — leave on for now
  3. "Enable Steam Play for all other titles" — ON (this is the point!)
  4. Choose Proton version: currently Proton Experimental (newest) or Proton-GE (if installed)
  5. 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

# Manually: download latest release from GitHub
# 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

  1. Steam → Settings → Compatibility
  2. Under "Run other titles with" (or per game: Properties → Compatibility → "Force the use of a specific Steam Play compatibility tool")
  3. 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.

# Arch/CachyOS:
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:

gamemoderun %command%

MangoHud (performance overlay)

Shows FPS, GPU/CPU load, temperatures, frametime as overlay. Essential for debugging.

# Arch/CachyOS:
sudo pacman -S mangohud lib32-mangohud
# Fedora:
sudo dnf install mangohud

Steam launch options for MangoHud:

# Show only FPS:
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.

# Example: start game in 1440p with HDR:
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!

# Arch/CachyOS:
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

  1. Install Bottles + create new bottle (gaming template)
  2. In bottle: "Run executable" → Battle.net-Installer.exe
  3. Battle.net installs into the bottle
  4. 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.

❌ NEED HELP?

The Linux gaming community is huge and very helpful.

📎 RELATED TUTORIALS