I’ve recently got a FreeSync monitor and am still figuring out how to get VRR (variable refresh rate, or “adaptive sync”) to work consistently.
I’d love to hear your experience with VRR.
Some of my tests:
Sway
In sway
, I set adaptive_sync on
for my display, and swaymsg -t get_outputs
reports Adaptive sync: enabled
- Unfortunately, by default stuttering in games is present
- To fix, I had to use
sway -Dnoscanout
. Apparently, this has its drawbacks. - Even with
-Dnoscanout
, moving the mouse breaks VRR and causes stuttering
Hyprland
In hyprland
, I set vrr = 1
and get similar results as sway -Dnoscanout
- Fluent motion by default, but moving the mouse introduces stuttering
Gamescope
In gamescope
(embedded from VTT, with --adaptive-sync
), I get the best results yet
- Stable fluent motion
- Mouse doesn’t break it
My setup is 6600xt, Gigabyte M28U monitor, Arch 6.1.64-1-lts. I test with vrrtest and with Ghostrunner on wine-tkg-staging-fsync-git 8.13.r7.gc210ef9f-327
On sway it works fine for me except in fullscreen Xwayland apps, so that’s all of my games.
Plasma Wayland works flawlessly and I use it daily for gaming.
Plasma X11 works only in fullscreen apps and with one screen only, and it requires custom X.org configs.
Currently none, because I’m using the forbidden combination of Nvidia GPU + multiple monitors.
Thankfully most of the games I play are lightweight and can run at a constant 120FPS, but for any demanding game it’s back to Windows.
There’s currently a bug with AMDGPU wherein aggressive power management causes constant micro-stuttering and that also appears to break VRR for me.
Set power management to 3D_FULL_SCREEN or VR on the GPU.
If you run Wayland then you have to use KDE because VRR does not work on GNOME
Work fine for me on plasma wayland. Even the system settings has an option for it
I’ve been fucking around a lot with this same stuff on a similar setup (6900XT, sway, M27QP, Arch 6.4 tkg-pds). I managed to make it work more or less flawlessly. Here’s how I did it:
-
I use
MANGOHUD=1 gamemoderun %command%
in Steam to run my games. -
When Gamemode runs, it’s configured to enable
adaptive_sync
, startgpu-screen-recorder
, and run a script that setspp_power_profile_mode
to1
andpower_dpm_force_performance_level
tohigh
. As @Atemu mentioned, there’s some kind of bug with amdgpu, so by default the power management will be all over the place. -
The built-in frame limiter in some games (e.g. Apex Legends, Risk of Rain 2) can cause stutter for some reason I don’t understand. V-Sync also had stutter and also caused noticeable input lag. The solution was to use MangoHud’s frame limiter with
fps_limit=165
inMangoHud.conf
. -
This patch fixes the mouse move VRR issue. There’s instructions on how to apply it if you scroll down a bit. If it still doesn’t work right, try launching sway with
WLR_NO_HARDWARE_CURSORS=1 sway
. No need to disable direct scanout either.
Let me know if it works!
-