Linux Kernel & OS

GNOME Mutter fixes excessive GPU usage during monitor sleep in power-save mode

Key Takeaway

Seventeen patches merged into GNOME Mutter stop un-throttled CRTC repainting that was causing high GPU load while monitors were asleep in power savings mode.

Summary

A bug report from one month ago flagged high GPU usage in GNOME 51 while monitors were sleeping. The root cause was un-throttled repainting of CRTC back-end stage views during power savings mode. Jonas Ådahl of Red Hat authored 17 patches now merged into Mutter that inhibit renderer painting when power saving targets a CRTC stage view, and properly migrate presentation feedback for discarded frames. The fix is slated for GNOME 51.2.

What the Mutter power-save fix changes

  • Renderer-level inhibition: The renderer now actively skips painting when power saving is active and a stage view targets a CRTC, rather than relying on the frame clock to know about power-save state.
  • CRTC-specific targeting: The fix addresses un-throttled repainting specifically of CRTC back-end stage views, which were continuing to render even with the monitor asleep.
  • Presentation feedback migration: Discarded frames now properly send .discarded events to clients; vkgears and similar tools correctly report ~60 fps during power saving instead of silently burning GPU cycles.
  • Client behavior unchanged: Applications like vkgears, glxgears, and es2gears continue running at normal frame rates without needing modifications.

Why it matters

Laptop users on GNOME should see reduced battery drain when closing lids or allowing monitors to sleep, as the compositor no longer wastes GPU cycles on invisible repaints. The fix also benefits desktop users with multiple monitors where one may enter power-save independently.

Original reference: www.phoronix.com →