Fedora Variable Refresh Rate

With the launch of Fedora 40, there is an experimental option within Gnome to allow variable refresh rate and potentially save battery life on laptops!

I was excited to hear this, but when attempting to implement, it seems on my 11th gen intel Framework 13, it doesn’t apply the settings update. Below are 2 links that effecitvely say the same thing:
run gsettings set org.gnome.mutter experimental-features "['variable-refresh-rate']" in terminal, log out/reboot and log back in and the option should now be available in your display settings.

Instead, I lost my fractional scaling option and still don’t have variable refresh rate. My brother is also running Fedora 40 and updated his laptop with the terminal command. He is NOT on a Framework laptop and his does work. I don’t remember his specs but if it’s relevent I’ll ask. Does anyone have a similar experience so far or is this just isolated to me?

Specs

  • Fedora 40
  • Kernal 6.8.7-300
  • Gnome 46.1
  • Intel i5-1135G7
  • Integrated GPU
  • 16gb RAM
1 Like

The display must support VRR, none of the FW13 models support it

2 Likes

Is this because of firmware or the hardware itself doesn’t support it?

The hardware doesn’t support it, the FW16 does support it iirc.

2 Likes

The panel in the FW13 supports Panel Self Refresh tho (PSR) which is specifically targeted at updated areas (sorta like xdamage) AFAIK any recent kernel (6.6 onwards IIRC) should support this as it’s low level in the amdgpu driver stack. There were some issues at F39 with this but it got smoothed out in that series kernel. This works without any user interactions.

At least for the AMD FW13 panel you can also set the refresh to 48hz if you want manually, but I haven’t noticed any appreciable power gains running with it vs 60hz

1 Like

Arey you saying this is an Intel/AMD issue?

VRR and PSR are not the same. I have no idea of the sate of PSR in the intel drm stack . But it’s unrelated to VRR in any-case. As the previous poster mentioned VRR support isn’t implemented or exposed on the 13 Inch panels. The panel in the AMD FW13 does IIRC support PSR(although I may be mistaken) - which will ‘just work’ on any recent kernel. The same panel also exposes a stable 48hz set of modes in addition to it’s 60hz ones in it’s EDID - which means you can just select this in the display settings. As for VRR support ; this has been in kwayland/plasma for a while, and it’s been in mutter(gnome) for a bit and is in f39 (but not exposed in the GUI settings) - the version of gnome in fc40 makes this exposed to the user. But once again this needs to be reported by the outputs capabilities; and it’s complicated for external displays as often VRR isn’t available on all ports of all monitors (often toggled as ‘game mode’ in the monitor settings) and also relies on whatever Displayport to HDMI conversion chip/pathway is being used to work reliably

2 Likes

Intel FW13 also supports PSR

Same happened to me. Now I lost the 150% scale. To fix that I installed gnome tweaks and set the scaling factor to 1,5.

dnf install gnome-tweaks

I found another solution: go to files

home/yourusername/.config/dconf

and delete the contents of the folder. As far as I know this resets gnome (when I did it appeared the tutorial again). Also, all settings and extensions back to default.

Use it at your own risk

I did run into the same issue in fedora 42 (probably also 41, I did break it there but only fixed it after I already upgraded to 42), it seems to happen, because you overwrite the existing configuration with the one you enter there, so disabling all but the variable refresh rate. The fix is adding the fractional scaling too. The catch is there are also two options for that. What you need is:

gsettings set org.gnome.mutter experimental-features ['variable-refresh-rate', 'scale-monitor-framebuffer', 'xwayland-native-scaling']

The first two I was able to google, but without the 'xwayland-native-scaling' some apps scale blurry, I got that by viewing what’s enabled on a fresh install. You can see what is set by using:

gsettings get org.gnome.mutter experimental-features

which gives you ['scale-monitor-framebuffer', 'xwayland-native-scaling'] on fresh install so you basically just have to add the 'variable-refresh-rate' part to what’s already there.

The variable refresh rate does only work with the 2.8k-display as far as I know (not sure if there are also CPU/GPU restrictions but works on my 12th gen).

Maybe that helps someone out that also broke the scaling :blush:.