Biz & IT —

Ubuntu dumps X window system, creates replacement for PC and mobile

"Mir" display server will power phone/tablet/desktop/TV convergence.

Ubuntu is creating an X window replacement that will span phones to desktops.
Ubuntu is creating an X window replacement that will span phones to desktops.

The X window system has served numerous Linux- and Unix-based operating systems well over its nearly three decades of life. But Canonical is ready to move on from X, saying a new display server is necessary to power the Unity user interface in Ubuntu as the OS expands from desktops to tablets and phones.

Canonical yesterday unveiled "Mir," which it describes as "a system-level component targeted as a replacement for the X window server system to unlock next-generation user experiences for devices ranging from Linux desktop to mobile devices powered by Ubuntu."

This isn't the first time Canonical has tried to move beyond X. In November 2010, founder Mark Shuttleworth floated plans to replace X with the Wayland display system created in 2008 by a developer who worked for Red Hat.

Ars writer Ryan Paul noted at the time that X, a display server that is responsible for showing graphics and mediating user input, "is included in all mainstream desktop Linux distributions. The problem with this venerable component of the Linux technology stack is that it was created in the '80s and hasn't been able to shed the superfluous accoutrements of yesteryear computing."

Now, Canonical has decided that neither X nor Wayland will meet its needs in creating one version of Unity that can scale from phones to tablets, desktops, and even TVs. Thus, Canonical is building its own replacement.

Canonical's Oliver Ries, head of engineering product strategy, explained the company's thinking in a blog post:

Today Unity (the rendering part of it) runs as a plugin in Compiz which sits on top of X and is a recurring source of frustration on the developer-, design- and finally also on the user side as a lot of our ideas (handling a multi-monitor setup in 12.04 or our plans for menu bars come to mind) require quite some intrusive changes to the underlying system. Regardless of how carefully crafted the solution, it is bending a stack to something that it wasn’t necessarily designed for. Bend over backwards too much and you will fall on your back, bugging users with nasty bugs, regressions, unexpected behavior and plenty more that drives the frustration level up.

While evaluating our options, looking at extending the current stack to our needs, using the Wayland protocol (or any of its implementations) and comparing that with our designs & ideas we concluded that neither approach would allow us to do what we want in the quality that we would like to see for Ubuntu & Unity (at cost and in time).

Plus, there is the rather sizable challenge of pulling Wayland/X onto a mobile device, working with SoCs on driver support, tuning this stack for power consumption and performance and dealing with other issues of a stack that hasn’t been designed for a convergence setup as we envision it. A lot of distraction from the actual goal, to provide an outstanding experience across all the supported devices – from consumer electronics to desktop computing devices to enterprise devices.

The chosen approach was to develop Mir, our own Display Server which is engineered driven by the designs and requirements that our larger vision dictates – no compromises, no crude hacks, fully testable & tested, performance in mind, support for legacy X applications, developed by Ubuntu for Ubuntu.

Canonical also announced that it is moving Unity away from Nux, an OpenGL-based widget toolkit and canvas for creating user interfaces. Nux will be replaced by Qt/QML.

"Driven by Ubuntu Touch we are starting to move Unity over to a Qt/QML based implementation, embracing Qt as a community backed technology for our offerings," Ries wrote. "We are looking at tackling the transition from the Nux based implementation to a Qt/QML based implementation component by component and are striving to do that in a transparent way for the user. This topic is also up for discussion at UDS and we are providing a spec at http://wiki.ubuntu.com/UnityNextSpec."

As for Mir, the new display server is projected to be "completely integrated with the rest of the system to support an Ubuntu Phone product" by October of this year. By April 2014, the goal is to have "complete convergence across the form factors," namely phones, tablets, desktops, and Ubuntu TV.

Canonical demonstrated Mir running as part of Unity on a Nexus 7 tablet and an Ubuntu desktop, as seen today in videos posted by OMGUbuntu. In the desktop demonstration, a voiceover says, "As you can see, it's not actually very interesting because it's exactly the same as regular Unity at the current state in time. It all just works."

Channel Ars Technica