DISPLAY REFRESH RATE SWITCHING (DRRS)(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– Display Refresh Rate Switching (DRRS) πŸ’–

okay bestie, welcome to the Display Refresh Rate Switching (DRRS) page, section 9 of the Kernel API Manual β€” and it’s giving β€œpower saving but make it display tech.” 🫢

Display Refresh Rate Switching (DRRS) is a power conservation feature which enables switching between low and high refresh rates, dynamically, based on the usage scenario. This feature is applicable for internal panels. ✨

Indication that the panel supports DRRS is given by the panel EDID, which would list multiple refresh rates for one resolution. πŸ‘‘

DRRS is of 2 types β€” static and seamless. Static DRRS involves changing refresh rate (RR) by doing a full modeset (may appear as a blink on screen) and is used in dock-undock scenario. Seamless DRRS involves changing RR without any visual effect to the user and can be used during normal system usage. This is done by programming certain registers. πŸ’…

Support for static/seamless DRRS may be indicated in the VBT based on inputs from the panel spec. πŸŽ€

DRRS saves power by switching to low RR based on usage scenarios. πŸ“

The implementation is based on frontbuffer tracking implementation. When there is a disturbance on the screen triggered by user activity or a periodic system activity, DRRS is disabled (RR is changed to high RR). When there is no movement on screen, after a timeout of 1 second, a switch to low RR is made. ⭐

For integration with frontbuffer tracking code, intel_drrs_invalidate and intel_drrs_flush are called. πŸ¦‹

DRRS can be further extended to support other internal panels and also the scenario of video playback wherein RR is set based on the rate requested by userspace. 🌈

✨ SEE ALSO ✨


and that’s the footer, bestie: source/version ./drivers/gpu/drm/i915/display, dated October 2026. mwah πŸ’œ

πŸ“¦ where this page comes from