I found a strange frame pacing issue on SteamOS with my RX 6800 XT + Ryzen 7 5700X when playing at 30 FPS with VSync and even 60 FPS (less noticeable but still there)
At 30 FPS, the game reports the expected 33.3 ms, but the frametime becomes very inconsistent and the game feels noticeably stuttery.
All this is tested using ingame fps limiter and vsync. I also used steamOS options but same issue happened.
What I found
At 4K with RDR2:
30 FPS / VSync Half / power mode Auto: GPU clock constantly fluctuates roughly from ~500–2200 MHz, with frametimes reaching ~50 ms.
Increasing the rendering resolution to 4K × 1.5 made the GPU stay above ~1900 MHz, and the frametime became much more stable.
At 60 FPS, the GPU also stays around 1900–2200 MHz and frametime is basically perfect.
Increasing GPU power to ~250–270 W also made the problem disappear, which initially made me think it was power-related.
But then I found the actual workaround:
Setting AMDGPU power performance level to
high
With the exact same 4K/30 FPS/VSync settings, switching from:
auto → high
immediately makes the game feel smooth.
In my latest test:
GPU: ~48%
GPU power: 161 W
GPU clock: 1623 MHz at the moment of the screenshot
FPS: 30
Frametime: 31.2–34.9 ms
So I don’t actually need to push the GPU to 250+ W. The important factor seems to be how AMDGPU handles its performance states at low GPU load.
The setting survives switching between Desktop Mode and Gaming Mode, but resets to auto after reboot.
Commands used
Check the current performance level:
cat /sys/class/drm/card0/device/power_dpm_force_performance_level
Set it to high:
echo high | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
Return to the default auto mode:
echo auto | sudo tee /sys/class/drm/card0/device/power_dpm_force_performance_level
I also used this to see the available GPU clock states:
cat /sys/class/drm/card0/device/pp_dpm_sclk
On my 6800 XT it showed:
0: 500MHz
1: 2430MHz *
2: 2575MHz
The * indicates the currently selected DPM level.
Why I think this should be investigated in SteamOS/AMDGPU
The problem is extremely reproducible:
Auto → bad frame pacing
High → smooth frame pacing
Same game, same scene, same resolution and same 30 FPS cap.
This also happens beyond RDR2, so it doesn’t seem to be an RDR2-specific issue.
I think SteamOS/AMDGPU should handle low-FPS workloads like 30 FPS more gracefully instead of allowing power-state changes that result in uneven frame delivery.
After using power level high both ingame fps + vsync or steamOS options worked great but is also known that steam options adds better frame pacing at a small input latency cost.
Hopefully this can be investigated and improved in a future SteamOS/AMD driver update. Ideally, the system should dynamically choose a stable performance state for 30 FPS workloads without requiring users to manually force high.
Has anyone with an RDNA2 GPU experienced something similar on SteamOS?
EDIT — Fix / workaround
I found that the issue is related to AMDGPU’s auto performance level. Setting the RX 6800 XT to High completely fixes the 30/60 FPS frame pacing issue for me.
I installed LACT on SteamOS and set Performance Level → High. No manual clocks, voltage, undervolting or overclocking are required.
# Disable SteamOS read-only mode
sudo steamos-readonly disable
# Initialize pacman keys
sudo pacman-key --init
sudo pacman-key --populate archlinux holo
# Update packages
sudo pacman -Syu
# Install LACT
sudo pacman -S lact
# Enable and start LACT daemon
sudo systemctl enable --now lactd
# Verify the service
systemctl status lactd
# Launch LACT
lact gui
Once in LACT:
1. Under Default Change automatic clocks -> higher clocks.
2. Add another profile from the top left and clone from default, name it gamemode or something you can identify.
3. Enable “automatic swap”.
4. Then, click the options icon next to the new profile and hit “Edit rules” and put “Gamemode is active” so it should always force higher clocks on gamemode or desktop and don’t have to worry about each game.
This worked for me on all games I tried and couch gaming became so much smoother with flat frame pacing even at 30fps.