I didn't see this coming: Mark Shuttleworth, founder of Ubuntu backer Canonical, has announced that somewhere down the road, Ubuntu will be switching Ubuntu's base graphics system from the venerable X Windows System to Wayland.
In his blog posting, Shuttleworth wrote: "The next major transition for Unity [Ubuntu's new GNOME-based desktop interface that will be introduced in the next Ubuntu release] will be to deliver it on Wayland, the OpenGL-based display management system. We'd like to embrace Wayland early, as much of the work we're doing on uTouch and other input systems will be relevant for Wayland and it's an area we can make a useful contribution to the project."
That's pretty gutsy. The X Window System, which is the networking windowing system that provides the foundation for almost all Unix and Linux desktops, has been too slow for ages. But no one as big as an Ubuntu has ever said that they were willing to replace X with another windowing system.
Wayland is not an X server nor is it an X Server fork, as has sometimes been said. As the Wayland FAQ states, "It's a minimal server that lets clients communicate GEM (Graphics Execution Manager) buffers and information about updates to those buffers to a compositor. To do this, it uses OpenGL, a high-performance, cross-language, cross-platform graphics applications programming interface (API). Wayland also doesn't require new drivers; it builds on the existing Linux graphics APIs and drivers.
Couldn't Canonical just use X? Shuttleworth admitted they could have, but "We don't believe X is setup to deliver the user experience we want, with super-smooth graphics and effects. I understand that it's *possible* to get amazing results with X, but it's extremely hard, and isn't going to get easier. Some of the core goals of X make it harder to achieve these user experiences on X than on native GL, we're choosing to prioritize the quality of experience over those original values, like network transparency."
You won't need to give up X-based applications though to use Wayland. Shuttleworth also said, "We're confident we'll be able to retain the ability to run X applications in a compatibility mode, so this is not a transition that needs to reset the world of desktop free software. Nor is it a transition everyone needs to make at the same time: for the same reason we'll keep investing in the 2D experience on Ubuntu despite also believing that Unity, with all its GL dependencies, is the best interface for the desktop. We'll help GNOME and KDE with the transition, there's no reason for them not to be there on day one either."
Whether KDE or GNOME will want to join is a still unanswered question. Some users have other concerns.
Shuttleworth concluded, "In general, this will all be fine - actually *great* - for folks who have good open source drivers for their graphics hardware. Wayland depends on things they are all moving to support: kernel modesetting, gem buffers and so on. The requirement of EGL is new but consistent with industry standards from Khronos - both GLES (Graphics Layout Engine) and GL will be supported. We'd like to hear from vendors for whom this would be problematic, but hope it provides yet another (and perhaps definitive) motive to move to open source drivers for all Linux work."
Wayland implements a protocol that allows clients – applications – to communicate with a compositor which, in turn, addresses the hardware via the kernel. The compositor's task is to pass keyboard, mouse, touch screen or similar events, to the addressed clients. The clients update their own windows and only inform the compositor that a window area has changed. The compositor will then render the change on screen – and handle such transformations as the resizing or rotating of a window.
Wayland dispenses with many legacies of the X Window system, which is 25 years old – including the long disused X primitives for drawing lines and patterns, functions for handling fonts and colour tables, and network transparency. Current X Window toolkits can be ported to Wayland – a Qt port is already in development. X11 applications can be used with Wayland if the X Server acts as a Wayland client, uses the Wayland input devices and renders its root window or individual X11 windows via Wayland. Apparently, only relatively few changes are required to enable this functionality.
Wayland was started by Red Hat developer Kristian Høgsberg in 2008. Project development is now coordinated by Freedesktop.org.
No comments:
Post a Comment