Canonical Starts Work On Mir Multi-Monitor Handling

Written by Michael Larabel in Ubuntu on 31 July 2013 at 07:02 AM EDT. 22 Comments
UBUNTU
One of the feature limitations of using the Mir Display Server up to this point has been when using multiple monitors (or say a laptop connected to a projector) the only display configuration possibility is using a cloned mode whereby the screens are the same. Canonical's Mir developers have begun working on improved multi-monitor handling.

With revision 892 made to Mir on Tuesday, this very big commit ends up adding support for non-cloned display configurations. Introduced with this commit is no longer being limited to having cloned displays but now there's a side-by-side display configuration whereby the displays are offset on the screen based upon resolution. This support works when using GBM with outputs exposed via a kernel mode-setting driver.

The branch where the code was pulled from notes:
This MP adds support for arbitrary display configurations (see the SideBySide configuration policy in one of tests for a non-cloned configuration). Next step is to make the hardware cursor behave properly with multiple monitors.

To see this in action change the DefaultDisplayConfigurationPolicy to act like e.g. the side by side configuration policy, and run mir_demo_standalone_render_surfaces. You should see the mir surfaces moving between connected monitors (the virtual space they move in is the bounding rectangle of the two screens).

MM support in GBM works by grouping together outputs that overlap in the virtual coordinate space, either completely, as in clone, or partially. Each group uses the same DisplayBuffer that covers the bounding rectangle of all outputs in the group. Outputs that don't overlap with any other outputs live in their own group and have their own DisplayBuffer. We can fine tune the details of the policy in upcoming MPs as needed (e.g. create separate DisplayBuffers if the overlap is small or the resulting DisplayBuffer is too large).

Also committed on Tuesday with another revision a new --nested-mode option for running a Mir Display Server in a nested configuration atop an already present Mir process.
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