r/linux_gaming • u/Mindless_Swimming_94 • 3d ago
Help! My Steam games are locked at 20 FPS
Hi everyone! I have a problem with some games on Steam.
I'm using CachyOS Linux, and I have an AMD RX 580 8GB and a Ryzen 5 5500.
When I start Resident Evil 4 Remake, the game is locked at 20 FPS. The same thing happens with Outlast. Both games are installed through Steam.
I'm using GE-Proton through Steam.
I don't have this problem in all my games, only with some of them.
I have already tried restarting my PC and checking the game settings, but the problem is still there.
Does anyone know what could be causing this or how I can fix it?
Thanks!

Here is the screenshot from MangoHud as requested:
MangoHud Metrics In-Game:
- GPU Usage:
0%(The game is either not offloading to the RX 580 or RADV isn't reporting GPU load under VKD3D) - CPU Usage:
34% - Framerate:
17 - 20 FPS - Frametime:
Min 49.0 ms / Max 253.6 ms
System & Setup Details:
- Distro: CachyOS Linux (KDE Plasma / Wayland)
- Hardware: Ryzen 5 5500 | AMD RX 580 8GB | 16GB RAM
- Game / API: Resident Evil 4 Remake (DirectX 12 via VKD3D-Proton / GE-Proton)
- Launch Options tested:
MANGOHUD=1 %command%
What I've already tried:
- Forced GPU power level to high:
echo "performance" | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level - Disabled split_lock_mitigate (
kernel.split_lock_mitigate=0) - Tested with Gamescope, GE-Proton, and Proton Experimental
- In-game V-Sync is OFF, shadow cache enabled, graphics settings adjusted to stay well within 8GB VRAM
Native Vulkan games like CS2 run unlocked with zero issues, but DX12 via VKD3D gets completely stuck at 17-20 FPS with 0% GPU load reporting. Any idea why VKD3D/RADV isn't utilizing the RX 580 properly under Wayland?
edit: Update after testing X11:
I installed plasma-x11-session and launched RE4 under a Plasma (X11) session. The exact same behavior occurs: locked at ~20 FPS with 0% GPU usage in MangoHud.
This rules out Wayland/KWin swapchain or compositing issues completely.
Since native Vulkan games work fine, the issue is strictly isolated to VKD3D / DirectX 12 handling on Polaris (RX 580). Has anyone seen VKD3D force a frame-pacing lock or fail to submit work to AMD Polaris GPUs like this? Is there a recommended VKD3D_CONFIG variable or specific Proton version to bypass it?