Pi-hole was gravity-blocking Microsoft telemetry domains that Xbox calls synchronously during menu transitions, causing 5-10s hangs. Created per-client Xbox group with allowlist on both Pi-holes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6.8 KiB
| title | description | type | domain | tags | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Gaming Troubleshooting Guide | Troubleshooting solutions for Linux gaming issues including launch failures, performance problems, audio/display issues, NVIDIA GPU detection, DLSS, ray tracing, and Ready or Not-specific fixes. | troubleshooting | gaming |
|
Gaming Troubleshooting Guide
Quick Fixes by Issue Type
Game Won't Launch
- Check Proton Version: Try GE-Proton10-11 or Proton 8.0-5
- Verify Paths: Ensure CUSTOMCMD points to correct executable
- Disable STL: Test with vanilla Proton first
- Check Dependencies: Ensure required libraries are installed
Performance Issues
- Enable GameMode:
USEGAMEMODERUN="1" - Check DXVK Settings: Ensure ESYNC/FSYNC are enabled
- Monitor GPU Usage: Use MangoHUD to identify bottlenecks
- Adjust GameScope: Try different scaling options
Audio Problems
- Increase Latency:
STL_PULSE_LATENCY_MSEC="120" - PipeWire Fix:
PIPEWIRE_LATENCY="256/48000" - Disable Audio Acceleration: In game settings
- Check Audio Device: Ensure correct output selected
Display Issues
- GameScope Resolution: Match native monitor resolution
- Fullscreen Toggle: Try Alt+Enter in-game
- Disable Compositing: Temporarily for testing
- Check Graphics Drivers: Ensure latest NVIDIA drivers
Ready or Not Specific Issues
Menu Freeze / Mods Menu
Symptoms: Game freezes when accessing mods or certain menus Solution:
# Add to environment variables
PROTON_SET_GAME_DRIVE="1"
EasyAntiCheat Issues
Symptoms: Game won't start or kicks you from servers Solution:
# Add to game arguments
GAMEARGS="-noeac"
Note: This disables EAC and prevents online play
Black Screen on Launch
Symptoms: Game launches but shows black screen Solutions:
-
NVIDIA Driver Issue:
# Try forcing NVIDIA GPU __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia -
GameScope Issue:
# Disable GameScope temporarily USEGAMESCOPE="0"
Performance Stuttering
Symptoms: Frequent frame drops or stuttering Solutions:
-
Enable DXVK Async:
DXVK_ASYNC="1" -
Force Large Address Aware:
PROTON_FORCE_LARGE_ADDRESS_AWARE="1" -
Limit Frame Rate:
# In GameScope args GAMESCOPE_ARGS="-W 3440 -H 1440 -r 240 -f --immediate-flips --rt --fps-limit-method=2 --"
NVIDIA-Specific Troubleshooting
GPU Not Detected
-
Check Driver Installation:
nvidia-smi lspci | grep -i nvidia -
Verify Vulkan Support:
vulkaninfo | grep deviceName -
Force NVIDIA in STL:
USEPRIMERUN="1" # If on hybrid graphics
DLSS Issues
Enable DLSS Support:
PROTON_ENABLE_NVAPI="1"
USEDLSS="1"
PROTON_HIDE_NVIDIA_GPU="0" # Don't hide GPU from game
Ray Tracing Problems
Enable Ray Tracing (DX12 games only):
USERAYTRACING="1"
STL_VKD3D_CONFIG="dxr"
Configuration File Locations
Steam Tinker Launch
- Global Config:
~/.config/steamtinkerlaunch/global.conf - Game Configs:
~/.config/steamtinkerlaunch/gamecfgs/1144200.conf - Logs:
~/.config/steamtinkerlaunch/logs/
Proton/Steam
- Compatdata:
~/.steam/steam/steamapps/compatdata/1144200/ - Game Install:
~/.steam/steam/steamapps/common/Ready Or Not/
Emergency Recovery
Reset Game Configuration
# Backup current config
cp ~/.config/steamtinkerlaunch/gamecfgs/1144200.conf ~/.config/steamtinkerlaunch/gamecfgs/1144200.conf.backup
# Reset to minimal config
cat > ~/.config/steamtinkerlaunch/gamecfgs/1144200.conf << 'EOF'
USEGAMEMODERUN="1"
USEPROTON="GE-Proton10-11"
GAMEARGS="-noeac"
EOF
Clean Proton Prefix
# Remove compatdata (Steam will recreate)
rm -rf ~/.steam/steam/steamapps/compatdata/1144200/
# Launch game to regenerate prefix
Verify Game Files
- Open Steam
- Right-click Ready or Not
- Properties → Local Files → Verify integrity
Testing Methodology
Systematic Testing
- Vanilla Test: Disable all STL settings
- Minimal STL: Add only essential settings
- Incremental: Add one setting at a time
- Document: Record what works/doesn't work
Performance Testing
- Baseline: Test without any modifications
- With STL: Test with recommended settings
- Compare: Use MangoHUD to compare frame rates
- Optimize: Adjust settings based on results
Common Error Messages
| Error | Cause | Solution |
|---|---|---|
| "Failed to initialize graphics" | Driver/GPU issue | Update NVIDIA drivers |
| "EasyAntiCheat timeout" | EAC conflict | Add -noeac argument |
| "Access violation" | Memory issue | Enable PROTON_FORCE_LARGE_ADDRESS_AWARE |
| "Vulkan initialization failed" | DXVK issue | Try PROTON_USE_WINED3D="1" |
Hardware-Specific Notes
High Refresh Rate Monitors
- Ensure GameScope refresh rate matches monitor
- May need to limit frame rate for stability
- Test with vsync on/off
Multiple Monitors
- Specify primary display in GameScope
- May need to disable secondary monitors during play
- Check for focus issues
HDR Displays
For full HDR setup (vk-hdr-layer, KDE config, per-API env vars), see the steam-game-setup skill:
.claude/skills/steam-game-setup/SKILL.md → HDR Configuration section
Xbox / Console Issues
Menu Delays Caused by Pi-hole Blocking
Symptoms: Multi-second (5-10s) hangs when toggling menus in online games (e.g., MLB The Show)
Root Cause: Pi-hole gravity-blocks Microsoft telemetry domains that the Xbox calls synchronously during menu transitions. The game gets 0.0.0.0 from DNS, attempts TCP connect, and waits for timeout.
Solution: Create a per-client Xbox group in Pi-hole with allowlist entries for the blocked domains. See xbox-pihole-mlb-the-show-incident.md for full details.
Key domains to whitelist for Xbox:
settings-win.data.microsoft.comarc.msn.comv10.events.data.microsoft.comv20.events.data.microsoft.comactivity.windows.com
Diagnostic tip: Look for rapid retry patterns in Pi-hole logs (same domain queried every 1-3s from the Xbox IP) — this signals a blocked domain causing timeout loops.
Useful Commands
Check Running Game Process
# See game processes and GPU usage
nvidia-smi
ps aux | grep -i "ready\|proton"
Monitor Performance
# Real-time GPU monitoring
watch -n 1 nvidia-smi
# STL logs
tail -f ~/.config/steamtinkerlaunch/logs/steamtinkerlaunch.log
GameScope Debug
# Launch with GameScope debug
gamescope --debug -- steam steam://rungameid/1144200