[ANNOUNCEMENT] Adaptive Sync / Freesync / VRR not working

With GNOME 46 picking up experimental VRR support and KDE Plasma supporting VRR, I wanted to share with people that a bug was found for Framework 16 where VRR isn’t advertised as capable. You can see from drm_info |grep vrr that even though the Framework 16 panel should be capable, it doesn’t show that way from amdgpu.

This stems from a mismatch in the EDID where it doesn’t consistently advertise VRR support in both blocks. The DisplayID 2.0 block advertises it, but the EDID 1.4 block doesn’t.

I’ve submitted a patch for covering that case here: [PATCH v2] drm/amd/display: Use freesync when DRM_EDID_FEATURE_CONTINUOUS_FREQ found (kernel.org)

If you want to use VRR support, you can pick it up in a local kernel until it’s brought up to Linus’ tree later.

29 Likes

Pinning this, thank you Mario.

Ooh, nice!
Any idea when this might be released? Any chance of it being backported to current stable kernels?

Use at your own risk though as I’m not sure if it’s stable to use yet.

If your up to it, you can try the patch yourself. I got it from AMD’s repository (updated: 2024-03-21 posted by @Mario_Limonciello

I only decided to try it out because I’ve seen it posted at linux-next repository (updated: 2024-03-21

I’m using it now and it’s working, Arch Linux 6.8.1 with KDE Plasma 6.0.2

I just need to find out how to test if it really is adjusting the frequency dynamically or not

I see a 60Hz and 165Hz option but then under it I see the “Adaptive sync” menu option and I see the choices of “Never”, “Automatic” and “Always”. At the moment I have it set to “Automatic”

I also remember seeing someone on Microsoft Windows seeing a 60-120 and 83-165 option which I’m not seeing here with KDE Plasma… maybe Microsoft Windows specific thing, I’m not sure on that.

It’s going to be part of 6.9-rc2.

It was just sent as part of the -fixes PR;

https://lore.kernel.org/amd-gfx/20240321220514.1418288-1-alexander.deucher@amd.com/T/#u

6 Likes

Looks like it’s queued for 6.8.3 release

I’m using it with 6.8.2 and seems to work so far

1 Like

Do things like this get backported to the longterm releases, like the current 6.6? I run Debian Testing, so that’s what I have available currently.

I requested it to be backported to 6.6.y and newer. So it should come back.

2 Likes

Fantastic! That’s awesome. Obviously we’ll see.

Linux 6.8.3, 6.7.12 (end of life) and 6.6.24 released with VRR patch

1 Like

image

That in gnome?

Yep. With kernel 6.8.3

I wonder how long before mainstream Fedora gets it. Currently on Fedora 39 and on 6.5.10-200.fc38.x86_64

Fedora 40 should be out on Apr 16 with 6.8. I am in batch 9, so that will be perfect timing for me :slight_smile:

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.