CachyOS Gaming Configuration - ryzendew/Linux-Tips-and-Tricks GitHub Wiki
CachyOS Gaming Configuration Guide
This guide covers optimizing CachyOS for gaming, including Steam setup, Wine/Proton configuration, performance tweaks, and gaming-specific optimizations.
Table of Contents
- Why CachyOS for Gaming?
- Graphics Driver Setup
- Steam Installation and Configuration
- Wine and Proton Setup
- Performance Optimizations
- Gaming-Specific Tweaks
- Lutris Setup
- Troubleshooting Gaming Issues
Why CachyOS for Gaming?
Performance Benefits
CachyOS provides excellent gaming performance:
- BORE Scheduler: Lower input lag, better responsiveness
- Optimized Packages: Faster application startup
- Custom Kernel: Better performance optimizations
- Low Latency: Optimized for real-time applications
Gaming Advantages
- Lower input lag: BORE scheduler prioritizes interactive tasks
- Better frame times: More consistent performance
- Faster loading: Optimized packages load quicker
- Better multitasking: System stays responsive while gaming
Graphics Driver Setup
NVIDIA Setup
Install NVIDIA drivers:
# Use chwd (recommended)
sudo chwd -h -a nvidia
# Or manually
sudo pacman -S nvidia nvidia-utils nvidia-settings
# For 32-bit support (needed for Steam)
sudo pacman -S lib32-nvidia-utils
Configure NVIDIA:
# Open NVIDIA settings
nvidia-settings
# Configure:
# - Performance mode
# - VSync settings
# - Power management
NVIDIA optimizations:
# Enable performance mode
sudo nvidia-smi -pm 1
# Set power limit (if needed)
sudo nvidia-smi -pl 200 # Adjust wattage as needed
AMD Setup
Install AMD drivers:
# AMD open-source drivers (usually pre-installed)
sudo pacman -S mesa vulkan-radeon lib32-mesa lib32-vulkan-radeon
# For newer AMD GPUs
sudo pacman -S mesa vulkan-radeon xf86-video-amdgpu
AMD optimizations:
# Enable performance mode (if available)
# Check with: cat /sys/class/drm/card*/device/power_dpm_force_performance_level
Intel Setup
Intel integrated graphics:
# Install Intel drivers
sudo pacman -S mesa vulkan-intel lib32-mesa lib32-vulkan-intel
Note: Intel integrated graphics have limited gaming performance. Consider a dedicated GPU for serious gaming.
Verify Graphics Setup
Check GPU is working:
# Check NVIDIA
nvidia-smi
What this command does:
nvidia-smi: NVIDIA System Management Interface- Shows detailed information about your NVIDIA GPU
- Verifies that NVIDIA drivers are installed and working
What you should see:
- A table showing GPU information
- Driver version
- GPU temperature and usage
- Memory usage
If you see an error:
NVIDIA-SMI has failed: Drivers not installed or GPU not active- Solution: Install NVIDIA drivers:
sudo chwd -h -a nvidia
# Check OpenGL
glxinfo | grep "OpenGL renderer"
What this command does:
glxinfo: Shows OpenGL graphics information- OpenGL: A graphics API used by many games and applications
| grep "OpenGL renderer": Finds the line showing which GPU is used
Example output (NVIDIA):
OpenGL renderer string: NVIDIA GeForce RTX 3060/PCIe/SSE2
Example output (AMD):
OpenGL renderer string: AMD Radeon RX 6700 XT (radeonsi, navi22, LLVM 15.0.7, DRM 3.49, 6.6.5)
What this tells you:
- Which GPU is being used for graphics
- If it shows your GPU model, drivers are working
- If it shows "llvmpipe" or "software", hardware acceleration isn't working
If command not found:
# Install mesa-utils (contains glxinfo)
sudo pacman -S mesa-utils
# Check Vulkan
vulkaninfo | grep "deviceName"
What this command does:
vulkaninfo: Shows Vulkan graphics API information- Vulkan: A modern graphics API used by many games (alternative to OpenGL)
| grep "deviceName": Finds the GPU name in Vulkan output
Example output:
deviceName = NVIDIA GeForce RTX 3060
What this tells you:
- Your GPU supports Vulkan (good for modern games)
- Vulkan drivers are installed correctly
- Games using Vulkan will work
If command not found:
# Install vulkan-tools (contains vulkaninfo)
sudo pacman -S vulkan-tools
If you see errors:
- Vulkan not supported: Your GPU may not support Vulkan (very old GPUs)
- Driver issues: Install/update graphics drivers
- Note: Most modern GPUs (2015+) support Vulkan
Steam Installation and Configuration
Installing Steam
Install Steam:
# Install Steam
sudo pacman -S steam
# Or from AUR (for latest version)
yay -S steam-native-runtime
Steam Configuration
Launch Steam:
steam
What this command does:
steam: Launches the Steam application- Steam is a gaming platform and store
- First launch may take longer (initial setup)
What you'll see:
- Steam login window (if not logged in)
- Or Steam main window (if already logged in)
- May show update/download progress
First-time setup:
- Create or log in to Steam account
- If you don't have an account: Click "Create account"
- If you have an account: Enter username and password
- Why needed: Steam requires an account to use
- Complete Steam setup wizard
- Steam may ask to install additional components
- May download Steam runtime (libraries Steam needs)
- Follow on-screen instructions
- Install Steam runtime
- Steam runtime: Libraries and dependencies Steam needs
- Usually installs automatically
- May take a few minutes to download
- Required for games to run
What is Steam runtime?
- Collection of libraries and dependencies
- Ensures games work even if your system is missing some libraries
- Provides consistent environment for games
- Usually installs automatically on first launch
Steam Performance Settings
Steam settings for performance:
- Steam → Settings → In-Game:
- Enable "In-game overlay"
- Set FPS counter position
- Configure screenshot settings
- Steam → Settings → Downloads:
- Set download region (closest to you)
- Limit bandwidth if needed
- Enable "Allow downloads during gameplay"
- Steam → Settings → Interface:
- Disable hardware acceleration (if causing issues)
- Adjust interface scaling
Proton Setup
What is Proton?
- Proton: Compatibility layer that runs Windows games on Linux
- Developed by: Valve (Steam's parent company)
- What it does: Translates Windows game calls to Linux
- Result: Windows games can run on Linux without Windows
How Proton works:
- Uses Wine (Windows compatibility layer)
- Includes DXVK/VKD3D (DirectX to Vulkan translation)
- Provides game-specific fixes and optimizations
- Handles Windows APIs and libraries
Proton enables Windows games on Linux:
Enable Proton:
- Open Steam Settings
- Click "Steam" in top-left menu
- Select "Settings"
- Navigate to Steam Play
- Click "Steam Play" in left sidebar
- You'll see Proton options
- Enable "Enable Steam Play for supported titles"
- What this does: Allows Steam to use Proton for games Valve has tested
- Supported titles: Games Valve has verified work with Proton
- Check this box
- Enable "Enable Steam Play for all other titles"
- What this does: Allows Proton for ALL Windows games (not just tested ones)
- Why enable: Many untested games also work with Proton
- Check this box (recommended)
- Select Proton version (latest recommended)
- Dropdown menu shows available Proton versions
- Recommended: Latest stable version (e.g., "Proton 8.0")
- Experimental: Latest features but may be unstable
What happens when you enable Proton:
- Steam downloads Proton automatically
- Games can now use Proton to run
- Windows games appear in your library
- You can install and play Windows games
Install Proton versions:
- Steam automatically downloads Proton when you enable it
- Or install manually: Steam → Library → Tools → Proton
- Multiple versions can be installed (choose per-game)
Proton versions explained:
Proton Experimental:
- What it is: Latest development version
- Features: Newest fixes and improvements
- Stability: May be unstable (experimental)
- Best for: Testing new games, getting latest fixes
- Not recommended for: Stable gaming experience
Proton 8.x (e.g., 8.0):
- What it is: Latest stable version
- Features: Well-tested, reliable
- Stability: Stable and reliable
- Best for: Most users, reliable gaming
- Recommended: Use this for best experience
Proton GE (GloriousEggroll):
- What it is: Community-maintained version
- Features: Additional fixes not in official Proton
- Stability: Generally stable
- Best for: Games that don't work with official Proton
- Installation: Requires separate installation (see below)
Install Proton GE (optional):
# Install ProtonUp-Qt (GUI tool)
yay -S protonup-qt
What ProtonUp-Qt does:
- Graphical tool for managing Proton versions
- Easy installation of Proton GE
- Can install multiple Proton versions
- User-friendly interface
How to use ProtonUp-Qt:
- Launch ProtonUp-Qt from application menu
- Select "Steam" as the platform
- Choose Proton GE version to install
- Click "Install"
- Wait for download and installation
- Proton GE will appear in Steam's Proton list
Or install manually from GitHub:
- Visit: https://github.com/GloriousEggroll/proton-ge-custom
- Download latest release
- Extract to
~/.steam/root/compatibilitytools.d/ - Restart Steam
- Proton GE will appear in game's compatibility options
Steam Launch Options
What are launch options?
- Launch options: Commands that run before the game starts
- Purpose: Configure how the game runs
- Format: Environment variables and game parameters
- Where: Set in Steam game properties
Add launch options for games:
How to access launch options:
- Right-click game in Steam library
- Select "Properties"
- Find "Launch Options" field (usually at bottom)
- Enter your launch options
Common options:
# Disable compositor (for better performance)
__GL_SYNC_TO_VBLANK=0 %command%
What this does:
__GL_SYNC_TO_VBLANK=0: Disables VSync (vertical sync)- VSync: Synchronizes frame rate with monitor refresh rate
- Disabling: Removes frame rate cap (can get higher FPS)
- Trade-off: May cause screen tearing (visual artifacts)
%command%: Placeholder for the actual game command- Benefit: Higher frame rates, lower input lag
# Use specific GPU (for dual GPU systems)
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%
What this does:
__NV_PRIME_RENDER_OFFLOAD=1: Tells system to use NVIDIA GPU__GLX_VENDOR_LIBRARY_NAME=nvidia: Uses NVIDIA OpenGL library- When to use: If you have NVIDIA + Intel dual GPU
- Benefit: Game uses dedicated GPU instead of integrated
# Disable Steam overlay (for performance)
-novid %command%
What this does:
-novid: Disables intro videos (some games)- Steam overlay: The Steam interface that appears in-game (Shift+Tab)
- Note: This doesn't disable overlay, just skips intro videos
- To disable overlay: Steam → Settings → In-Game → Uncheck "Enable Steam Overlay"
# Set CPU affinity
taskset -c 0-7 %command% # Use cores 0-7
What this does:
taskset -c 0-7: Limits game to specific CPU cores0-7: Cores 0 through 7 (8 cores total)- When to use: If game doesn't use all cores properly
- Benefit: Can improve performance on some games
Performance options:
# Disable VSync
-vsync 0 %command%
What this does:
-vsync 0: Disables VSync in the game- VSync: Limits frame rate to monitor refresh rate
- Disabling: Allows unlimited frame rate
- Benefit: Higher FPS, lower input lag
- Trade-off: Possible screen tearing
# Set resolution
-w 1920 -h 1080 %command%
What this does:
-w 1920: Sets width to 1920 pixels-h 1080: Sets height to 1080 pixels- Result: Game runs at 1920x1080 resolution
- When to use: If game doesn't detect correct resolution
- Common resolutions: 1920x1080, 2560x1440, 3840x2160
# Fullscreen
-fullscreen %command%
What this does:
-fullscreen: Forces game to run in fullscreen mode- Fullscreen: Game takes up entire screen (no window borders)
- Benefit: Better performance, no window manager overhead
- Alternative:
-windowedfor windowed mode
Combining options:
__GL_SYNC_TO_VBLANK=0 -vsync 0 -fullscreen %command%
What this does:
- Combines multiple options
- Disables VSync, forces fullscreen
- All options apply when game launches
How to find game-specific launch options:
- Check game's Steam community guides
- Search ProtonDB for the game
- Check game's official documentation
- Experiment with different options
Wine and Proton Setup
Wine Installation
Install Wine:
# Install Wine
sudo pacman -S wine-staging wine-gecko wine-mono
# For 32-bit support
sudo pacman -S lib32-wine-staging
Wine Configuration
Configure Wine:
# Run Wine configuration
winecfg
# Configure:
# - Windows version
# - Graphics settings
# - Audio settings
# - Libraries
Wine optimizations:
# Set Windows version (Windows 10 recommended)
WINEPREFIX=~/.wine winecfg
# Install dependencies
winetricks corefonts vcrun2019 directx9
Proton Configuration
Proton works automatically with Steam, but you can configure it:
Proton compatibility:
- Most Windows games work with Proton
- Check ProtonDB for game compatibility: https://www.protondb.com/
- Some games need tweaks
Proton launch options:
# Force specific Proton version
PROTON_USE_WINED3D=1 %command% # Use OpenGL instead of Vulkan
# Enable DXVK/VKD3D logging
PROTON_LOG=1 %command%
# Disable esync
PROTON_NO_ESYNC=1 %command%
Performance Optimizations
CPU Optimizations
Set CPU governor to performance:
# Install cpupower
sudo pacman -S cpupower
# Set performance governor
sudo cpupower frequency-set -g performance
# Make permanent
sudo systemctl enable --now cpupower
Or use systemd:
# Create service
sudo nano /etc/systemd/system/cpu-performance.service
Add:
[Unit]
Description=Set CPU to performance mode
[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower frequency-set -g performance
[Install]
WantedBy=multi-user.target
Enable:
sudo systemctl enable --now cpu-performance
I/O Scheduler
Set I/O scheduler for gaming:
# For SSDs, use none or mq-deadline
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
# Make permanent
echo 'ACTION=="add|change", KERNEL=="sd*", ATTR{queue/scheduler}="mq-deadline"' | sudo tee /etc/udev/rules.d/60-ioscheduler.rules
Memory Optimizations
Disable swap for gaming (if you have enough RAM):
# Temporarily disable
sudo swapoff -a
# Or reduce swappiness
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Network Optimizations
Optimize network for online gaming:
# Reduce network latency
echo 'net.core.rmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
echo 'net.core.wmem_max = 16777216' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_rmem = 4096 87380 16777216' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_wmem = 4096 65536 16777216' | sudo tee -a /etc/sysctl.conf
# Apply changes
sudo sysctl -p
Gaming-Specific Tweaks
Disable Compositor
Compositors can cause input lag:
For KDE:
- System Settings → Display and Monitor → Compositor
- Set "Rendering backend" to "OpenGL 3.1"
- Disable "Allow applications to block compositing"
For GNOME:
- May need extensions to disable compositor
- Or use X11 instead of Wayland
For i3/Window Managers:
- Disable picom/compton if using
- Or configure for low latency
Mouse Acceleration
Disable mouse acceleration for gaming:
# Create X11 config
sudo nano /etc/X11/xorg.conf.d/50-mouse-acceleration.conf
Add:
Section "InputClass"
Identifier "My Mouse"
Driver "libinput"
Option "AccelProfile" "flat"
Option "AccelSpeed" "0"
EndSection
Game Mode
Install gamemode (automatic optimizations):
# Install gamemode
sudo pacman -S gamemode lib32-gamemode
# Run game with gamemode
gamemoderun game-command
Configure gamemode:
# Edit config
nano ~/.config/gamemode.ini
Example config:
[general]
; Enable CPU governor
; Set CPU governor
cpu_governor=performance
; Set I/O scheduler
; Set I/O scheduler
io_scheduler=none
; Disable compositor
; Disable compositor
compositor=off
Feral GameMode
Feral GameMode provides automatic optimizations:
- Automatically optimizes system for games
- Can be launched with games
- Works with Steam, Lutris, etc.
Use with Steam:
- Add
gamemoderun %command%to launch options
Lutris Setup
Installing Lutris
Install Lutris:
# Install Lutris
sudo pacman -S lutris
# Install Wine dependencies
sudo pacman -S wine-staging winetricks
Lutris Configuration
Configure Lutris:
- Launch Lutris
- Go to Preferences
- Configure:
- Wine versions
- DXVK versions
- Runners
- System options
Adding Games to Lutris
Methods:
- Install from Lutris website: Browse and install
- Add existing game: Add → Install a Windows game
- Import from Steam: Import Steam games
Lutris Performance
Lutris optimizations:
- Use latest Wine/DXVK versions
- Enable DXVK/VKD3D for DirectX games
- Configure game-specific options
- Use Feral GameMode
Troubleshooting Gaming Issues
Problem: Low FPS
Solutions:
-
Check GPU is being used:
# NVIDIA nvidia-smi # Check which GPU glxinfo | grep "OpenGL renderer" -
Disable compositor
-
Set CPU to performance mode
-
Check power settings (not in power-saving mode)
-
Update drivers:
sudo pacman -Syu
Problem: Input Lag
Solutions:
- Disable compositor
- Disable VSync (in game or driver settings)
- Use exclusive fullscreen (not borderless windowed)
- Disable mouse acceleration
- Check BORE scheduler is active
Problem: Games Won't Launch
Solutions:
- Check Proton/Wine version
- Check game compatibility on ProtonDB
- Try different Proton version
- Check launch options
- Check game logs:
# Proton logs cat ~/steam-*.log
Problem: Audio Issues
Solutions:
-
Check audio service:
systemctl --user status pulseaudio -
Install audio codecs:
sudo pacman -S gstreamer gst-plugins-good gst-plugins-bad -
Configure Wine audio:
winecfg # Audio tab
Problem: Controller Not Working
Solutions:
-
Install controller support:
sudo pacman -S xboxdrv # For Xbox controllers -
Check controller is detected:
lsusb | grep -i controller -
Configure in Steam:
- Steam → Settings → Controller
- Enable controller support
Additional Resources
- CachyOS Performance Guide - Performance optimizations
- CachyOS Dual GPU Setup - Dual GPU configuration
- ProtonDB: https://www.protondb.com/ - Game compatibility database
- Lutris: https://lutris.net/ - Gaming platform
- WineHQ: https://www.winehq.org/ - Wine documentation
Summary
This guide covered:
- Why CachyOS for gaming - Performance benefits
- Graphics driver setup - NVIDIA, AMD, Intel
- Steam installation - Setup and configuration
- Wine and Proton - Running Windows games
- Performance optimizations - CPU, I/O, memory, network
- Gaming-specific tweaks - Compositor, mouse, game mode
- Lutris setup - Alternative gaming platform
- Troubleshooting - Common gaming issues
Key Takeaways:
- CachyOS provides excellent gaming performance
- Proper graphics drivers are essential
- Steam + Proton enables Windows games
- Performance optimizations improve gaming experience
- Disable compositor for lower input lag
- Use GameMode for automatic optimizations
This guide is based on the CachyOS Wiki and expanded with detailed explanations for beginners. For the most up-to-date gaming information, always refer to the official CachyOS documentation.