Last weekend I mentioned that Wayland for MeeGo Tablet UX would be discussed and showed off at the 2011 MeeGo Conference that took place this week in San Francisco. Two sessions on the topic of Wayland took place, including one by Kristian Høgsberg, Wayland's creator. In this article are the slides that Kristian presented along with a few notes. This also shows off the plans to adopt Wayland in as soon as MeeGo 1.3, which will be released this October.
Nearly all Phoronix readers should be very familiar with the Wayland Display Server by now, seeing as we were the first to deliver news on the Wayland project and are the ones routinely delivering Wayland-related news. Wayland is the next-generation Linux display server that leverages modern technologies like kernel mode-setting and its approach is much simpler and more efficient than the traditional X Server. Wayland pledges to deliver every rendered frame in a picture-perfect manner (i.e. no tearing, lag, or flickering).
While Wayland has been in development for three years, it is still early in its development life and is considered at this point to be experimental. There have been plans laid out by Canonical to eventually deploy Wayland with their Unity desktop on Ubuntu rather than an X.Org Server, but that transition will likely not begin until at least late 2012. As reported on Phoronix last September, it is likely with MeeGo where Wayland will first see deployment en mass.
After Kristian began development of Wayland, he switched from working at Red Hat to Intel. With Intel also being the driving force behind MeeGo, Kristian and others have been focusing a lot on MeeGo-Wayland work. For the MeeGo-Wayland implementation, a meego-ux-daemon talks to the compositor using a MeeGo-specific Wayland interface. The Wayland compositor takes full control of KMS (kernel mode-setting), evdev, backlight, hotplug, and idle timeout/screensaver. All of the QML (the declarative language for Qt for designing interfaces and their behaviors) are now working on Wayland without any code changes, except for switching to Qt Quick 2.0, which is the next-generation version of the Qt interface framework.
This is an overview of the architecture and where all of the different components fall into place with Wayland and the rest of the MeeGo Linux stack.