Linux Gaming Troubleshooting: Spiele starten nicht, Abstürze und FPS-Drops lösen
Spiel startet nicht. Cutscenes sind schwarz. FPS bricht ein. Unter Linux-Gaming gibt es typische Problemmuster — und für fast alle gibt es Lösungen. Dieser Guide führt dich systematisch von der Diagnose zur Lösung.
Diagnose-Checkliste: Vor dem Troubleshooting
Bevor du tiefer einsteigst, diese Punkte prüfen:
# 1. Systeminfo ausgeben:
echo "=== System ===" && uname -r && cat /etc/os-release | grep -E "^(NAME|VERSION)"
echo "=== GPU ===" && lspci | grep -i "vga\|3d\|display"
echo "=== Treiber ===" && (nvidia-smi --query-gpu=driver_version --format=csv,noheader 2>/dev/null || glxinfo 2>/dev/null | grep "OpenGL version")
echo "=== Steam ===" && cat ~/.local/share/Steam/steam_id 2>/dev/null; steam --version 2>/dev/null | head -1
echo "=== Proton ===" && ls ~/.steam/root/compatibilitytools.d/ 2>/dev/null
# 2. Vulkan-Unterstützung:
vulkaninfo --summary 2>/dev/null | grep -E "deviceName|driverVersion|apiVersion"
# 3. 32-Bit-Vulkan (für Proton wichtig):
vulkaninfo --summary 2>/dev/null | grep -i "icd"
Schnell-Checkliste
- Grafiktreiber aktuell? (nvidia-smi / AMD:
pacman -Q mesa) - Vulkan-Support vorhanden? (
vulkaninfo) - Steam komplett aktuell? (Steam → Hilfe → Auf Updates prüfen)
- 32-Bit-Bibliotheken installiert? (für 32-Bit-Spiele unter Proton)
- ProtonDB gelesen? (https://www.protondb.com/app/APPID)
- Spieledateien geprüft? (Rechtsklick → Eigenschaften → Lokale Dateien → Prüfen)
Spiel startet nicht
Schritt 1: ProtonDB konsultieren
# Steam App-ID finden:
# Rechtsklick → Eigenschaften → Allgemein → URL zeigt AppID
# ProtonDB-URL:
# https://www.protondb.com/app/APPID
# Bekannte Lösungen aus Community-Reports
Schritt 2: Proton-Version wechseln
# Reihenfolge zum Ausprobieren:
# 1. Proton 10.0-4 (stable)
# 2. Proton Experimental
# 3. GE-Proton (neueste)
# 4. Ältere GE-Proton-Version (aus ProtonDB-Empfehlung)
# 5. Proton 8.0-5 / 9.0-x (manche Spiele laufen besser auf älteren)
# Per Spiel einstellen:
# Rechtsklick → Eigenschaften → Kompatibilität
Schritt 3: Startoptionen ausprobieren
# Im Spiel: Eigenschaften → Allgemein → Startoptionen
# Proton-Debugmodus:
PROTON_LOG=1 %command%
# DXVK deaktivieren (DirectX über WineD3D statt Vulkan):
PROTON_USE_WINED3D=1 %command%
# ESync / FSync deaktivieren (manchmal bei Sync-Problemen):
PROTON_NO_ESYNC=1 %command%
PROTON_NO_FSYNC=1 %command%
# Beide deaktivieren:
PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%
# Steam Runtime erzwingen:
STEAM_RUNTIME_HEAVY=1 %command%
# Spiel-Prefix zurücksetzen (löscht Saves im Prefix — Sicherung vorher!):
# rm -rf ~/.local/share/Steam/steamapps/compatdata/APPID/
# → Spiel neu starten (Prefix wird neu erstellt)
Schritt 4: Spieledateien reparieren
# Steam → Rechtsklick auf Spiel → Eigenschaften → Lokale Dateien
# → "Auf Integrität der Spieledateien prüfen"
# Steam vergleicht Dateien und lädt fehlende/korrupte nach
Schritt 5: Missing DLLs / Komponenten
# Fehlende Komponente im Log finden:
cat ~/steam-*.log | grep -i "could not find\|missing\|err:module" | head -20
# Häufige Lösungen:
# Visual C++ Redistrib fehlt:
WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/APPID/pfx \
winetricks vcrun2019
# .NET Framework fehlt:
WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/APPID/pfx \
winetricks dotnet48
Schwarzer Bildschirm / Kein Bild
Audio läuft, aber kein Bild
# Fullscreen-Modus ist das häufigste Problem:
# Startoptionen:
-windowed -w 1280 -h 720 %command% # Viele Spiele
# oder:
-noborder -windowed %command%
# DXVK-Ausgabe prüfen (zeigt ob DirectX korrekt initialisiert):
DXVK_HUD=1 %command%
# Wenn DXVK-HUD erscheint: GPU-Problem
# Wenn gar nichts: Wine/Proton-Problem
NVIDIA + Wayland: Kein Bild
# XWayland für spezifisches Spiel erzwingen:
SDL_VIDEODRIVER=x11 %command%
# oder:
SDL_VIDEODRIVER=x11 DISPLAY=:0 %command%
# Explicit Sync prüfen (NVIDIA ≥ 555 erforderlich):
nvidia-smi --query-gpu=driver_version --format=csv,noheader
# Falls < 555: Treiber updaten oder X11-Session wählen
# Auf X11-Session wechseln (temporärer Test):
# Beim Login: Zahnrad-Icon → X11-Session auswählen
Spiel startet im Hintergrund (kein Fokus)
# STEAM_FORCE_DESKTOPUI_SCALING setzen:
STEAM_FORCE_DESKTOPUI_SCALING=1 %command%
# Oder: Fenstermanager wechselt Fokus nicht
# KDE: Einstellungen → Fenster → Fokus → "Fokus folgt Maus" deaktivieren
Spiel stürzt ab
Absturz sofort beim Start
# Crash-Log holen:
PROTON_LOG=1 %command%
cat ~/steam-*.log | grep -E "crash|exception|fault|killed" | tail -30
# Core Dump analysieren (falls vorhanden):
ls /var/crash/ 2>/dev/null || ls ~/core* 2>/dev/null
# OOM-Kill? (Out of Memory):
dmesg | grep -i "oom\|killed process" | tail -10
# → RAM zu wenig oder Swap fehlt
Absturz nach Spielstart (in Menü oder Ingame)
# GPU-Temperatur während Absturz beobachten:
watch -n 1 "nvidia-smi --query-gpu=temperature.gpu,power.draw --format=csv,noheader"
# AMD:
watch -n 1 "cat /sys/class/hwmon/hwmon*/temp1_input"
# Shader-Kompilierungsproblem?
# DXVK State Cache löschen und neu aufbauen:
rm -rf ~/.local/share/Steam/steamapps/shadercache/APPID/
# Beim nächsten Start werden Shader neu kompiliert → kann beim ersten Mal stuttern
# Async DXVK (weniger Stutter durch async compile, aber manchmal instabil):
DXVK_ASYNC=1 %command%
# VRAM-Problem? Texturqualität im Spiel reduzieren
# MangoHud zeigt VRAM-Auslastung: mangohud %command%
Absturz nur in bestimmten Spielbereichen
# Häufig: Cutscene-Crash → Media Foundation Problem
# → Proton-GE nutzen (enthält MF-Patches)
# Häufig: Multiplayer-Match-Crash → Anti-Cheat-Problem
# → ProtonDB lesen, ob EAC/BattlEye Linux-Support aktiv
# Reproducible crash: Letzten Checkpoint before Crash laden
# DXVK-Version ändern (in Proton-GE enthalten, anders als Proton-Stable)
FPS-Drops und Stutter
MangoHud aktivieren — Diagnose zuerst
# Startoptionen:
mangohud %command%
# Wichtige Metriken beobachten:
# - FPS: Einbrüche bei bestimmten Events?
# - Frametime: Spikes > 33ms = sichtbarer Stutter
# - GPU Load: Immer 99%? → GPU-limitiert (normal)
# - CPU Load: Wenig Last, aber trotzdem Drops? → Stutter
# GameMode gleichzeitig:
gamemoderun mangohud %command%
Shader-Stutter (typisch für DXVK)
# Symptom: Ruckeln beim Betreten neuer Gebiete / neuer Effekte
# Ursache: DXVK kompiliert Shader zur Laufzeit (kein vorcompilierter Cache)
# Lösung 1: Steam Shader Cache aktivieren:
# Steam → Einstellungen → Downloads → Shader vorab cachen ✓
# Lösung 2: Async-Shader (weniger Stutter, seltene Grafikfehler):
DXVK_ASYNC=1 %command%
# Lösung 3: Spiel mehrmals bis zum Stutter-Ort spielen
# → Cache aufbauen, beim dritten Mal deutlich besser
# Cache-Pfad:
ls ~/.local/share/Steam/steamapps/shadercache/APPID/
CPU-Throttling (Laptops)
# CPU-Governor prüfen:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# Muss "performance" sein beim Gaming
# GameMode setzt das automatisch
# Manuell auf performance setzen:
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# TDP-Throttling (Laptops):
# Symptom: FPS gut am Anfang, dann einbrechen nach 2-3 Minuten
# Tools: intel_gpu_top, AMD: systemd-journal für AMDGPU-Throttling
dmesg | grep -i "throttle\|freq\|turbo"
# Für Laptops: thermald / TLP überprüfen:
systemctl status thermald 2>/dev/null || echo "thermald nicht aktiv"
VRAM-Überlastung
# MangoHud zeigt VRAM:
# Falls VRAM-Nutzung > GPU-VRAM → Swapping zu RAM → massive FPS-Drops
# Texturqualität im Spiel reduzieren
# Bei NVIDIA: VRAM-Monitoring
nvidia-smi --query-gpu=memory.used,memory.total --format=csv
# AMD:
cat /sys/class/drm/card*/device/mem_info_vram_used
AMD FSR / DLSS aktivieren
# AMD FSR (funktioniert mit Proton + Wine):
WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FSR_STRENGTH=2 %command%
# Strength 0=Ultra Quality, 1=Quality, 2=Balanced, 3=Performance, 4=Ultra Performance
# DLSS (NVIDIA): Im Spiel aktivieren wenn unterstützt
# Proton-CachyOS: DLSS Preset auswählbar
# In-Game-Resolution-Scale nutzen:
# Viele Spiele: Renderauflösung auf 75% setzen + FSR Quality
Audio-Probleme
Kein Sound im Spiel
# PipeWire-Status prüfen:
systemctl --user status pipewire pipewire-pulse
# Falls nicht aktiv:
systemctl --user start pipewire pipewire-pulse
# Wine-Audio-Treiber prüfen:
WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/APPID/pfx winecfg
# Reiter "Audio" → Ausgabe: PulseAudio oder ALSA
# Proton-Log für Audio:
WINEDEBUG=+sound PROTON_LOG=1 %command%
grep -i audio ~/steam-*.log | head -20
Audio-Stutter / Knacken
# PipeWire-Puffergröße anpassen:
# Für Gaming: niedrigere Latenz
echo "default.clock.quantum = 256" | sudo tee -a /etc/pipewire/pipewire.conf.d/99-gaming.conf
systemctl --user restart pipewire
# Realtime-Audio-Privilegien:
sudo usermod -aG audio $USER
# oder via Security Limits:
echo "@audio - rtprio 95" | sudo tee -a /etc/security/limits.d/audio.conf
echo "@audio - memlock unlimited" >> /etc/security/limits.d/audio.conf
newgrp audio
5.1/7.1-Sound wird als Stereo ausgegeben
# Wine-Audio auf 5.1/7.1 setzen:
WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/APPID/pfx winetricks sound=alsa
# Oder in winecfg:
WINEPREFIX=~/.local/share/Steam/steamapps/compatdata/APPID/pfx winecfg
# Audio → Hardware-Beschleunigung: Emulation
# Audio → Kanal-Anzahl: 5.1 / 7.1
Controller funktioniert nicht
Steam Input aktivieren
# Steam → Einstellungen → Controller
# ✓ Steam Input für unterstützte Geräte aktivieren
# Pro Spiel:
# Rechtsklick → Eigenschaften → Controller
# → "Steam Input aktivieren" oder "Steam Input deaktivieren" (je nach Spiel)
PS5 DualSense / DualShock 4
# udev-Regeln für Controller (falls nicht erkannt):
# Arch / CachyOS:
sudo pacman -S game-devices-udev
# Ubuntu:
# Regel manuell erstellen:
sudo nano /etc/udev/rules.d/70-dualsense.rules
# /etc/udev/rules.d/70-dualsense.rules:
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", MODE="0666"
sudo udevadm control --reload-rules
sudo udevadm trigger
# Controller neu anschließen
Xbox Controller
# Xbox One/Series Controller über USB: Meist sofort erkannt
# Bluetooth Xbox: Installiere xpadneo:
paru -S xpadneo-dkms # Arch
# oder:
sudo apt install dkms
git clone https://github.com/atar-axis/xpadneo
cd xpadneo && sudo ./install.sh
# Controller-Test:
ls /dev/input/js* # Joystick-Devices
sudo evtest # Input-Events anzeigen
SDL-Controller-Mapping
# SDL Gamepad-Mapping anzeigen:
sdl2-jstest --list
# Manuelles Mapping via SDL_GAMECONTROLLERCONFIG:
# https://generalarcade.com/gamepadtool/ — Mapping erstellen
PROTON_LOG=1 SDL_GAMECONTROLLERCONFIG="..." %command%
Anti-Cheat und Multiplayer
Was funktioniert, was nicht
# Anti-Cheat Status prüfen:
# https://areweanticheatyet.com/ — umfassende Liste
# EAC (Easy Anti-Cheat):
# Spieler muss Publisher im EAC-Portal aktiviert haben
# Prüfen: Im Spiel-Verzeichnis:
ls ~/.local/share/Steam/steamapps/common/SPIELNAME/ | grep -i easyanticheat
cat ~/.local/share/Steam/steamapps/common/SPIELNAME/EasyAntiCheat/Settings.json | grep -i "platform\|linux"
# Falls "linux": true → Support aktiviert
# BattlEye:
ls ~/.local/share/Steam/steamapps/common/SPIELNAME/ | grep -i battleye
EAC-Spiel läuft nicht
# Option 1: Steam im Offline-Modus → Multiplayer deaktiviert aber Story spielbar
# Option 2: ProtonDB nach bekannten Workarounds suchen
# Option 3: Spielentwickler kontaktieren → um Linux-EAC-Support bitten
# Spiel mit deaktiviertem EAC starten (oft für Singleplayer):
# Startoptionen: -noeac %command% (spielspezifisch, nicht immer vorhanden)
Proton-Logs lesen
Log aktivieren und analysieren
# Startoptionen:
PROTON_LOG=1 %command%
# Log-Dateien:
ls ~/steam-*.log
# steam-12345678.log (Dateiname = App-ID)
# Schnelle Fehlersuche:
grep -E "err:|warn:|failed|error|crash|exception" ~/steam-*.log | grep -v "^#" | head -50
# Häufige Error-Patterns und ihre Bedeutung:
grep "fixme:" ~/steam-*.log | sort | uniq -c | sort -rn | head -20
# fixme: = nicht implementierte Windows-Funktion (oft harmlos)
# DLL-Fehler:
grep "err:module" ~/steam-*.log | head -10
# → Fehlende Windows-DLL
# Grafik-Fehler:
grep "err:d3d" ~/steam-*.log | head -10
# → DirectX-Initialisierungsfehler
DXVK-Log
# DXVK-Log aktivieren:
DXVK_LOG_LEVEL=warn %command%
# Log: ~/.local/share/Steam/steamapps/common/SPIELNAME/dxvk.log
# DXVK HUD im Spiel:
DXVK_HUD=fps,frametimes,memory,api %command%
# Zeigt: FPS, Frame-Times, VRAM, DirectX-Version
# DXVK State Cache:
DXVK_STATE_CACHE_PATH=/tmp %command% # Anderen Cache-Pfad testen
Notfall-Werkzeugkasten
Tools installieren
# Arch / CachyOS:
sudo pacman -S vulkan-tools mesa-utils gamemode mangohud \
winetricks wine steam-native-runtime
# Ubuntu:
sudo apt install vulkan-tools mesa-utils gamemode mangohud \
winetricks wine
# Nützliche Diagnose-Commands:
vulkaninfo --summary # Vulkan-Support
glxinfo | grep "OpenGL renderer" # OpenGL
lspci -k | grep -A3 VGA # GPU-Treiber
inxi -G # GPU-Kurzinfo
Reset-Checkliste wenn gar nichts hilft
# 1. Steam-Caches leeren:
rm -rf ~/.local/share/Steam/appcache/
# 2. Spiel-Prefix zurücksetzen (ACHTUNG: Saves im Prefix gelöscht!):
mv ~/.local/share/Steam/steamapps/compatdata/APPID \
~/.local/share/Steam/steamapps/compatdata/APPID.bak
# 3. Steam reparieren:
steam --reset
# 4. Spiel neu installieren:
# Steam → Rechtsklick → Deinstallieren → Neu installieren
# 5. Anderen Proton-Zweig versuchen (Experimental / GE)
# 6. ProtonDB nach Spezialfällen durchsuchen
# 7. Lutris als Alternative (andere Wine-Konfiguration)
Fazit
Linux-Gaming-Probleme haben fast immer eine Lösung — der Schlüssel ist systematische Diagnose: Log aktivieren, ProtonDB lesen, Proton-Version wechseln. Die meisten Probleme sind mit einem der obigen Schritte in weniger als 10 Minuten gelöst.