The decision to change the foundations of the graphical user interface in the Ubuntu OS is already paying off in terms of performance, according to Mark Shuttleworth, the founder of Canonical, the company behind Ubuntu.
Canonical announced the decision to use Mir as the display server for Ubuntu's GUI earlier this year.
The move to Mir from the X Window System caused ructions in the wider Ubuntu ecosystem, with Ubuntu derivatives Kubuntu and Lubuntu both announcing they would not follow Ubuntu in adopting the Mir stack when Ubuntu 13.10 "Saucy" launches later this year.
Shuttleworth wrote on his blog: "Building a graphics stack is not a decision made lightly – it's not an afternoon’s hacking. The decision was taken based on a careful consideration of technical factors. We need a graphics stack that works reliably across a very wide range of hardware, that performs predictably, that provides a consistent quality of user experience on many different desktop environments."
He said that Mir is delivering better performance than X on the Unity 7 desktop running on his Intel/Dell XPS laptop: "Both Xorg and Compiz are using less memory and fewer CPU cycles under Mir than they were with X handling the hardware directly," he wrote.
"Talking with the Mir team, they say others have seen the same thing, and they attribute it to more efficient buffering of requests on the way to the hardware. The overall impression I have is that Mir has delivered what we hoped.
"Perhaps it had the advantage of being able to study what went before – SurfaceFlinger, Wayland, X – and perhaps also the advantage of looking at things through the perspective of a mobile lens, where performance and efficiency are a primary concern, but regardless, it's lean, efficient, high quality and brings benefits even when running a legacy X stack."
The right decision
Even though the decision to switch to Mir runs the risk of isolating the main Ubuntu distribution from its derivative OS, Shuttleworth argued it is the right decision.
"We take a lot of flack for every decision we make in Ubuntu, because so many people are affected. But I remind the team – failure to act when action is needed is as much a failure as taking the wrong kind of action might be. We have a responsibility to our users to explore difficult territory. Many difficult choices in the past are the bedrock of our usefulness to a very wide audience today," he wrote.
Sticking with the status quo would have made it more difficult to make improvements to the performance of the GUI, Shuttleworth said.
"I believe Mir will be able to evolve faster than the competition, in part because of the key differences and choices made now," he wrote.
"For example, rather than a rigid protocol that can only be extended, Mir provides an API. The implementation of that API can evolve over time for better performance, while it’s difficult to do the same if you are speaking a fixed protocol.
"We saw with X how awkward life becomes when you have a fixed legacy protocol and negotiate over extensions which themselves might be versioned."
Shuttleworth's comments about Mir's performance tally with the experience of Jack Wallen at TechRepublic who described the experience of using Mir under the Ubuntu desktop as "incredibly smooth".
"We also know that we can deliver a high-performance X stack on Mir, which means any application that talks X, or any desktop environment that talks X, will perform just as well with Mir, and have smoother transitions in and out thanks to the system compositor capabilities that Mir provides," Shuttleworth said.
"On Ubuntu, we’re committed that every desktop environment perform well with Mir, either under X or directly."
When it is released in October this year, Ubuntu 13.10 will use XMir, a stack where X and Unity 7 run on top of the Mir system compositor by default, with a fallback option of running X without any Mir driver support. This edition will be supported for nine months.
By Ubuntu 14.04 LTS, a long-term release that will be supported for five years, the fallback X option will be removed. This release is intended to have full Mir driver support.