Canonical announced a new display server – Mir, and it is good for the consumer

Canonical have last week announced that they are developing their own display server to replace the ubiquitous X display server, a project called Mir, and the shit storm has begun anew(as what happened after Unity, Ubuntu Touch and other Canonical announcements). Contrary to popular belief, I think that this happening is a good thing for the Linux community in whole.

There are many reasons why I think this is good, most are not really concrete technical things, but I can list a few:

  • X11 is showing its age. There were some internal efforts to modernize it (e.g. kdrive which have mostly merged into the existing code) and some external efforts to replace it (Fresco and Wayland to name a few), but none have made much of an impact on the current state of Linux display.
  • From first look, Mir is a modern code base written in C++11 and Boost, which I like.
  • Diversity is generally a good thing.

If we go over the last point in a bit more depth, I think we can see why Mir would generally be a good thing for Linux developers and users and why people should stop being negative.

Is Mir the anti-Wayland?

Wayland is a much a lauded effort to replace the X display server with something modern and new, and was accepted with great enthusiasm but has yet to deliver something a Linux user (not a developer) can use. As is the nature of open-source hobbyist projects, these things take time1. Canonical initially announced plans to use Wayland as the future display server for Ubuntu2, but the latest announcement have scrapped these plans.

The original ambitious Wayland plan for Ubuntu (to be released for 12.10, which didn’t happen) would have been a great boost to Wayland development and would have seen its first use in a real world setting. We can only assume that part of the reasoning behind the Mir plans is the failure of Canonical to deliver on that promise. But does Canonical choosing to write their own display server really a bad thing for Wayland? I believe not – Both Wayland and Mir are based on the same EGL API3. EGL is already heavily used in the mobile internet devices scene and Android’s display server, “Surface Flinger” is based on that.

Which is quite likely the reason why Mir was created in the first place – if you read Mir as just a “not Wayland” you will be missing the message that Canonical have been trying to deliver in the last few months – integration across all devices. The same code base should run on your mobile internet device, your desktop computer and your server. If Wayland is not up to that then Canonical should take what they can and create something that solves their problem – neatly and efficiently (and not trying to run the X.org server on a mobile device – something that it was never designed to do and with the amount of cruft it gathered in almost 30 years this code base was around, probably can’t be done4 ).

Who needs EGL?

The way I see it, EGL is the right thing and putting more effort behind getting it seriously adopted by graphics drivers on the desktop (in the mobile space everyone is already doing EGL) will be good for everyone. In that regard Wayland and Mir have a lot in common and work on both will advance the state of the technology for both, as well as for future display servers which will have a lower entry bar, as explains Mir developer Christopher Rogers.

The Mesa OpenGL software implementation already supports EGL 1.4, which is mostly the work of , the open source Intel display driver apparently has some support for it5, and AMD and Nvidia are reportedly also working on full EGL support for their drivers – if not for Wayland/Mir, then for Android for sure.

Diversity is a good thing

With a small but full-time dedicated group of developers working on Mir, with modern development technologies, and with many giant shoulders to stand on, I do believe Canonical can delivery a new display server for a near-future release of Ubuntu (not the next one, but in 2014? sure). What it will mean for the Linux community and industry? I believe it essentially strengthen the market – like the GNOME 3 desktop split that pitted GNOME shell vs. Unity and eventually left us with 4 desktop environments based on GTK+ (Shell, Unity, Cinnamon and MATE) – each with its own benefits, so will the display server brouhaha leave us with several useful contenders for users and integrators to pick and choose.

If developers will be smart (and not get offended by other developers doing their own thing instead of everyone eating the same dog food) and cooperate on standard APIs and interoperability, the result will be a more robust market with more and better software.

  1. Though 5 years is a long time even in these terms. But still,  a display server is a complicated beast []
  2. as did Fedora []
  3. which is the current native windowing system API for OpenGL, instead of the X-Windows specific GLX []
  4. I know that’s what Tizen tries to do – which might explain why you don’t see many Tizen devices around []
  5. The Intel graphics driver actually uses Mesa for its 3D implementation []

4 Responses to “Canonical announced a new display server – Mir, and it is good for the consumer”

  1. ik_5:

    The issue is that wayland is an open source project that canonical can contribute back, but instead they are saying a lot of FUD about the project, while the developers of wayland display that all of the things that canonical claims that wayland actually lack of, does exists.

    If wayland was actually important to canonical, then they would have contribute them.
    but canonical constantly under-mind projects, such as debian, gnome, now wayland etc…

    For me, canonical is just like Apple or Microsoft, that ignore the community, and think they know best, and even hurt their own market doing so.

  2. Oded:

    A. Free software also means that you are free to ignore the community. As long as Canonical continues to release their software under a free license and they coordinate compatible APIs with the rest of the ecosystem, I think its good on them that their are doing what they think best.
    B. Please read the Mir Ubuntu wiki page before you jump to conclusions about who’s FUDing who. I don’t agree with all of their design decisions, but clearly their design requirements (specifically the shell “security” requirements) prevent them from using the Wayland protocol. As for using the Weston software stack – there are real concerns about their HAL APIs not working with the Android driver model – which is the current main target for Mir.
    C. You can say that it is best if Canonical would have worked with the Wayland project to integrate all their requirements into the Wayland system, but as can be seen by the current shit storm in the freedesktop community, people are not really open to talk about extending the requirements of their “spare time” community projects to support what they perceive as a lot of work for a commercial-only software vendor. Canonical has seen this in the past several times.

    As a software developer who likes and believes in free software but was also several times in the unenviable position of retrofitting the requirements of a commercial product onto a free software community project, I think their current behavior is the best that they can do.

    I don’t expect free software community projects to bend over backwards to facilitate this or that commercial product, but the current position of said free software community project makers and shakers is that the commercial company should bend over backwards to get inline with the requirements of the free software project. Canonical is a commercial company that needs to put out a product that they can support, and if they can’t do it by being fully compatible with an existing project, then they can either maintain their own set of incompatible patches (as RedHat has done many times, and no one likes that), fork the project (which no one likes that either) or design their own thing from scratch – and as long as that is also free software, that seems to be the best approach.

    • Louis:

      I agree with your comments. At the end, the COMMUNITY would get working display server with GPL3 license which wayland can not deliver since 2008. Come on, I do not want to wait for another 5 more years…

  3. Oded:

    Also, check out the interview on that american podcast with System 76 CEO, Carl Richell – Chris Fisher is talking too much, but Carl Richell has the right idea, so listen to what he has to say.

Leave a Reply