GNOME's Mutter Rolls Out New Monitor Configuration System

Written by Michael Larabel in GNOME on 25 January 2017 at 05:49 PM EST. 4 Comments
GNOME
GNOME developer Jonas Ådahl has begun landing his work on a new monitor configuration system in Mutter for the GNOME 3.24 desktop release.

Of this new monitor configuration system, Jonas explained in this tracker bug, "moving all low level monitor logic (i.e. CRTC/connector/... things into mutter, hiding it behind a higher level configuration API). While the current API simply provides a getter and a setter for all KMS like state, the new will be placed a layer above, with a set of 'monitors' that can be placed in 'logical monitors'. One will be able to rotate a logical monitor, set a scale, place multiple monitors inside one (i.e. mirroring)."

The new monitor configuration system is just referred to as MetaMonitorConfigManager and the initial implementation landed today in Git, but it's not yet enabled by default.
The new monitor configuration system (MetaMonitorConfigManager) aims to replace the current MetaMonitorConfig. The main difference between the two is that MetaMonitorConfigManager works with higher level input (MetaMonitor, MetaMonitorMode) instead of directly looking at the CRTC and connector state. It still produces CRTC and connector configuration later applied by the respective backends.

Other difference the new system aims to introduce is that the configuration system doesn't manipulate the monitor manager state; that responsibility is left for the monitor manager to handle (it only manages configuration and creates CRTC/connector assignments, it doesn't apply anything).

The new configuration system allows backends to not rely on deriving the current configuration from the CRTC/connector state, as this may no longer be possible (i.e. when using KMS and multiple framebuffers).

The MetaMonitorConfigManager system is so far disabled by default, as it does not yet have all the features of the old system, but eventually it will replace MetaMonitorConfig which will at that point be removed. This will make it possible to remove old hacks introduced due to limitations in the old system.

Landing the initial code on MetaMonitorConfigManager was nearly 150 commits.


Excited to see it in action for improved monitor management and will hopefully be all squared away in time for the March release of GNOME 3.24.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week