Canonical reveals plans to launch Mir display server - Update
On the evening before the first online Ubuntu Developer Summit, Canonical has revealed its plans for "Mir", a next-generation display server which will run as a system-level component to replace the X Window system. Canonical has rejected Wayland, seen by many as the successor to X Windows, because they feel it recreates X semantics in its input event handling and parts of the protocol include privileged shell integration which the Mir specifiers would rather not have. The decisions along this path of development appear to have been taken in the summer of 2012.
The company sees Mir as a stepping stone to enable the development of Unity Next, a version of Unity which will automatically adapt itself to whatever form factor of device it finds itself on. Unity Next will see Canonical shifting focus from using the OpenGL toolkit Nux for animation effects to using Qt5/QML and its easy access to OpenGL capabilities.
Mir itself will comprise a server that will implement a compositor and a client which will allow applications to talk to that server; this client library will be the only route for toolkits to work with the server. There will also be projects such as QMir for Qt bindings for Mir, unity-system-compositor to act as an all purpose Mir server, the new Unity to provide a shell for users, and a Unity Greeter to manage user sessions.
Internally, Mir will manage applications and the exchange of data between them, window management and shell functions, input and output management, and buffer composition. The Canonical developers have taken the Android input stack and adapted it to run outside the Android tree to provide a power-friendly candidate for the default input source.
Currently, the developers are using the Android SurfaceFlinger to deliver the Phone and Tablet experiences which were recently released as developer previews. But Canonical says that, by May this year, it will be replaced by Mir. It added that eventually the tablet will migrate to the same infrastructure as the desktop system.
For the desktop, the plan is equally ambitious: a migration in May to a Mir/QMir/Unity Next shell and Mir/QtUbuntu/Qt/QML application stack running on top of the current free graphics drive stack. Closed source driver support is still being worked on, with Canonical saying it is talking with GPU vendors about creating distilled, reusable, cross-platform EGL-centric drivers in the future. The May milestone will, though, be the first point in actual shell development and giving developers something to work with.
Beyond May, the Canonical developers see the Unity Next and Mir work being sufficiently advanced in October to deliver the Ubuntu Phone product. October will also see the work for desktop/laptop versions to fully replace X in user sessions and offer a legacy X mode being brought forward. By April 2014, all of this work should result in Mark Shuttleworth's much discussed "Convergence" with Mir on all platforms adapting between the different form factors. Unity Next is also targeted to be delivered in the same time frame.
Discussions and presentations of the Mir plans will take place over the next two days during the Ubuntu Developer Summit.
Update (5/3/13-16:10) : Canonical employees have now made changes to the Mir specification, which remove Canonical's controversial criticism of Wayland's input event handling and replace it with a section saying that the company merely wanted a more extensible input event handling system which could handle devices such as 3D motion controllers.