[ANNOUNCEMENT] Adaptive Sync / Freesync / VRR not working

I’ve tested from f40. Works pretty stable

1 Like

I can’t wait for F40 then. :slight_smile:

I’ve done some testing with f39-kde using kernel 6.8.4, VRR is working. It’s stable.
But…
I can see no difference in idle desktop usage, whereas manually running at 60Hz reduces power usage by about 0.8W on my setup.

No idea where the issue is, but running powertop I still get about ~165 interrupts to AMDGPU, even when the interrupts to kwin drops to ~70.
Without VRR both will sit at about ~165, but as I said, no power measurement change.

I’ll try it with F40 kde plasma 6 soon, maybe it’s a compositor thing.

F40 plasma is worse, my external screen blanks for a second irregularily when enabling VRR. But there are kernel issues with 6.8.4 that affects amd power management.

On the positive side, F40 seems to do better re power management.

what are those issues?

Missing kernel module for power management. affects both cpu and gpu

ah k, they’re enabled here on Arch Linux, both loaded too

why i am unable to see it on fedora 40 kernel 6.8.7?

gsettings set org.gnome.mutter experimental-features "['variable-refresh-rate']"

the problem is that i am unable to use it with fractional scaling when i enter it is there a comand to use both?

Are you sure this actually landed in 6.9? I’m on a freshly booted 6.9 compiled from sources, variable-refresh-rate is enabled in dconf and I’m on Gnome 46.1. Yet nothing about prefered refresh rate showing in settings.

drm_info | grep vrr shows 9 entries, yet only the one under connector 0 is set to 1, while the other 8 are still 0.

drm_info | grep vrr
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 1
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
Linux  6.8.8-300.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Apr 27 17:53:31 UTC 2024 x86_64 GNU/Linux
gnome-shell --version
GNOME Shell 46.1

image

Debian testing, KDE Plasma 5, appears that it detects the internal screen as VRR capable just fine, I see Adaptive sync setting in the Display Configuration setting.

Interesting. Maybe something didn’t fully reload. Just waking up from hibernation today and now it shows up.

Is there some kind of universal fps counter overlay for Linux to check how well this works?

I’m running Kubuntu 24.04 on Wayland with mainline kernel 6.9.2 via the mainline tool from PPA for cappelikan : cappelikan . I’m still not seeing adaptive sync options in Display and Monitor in KDE system settings.

I’ll keep poking and see if I can figure out why it’s not working on 6.9, but if anyone has any additional ideas, I’d appreciate any input.

On openSUSE Tumbleweed, variable refresh rate doesn’t show up, although that may be due to being on X11.

There are pretty good directions here on how to enable it. These are written for Arch, but I expect relatively portable.

https://wiki.archlinux.org/title/Variable_refresh_rate

If VRR is enabled. Is there a command to show the current refresh rate that can vary?

No, but you can use this to see if it’s working or not.

Spoiler, VRR is not working.

Should work automatically with the Plasma Wayland session, tho for me, my external monitor routed through a TB dock is the one missing VRR :sweat_smile: