Wayland's 1.0 milestone fixes graphics protocol
The compositing display manager protocol Wayland, seen by many as a future alternative to X Windows-based graphics, and its reference implementation Weston, have reached the milestone of releasing version 1.0. With this release, the developers say that the underlying protocol now includes all features they deem essential and that they are committing to protocol versioning to help maintain compatibility going forward. This will provide developers of desktop compositors such as Kwin, Compiz and Mutter, as well as toolkits such as GTK+, Qt and EFL, a stable base to work from.
Wayland is designed to simplify the Linux graphics stack: applications communicate directly with the compositor through the Wayland backends of the UI libraries, which in turn access the Mesa driver and the graphics driver modules of the kernel.
The server's interface versioning takes a leaf out of the X Server's book. The developers are committing to never break backwards compatibility of interfaces; they will only add new features, and never take out old ones. Clients tell the server what protocol version they support and even if the server supports a newer version, it will only send the client events that its version of the protocol supports. Interfaces can be deprecated by the developers as the clients can discover which interfaces a server supports and will fall back gracefully in case they cannot use an interface because it has been deprecated in a newer version of the protocol. However, the developers commit to only drop interfaces after an ample warning period.
Furthermore, the Wayland developers guarantee that any client side application that works with the 1.0.0 version of the compositor will continue to work for the rest of the 1.x.x series of releases. Server-side code is currently still subject to change but will be stabilised for the rest of the 1.1.x series of releases with an upcoming 1.1.0 release.
With these assurances, Wayland takes a big step forward as application developers can now rely on the server's interface and will be able to start writing applications that target it. More importantly, developers can start to port existing X Server toolkits and applications to make use of Wayland. In the medium term, Wayland is supposed to replace the X Window System (X11); as yet, though, no distribution comes with either Wayland or Weston and interested developers will have to obtain it from a repository or build it from source themselves.
KDE applications should be able to change over to working natively with Wayland with the release of Qt 5, which is planned for release at the end of the year; the GNOME developers are currently working to get GTK+ 3 Wayland-ready. X11 applications can be run with Wayland without any changes, since the server has the ability to spawn its own X Server which then acts as a frontend to the applications while interfacing with Wayland in the background. The release of version 1.14 of the X.org server which is planned for March 2013 should include this feature.
The source code for Wayland 1.0 and Weston 1.0 is available for download from the Freedesktop.org site under the MIT licence with some sample code licensed under the GPL. Developers can also access Git repositories for both projects.
See also:
- Wayland - Beyond X, a feature from The H.
(fab)