Ubuntu’s X Window replacement “Mir” coming in next OS version

Shuttleworth is using Mir on his laptop, and he loves it.

Mir, Ubuntu's in-progress replacement for the X Window System, is being used internally at Ubuntu developer Canonical and will be available to all users in the next version of the operating system. Mir was announced in March, with Canonical saying that a new display server is needed to power the Unity interface across desktops, phones, and tablets.

"Mir has been running smoothly on my laptop for two weeks now," Canonical founder Mark Shuttleworth wrote on his blog yesterday. While he provided no statistics, he wrote that "Xorg and Compiz are using less memory and fewer CPU cycles under Mir than they were with X handling the hardware directly."

Shuttleworth did list one downside, however: "Chromium triggers an issue in the graphics stack which freezes the display. Pressing Alt-F1 unfreezes it (it causes Compiz to invoke something which twiddles the right bits to bring the GPU back from its daze). I’m told that will get sorted trivially in a coming update to the PPA [Personal Package Archives, Ubuntu's software repository]."

According to the Mir roadmap, Canonical hopes to completely replace X on desktops and laptops by October when Ubuntu 13.10 is released, but the OS will still feature a "legacy mode" that can "run legacy X clients against an on-demand rootless X server." Mir will also be able to "support an Ubuntu phone product" in October. By April 2014, Mir will power all Ubuntu form factors, including tablets.

Shuttleworth wrote that Canonical developers are now busy making sure that every app and desktop environment will work well under Mir.

"On Ubuntu, we’re committed that every desktop environment perform well with Mir, either under X or directly," Shuttleworth wrote. "We didn’t press the ‘GO’ button on Mir until we were satisfied that the whole Ubuntu community, and other distributions, could easily benefit from the advantages of a leaner, cleaner graphics stack." Distributions based on Ubuntu will be able to offer Mir as an option with a patch to X.

For people who want to try Mir before its official release, it will be available in beta versions of 13.0 through the Ubuntu PPA "just as soon as our QA and release teams are happy that its ready for very widespread testing," Shuttleworth wrote.

According to Ubuntu's roadmap, they will be running X on top of Mir for the next two releases (13.10 and 14.04LTS), which means that X11 and the current version of Unity built on Compiz will be supported at least 5 more years. The upcoming release is expected to run Mir for users with open source video drivers, and the LTS is expected to run Mir (with an X server) for everyone with no legacy X.org fallback.

The Mir native Unity rewrite in Qt 5 is planned to debut in October 2014. Canonical is patching in Mir support to most of the common GUI libraries ( Qt, Gtk+, Gecko), but it is not clear whether the all the upstream projects will accept these patches. This is where we might see some of the Ubuntu spins going in a different direction.

It seems like a reasonable 2-step strategy to replace the back-end before changing the client protocol, and it keeps the most disruptive changes from landing in the 14.04 LTS window. As Matty says, it's the huge revolution it sounds like in the Ars article or from a naive reading of the Shuttleworth blog, but it is an important step in a fairly conservative transition strategy.

Will "ssh -X" just work both to and from a machine running Mir without doing anything else?

For Ubuntu 13.10, it's running a light X server (called xmir) over Mir, so I expect that will work correctly for now. For a long term solution, I suggest you find some new remote desktop solutions. There are lots of things that work really well these days, but neither Mir nor Wayland are designed as network protocols.

In particular, you might be interested in GTK's Broadway backend, which is available as a compile-time option (and might be enabled by default in the future, maybe?): https://developer.gnome.org/gtk3/3.7/gtk-broadway.html. Broadway lets you run any GTK app through a web browser, and it works surprisingly well

No mention of Wayland? I'm sure Mir will be nice, but as a solely Canonical product and with both KDE and Gnome adopting Wayland, I think the fracture deserve at leat a mention.

Why? This entire article is about Mir and Ubuntu - what does Wayland have to do with any of this? If this was an article that discussed the future of Linux, then you'd be right that both Mir and Wayland should be discussed. But it's not.

So how does Mir differ from Wayland, and are either of them likely to get support from, say, Nvidia? Thinking particularly of the Steam-on-Linux release and its Ubuntu reference implementation, it would be a shame to have its momentum impeded by this kind of transition.

Is Mir compatible with all Linux distros, or is it tailored to just function with Ubuntu? I know distros tend to be plug-n-play sometimes, but never know when someone's made something very specific.

I think what's making me scratch my head is how I read over and over across the web that designing something to replace X would require tons of man-hours, crossing-of-streams, unicorn horn dust and good luck, which is why it wasn't done already. IE: "If it was possible, it would have been done by now." Yet Canonical seems to just whip something up in a year or so. So... was it not as hard as everyone was making it out to be? That also makes me wonder if they were able to whip it up so fast, b/c it's tailored specifically for Unity/Ubuntu, and not a broad-spectrum replacement like Wayland would be.

Why? This entire article is about Mir and Ubuntu - what does Wayland have to do with any of this?

Canonical previously said they were going with Wayland as a replacement for X, till they switched to Mir. Kubuntu & Lubuntu are still going with Wayland. Upstream Gnome is (probably) going with Wayland. Wayland is going to be important to the Ubuntu community even if Canonical use Mir to unify their desktop and phone interfaces for those variants.

Is Mir compatible with all Linux distros, or is it tailored to just function with Ubuntu? I know distros tend to be plug-n-play sometimes, but never know when someone's made something very specific.

I think what's making me scratch my head is how I read over and over across the web that designing something to replace X would require tons of man-hours, crossing-of-streams, unicorn horn dust and good luck, which is why it wasn't done already. IE: "If it was possible, it would have been done by now." Yet Canonical seems to just whip something up in a year or so. So... was it not as hard as everyone was making it out to be? That also makes me wonder if they were able to whip it up so fast, b/c it's tailored specifically for Unity/Ubuntu, and not a broad-spectrum replacement like Wayland would be.

And on mobile they used much work already done because of Wayland (especially the shim between Mir and Android libraries/driver model) without attribution.

So how does Mir differ from Wayland, and are either of them likely to get support from, say, Nvidia? Thinking particularly of the Steam-on-Linux release and its Ubuntu reference implementation, it would be a shame to have its momentum impeded by this kind of transition.

The only real design difference is that Mir does not provide a formal protocol to talk to it. There is an official library that everybody has to use to talk to the display server. Wayland has both a formal protocol and official libraries.

It will be relatively easy for Nvidia and AMD to support them both because they only require a minor extension to the EGL implementations already being created.

I'm guessing the Steambox stuff will continue to use the X server rather than go with Mir/XMir.

End of an era, I guess. X11 has lasted a good, long, time, but Apple also ditched it for MacOS X. It's quickly becoming a "legacy windowing system". So it goes! Progress moves on!

The difference being that Apple didn't have a huge legacy of applications built around X-Windows. I can't even get good support for Wacom tablets in X-Windows – good luck getting both Autodesk app and pen tablet support for another window manager.

@Jon Brodkin Didn't you have a more recent picture of Ubuntu to show? If I'm not mistaken, that picture is from Ubuntu 11.04... That's not even supported since 2012-10-28!Google "Ubuntu 13.04 unity" for pictures of its current iteration.

@Jon Brodkin Didn't you have a more recent picture of Ubuntu to show? If I'm not mistaken, that picture is from Ubuntu 11.04... That's not even supported since 2012-10-28!Google "Ubuntu 13.04 unity" for pictures of its current iteration.

That screenshot brought back memories... it's ancient. The Unity that is bears only a passing resemblance to the Unity that was.

So how does Mir differ from Wayland, and are either of them likely to get support from, say, Nvidia? Thinking particularly of the Steam-on-Linux release and its Ubuntu reference implementation, it would be a shame to have its momentum impeded by this kind of transition.

The only real design difference is that Mir does not provide a formal protocol to talk to it. There is an official library that everybody has to use to talk to the display server. Wayland has both a formal protocol and official libraries.

It will be relatively easy for Nvidia and AMD to support them both because they only require a minor extension to the EGL implementations already being created.

I'm guessing the Steambox stuff will continue to use the X server rather than go with Mir/XMir.

I wouldn't be so sure about that last point. Valve has a pretty tight relationship with Canonical.

End of an era, I guess. X11 has lasted a good, long, time, but Apple also ditched it for MacOS X. It's quickly becoming a "legacy windowing system". So it goes! Progress moves on!

Actually.. Apple has never used it for anything in OS X. They did however stop bundling it (along with a lot of other random things like Java) in 10.7 to decrease the download size from the App Store, never mind that a extremely small number of people use it in OS X as it is. You can still download (and install) X11 in OS X by going to http://xquartz.macosforge.org/landing/ and installing it.

Well then let's be totally fair. Canonical developed Mir behind closed doors and when they announced it, they did so with what amounted to a pack of lies about Wayland that they scrambled to take back after getting called on it. Thus the only logic behind Mir's existence is because Wayland was "Not Invented Here" and unless Nvidia feels benevolent and produces drivers for both, Canonical will cause a split between distros that nothing else has managed.

Will "ssh -X" just work both to and from a machine running Mir without doing anything else?

For Ubuntu 13.10, it's running a light X server (called xmir) over Mir, so I expect that will work correctly for now. For a long term solution, I suggest you find some new remote desktop solutions. There are lots of things that work really well these days, but neither Mir nor Wayland are designed as network protocols.

In particular, you might be interested in GTK's Broadway backend, which is available as a compile-time option (and might be enabled by default in the future, maybe?): https://developer.gnome.org/gtk3/3.7/gtk-broadway.html. Broadway lets you run any GTK app through a web browser, and it works surprisingly well

End of an era, I guess. X11 has lasted a good, long, time, but Apple also ditched it for MacOS X. It's quickly becoming a "legacy windowing system". So it goes! Progress moves on!

Actually.. Apple has never used it for anything in OS X. They did however stop bundling it (along with a lot of other random things like Java) in 10.7 to decrease the download size from the App Store, never mind that a extremely small number of people use it in OS X as it is. You can still download (and install) X11 in OS X by going to http://xquartz.macosforge.org/landing/ and installing it.

Pretty sure that's what the other poster said...that Apple ditched X when they adopted OS X.

According to Ubuntu's roadmap, they will be running X on top of Mir for the next two releases (13.10 and 14.04LTS), which means that X11 and the current version of Unity built on Compiz will be supported at least 5 more years. The upcoming release is expected to run Mir for users with open source video drivers, and the LTS is expected to run Mir (with an X server) for everyone with no legacy X.org fallback.

The Mir native Unity rewrite in Qt 5 is planned to debut in October 2014. Canonical is patching in Mir support to most of the common GUI libraries ( Qt, Gtk+, Gecko), but it is not clear whether the all the upstream projects will accept these patches. This is where we might see some of the Ubuntu spins going in a different direction.

It seems like a reasonable 2-step strategy to replace the back-end before changing the client protocol, and it keeps the most disruptive changes from landing in the 14.04 LTS window. As Matty says, it's the huge revolution it sounds like in the Ars article or from a naive reading of the Shuttleworth blog, but it is an important step in a fairly conservative transition strategy.

The 13.10 setup is Unity 7 -> X server / XMir -> Mir with the option of just using Unity 7 and the X server.The 14.04 setup removes the option of just using X server.The 14.10 setup is planned to be Unity 8 -> Mir.

Is Mir compatible with all Linux distros, or is it tailored to just function with Ubuntu? I know distros tend to be plug-n-play sometimes, but never know when someone's made something very specific.

I think what's making me scratch my head is how I read over and over across the web that designing something to replace X would require tons of man-hours, crossing-of-streams, unicorn horn dust and good luck, which is why it wasn't done already. IE: "If it was possible, it would have been done by now." Yet Canonical seems to just whip something up in a year or so. So... was it not as hard as everyone was making it out to be? That also makes me wonder if they were able to whip it up so fast, b/c it's tailored specifically for Unity/Ubuntu, and not a broad-spectrum replacement like Wayland would be.

Mir, like Unity, is Ubuntu specific. Well, not technically, but no one else *wants* to use it. Mir is 100% redundant with Wayland. Every issue with Wayland Mir was supposed to fix was based on the Canonical devs not understanding Wayland and not talking to Wayland devs. Did they not understand because they really didn't get it, or because Mark has NIH syndrome and they willingly closed their eyes to go along with it?

End of an era, I guess. X11 has lasted a good, long, time, but Apple also ditched it for MacOS X. It's quickly becoming a "legacy windowing system". So it goes! Progress moves on!

Actually.. Apple has never used it for anything in OS X. They did however stop bundling it (along with a lot of other random things like Java) in 10.7 to decrease the download size from the App Store, never mind that a extremely small number of people use it in OS X as it is. You can still download (and install) X11 in OS X by going to http://xquartz.macosforge.org/landing/ and installing it.

Pretty sure that's what the other poster said...that Apple ditched X when they adopted OS X.

End of an era, I guess. X11 has lasted a good, long, time, but Apple also ditched it for MacOS X. It's quickly becoming a "legacy windowing system". So it goes! Progress moves on!

Actually.. Apple has never used it for anything in OS X. They did however stop bundling it (along with a lot of other random things like Java) in 10.7 to decrease the download size from the App Store, never mind that a extremely small number of people use it in OS X as it is. You can still download (and install) X11 in OS X by going to http://xquartz.macosforge.org/landing/ and installing it.

Pretty sure that's what the other poster said...that Apple ditched X when they adopted OS X.

Wording it as he did, to say "Ditching" X implies that Apple used X, which they didn't. NextSTEP used it's own Windowing system, A/UX used its own (however, like OS X, could have X11 installed), and early OS X still used Quartz and not X11