In time for next month’s GNOME 50 release are some improvements merged today for the Mutter compositor code adding HiDPI and monitor mode emulation support to the screen-casting API and DevKit.
GNOME 50 is coming in quite heavy on the new features. The latest code to land in Mutter is a merge request that had been in the works by Jonas Ådahl the past three months for HiDPI and monitor mode emulaiton to benefit GNOME’s virtual monitor and remote desktop capabilities.
Ådahl explained in the now-merged request:
“This MR does some things, somewhat intertwined, in an effort to rework how virtual monitors can be sized.
– The scale used for a virtual monitor when streamed is passed via a PipeWire tag called org.gnome.scale, which allows Devkit to apply appropriate scaling to the monitor stream widget.
– The remote desktop API adds a way to pass a pre-defined set of virtual monitor modes to org.gnome.Mutter.ScreenCast.RecordVirtual(), which allows creating non-resizable streams (via PipeWire negotiation) that can only resized as if changing monitor mode.
– Virtual CRTCs now have an optionally specified preferred scale, used to determine the scale of the logical monitor they are placed in.
– A tag org.gnome.preferred-scale set by Devkit is added that is forwarded as a “preferred scale” in the virtual CRTC.The end result is now that Devkit (and remote desktop servers as well, in theory), can now show content in HiDPI, matching the scale of the GTK window that shows the nested compositor content, as well as allowing emulating monitor mode selection, using a toggle in the main window menu.”
A nice improvement for those using GNOME’s virtual monitor / remote desktop capabilities ahead of the Ubuntu 26.04 LTS and Fedora Workstation 44 releases.
