Canonical announces Mir display server to replace X Windows
Plans to rewrite Ubuntu's GUI from ground up
Canonical has announced plans to develop new, open source Linux display-server software called Mir, in a move that it says will help further its goal of offering a unified Ubuntu user experience across PCs, smartphones, tablets, and smart TVs.
Traditionally, desktop Linux distributions have rendered their GUIs using software derived from the X Window System – X, for short – a venerable graphics layer that was developed for Unix by the Massachusetts Institute of Technology in the 1980s.
But many Linux developers think X is showing its age, and that it makes it too cumbersome to create the kinds of sophisticated graphical effects that modern desktop users have come to expect.
Recently, a number of Linux distributions have lent their support to Wayland, a free-software replacement for X that aims to make it easier to render modern, hardware-accelerated GUI desktops.
Until recently, Canonical could be counted among that list. But on Monday it unveiled its plans to develop Mir as a new, completely separate display server, one that is neither X nor Wayland.
"None of the existing solutions would allow us to implement our vision without taking major compromises which would come at the cost of user experience and quality," Canonical's Oliver Ries wrote in a post to an Ubuntu developer mailing list.
According to the Mir project's wiki, which was revealed on Monday, the goal is to develop Mir as a cross-platform alternative to X that can take advantage of existing resources – such as Android device drivers, for example, or hardware-based compositors – while remaining flexible enough to allow implementers to easily enable the behaviors they desire.
"In summary, we want to provide a graphics stack that works across different platforms and driver models by limiting our assumptions to a bare minimum," the wiki states.
It goes on to explain that while Canonical had been investigating Wayland as a possible replacement for X in future versions of Ubuntu, it found that the Wayland protocol "suffers from multiple problems," not least of which was mimicking too much of X.
"We still think that Wayland's attempt at standardizing the communication between clients and the display server component is very sensible and useful," the wiki explains, "but it didn't fit our requirements."
According to Robert Ancell, who is heading up the project to develop Mir, Canonical plans to replace X with its new graphics stack in a way that's as seamless as possible.
"In many ways, Mir will be completely transparent to the user," Ancell writes. "Applications that use toolkits (e.g. Qt, GTK+) will not need to be recompiled. Unity will still look like Unity. We will support legacy X applications for the foreseeable future."
A Unity that is actually unified
Canonical says it will also base the next version of its Unity desktop interface – currently dubbed Unity Next – entirely on Mir.
"A solution is needed to fulfill our Unity Next 'look and feel' requirements across all devices, phone to desktop to TV," explains the Unity Next wiki entry. "The solution decided upon is a related Ubuntu project known as Mir."
As part of this effort, the company says that the future version of the Unity interface will be based on QML, the markup language developed by the creators of the Qt GUI toolkit, which Canonical had used to develop its phone UI but which has not previously been used for desktop Ubuntu apps.
Canonical has said that its long-term goal is to develop Ubuntu into a client OS that works across multiple devices and offers a user experience tailored for whichever hardware is attached. Connect a smartphone to a monitor and keyboard, for example, and the OS could shift from a phone-like UI to a more traditional desktop PC experience.
In fact, to describe Canonical's goals as "long-term" might be too strong. The company says it aims to have Unity Next and Mir window management fully replace X and the existing X-based Unity desktop for smartphones beginining with Ubuntu 13.10, the next version of the OS that is due to ship this October.
The company says it plans to achieve its goal of a single Ubuntu OS for all types of devices, "with Mir serving as the carrier across form factors, powering a seamless transition between different use-cases and devices," by April 2014. ®
None of your bull makes any sense
> you could barely get a window manager to run on X on a 486.
Oh yeah. So it runs on a Sun 3/60 but barely on a "486". Get a real computer, buddy.
> X is a bloated nightmare of design by committee
Fark off. More like, everything not needed had been left OUT. Though I remember his Billness personally declaring X "insanely dumb" (that was when Microsoft was still on the OS/2 trainride)
> make it do everything (badly)
Like address large bitmapped screens?? Note that "unlike most earlier display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device" [q.v. Wikipedia]. Granted you don't need that when arsing around in your bedroom on knockoff 486 running Windows 3.1.
> excuse for a graphical driver
> Similar to PostScript..
Kinda confused here, buddy. Postscript has nothing to do with X. Though indeed I want NeWS back. Yet another Sun Microsystem production - "Nearly good, then Abandoned".
@itzman (was: Re: Huh...)
"Well ,in the day..when windows 3.1 was able to drive a 386sx at fair speed, you could barely get a window manager to run on X on a 486."
You never ran Coherent, did you?
For the record, I was running X on Slackware 1.0 on a 386sx16+mathco on 8megs of RAM and an 80meg Maxtor hard-drive. 20 years ago. It ran quite nicely. Probably didn't hurt that I compiled my own kernel ... took almost 18 hours to compile on that setup, but the results were worth it ;-)
I'm definitely no linux expert but this article leaves me with the impression that they aren't really trying for anything new at all. They just want something they can control themselves. It just smacks of doing something different just for the sake of doing something different. If it's going to be compatible with existing apps, drivers, etc then what's it bringing to the table? Oh, right multi hardware platform support and a design they can control.
With such an aggressive schedule nothing can possibly go wrong right?
It seems to me that anything multiplatform has to make nothing but compromises in order to even begin to make good on such a feature.