As mentioned earlier on Phoronix, LinuxTag 2011 took place this past weekend in Berlin. One of the few talks I was able to make due to the Ubuntu Developer Summit in Budapest colliding with the event was the Wayland talk by SUSE's Egbert Eich. The focus of this talk was whether Wayland is on the way to becoming a new desktop standard.
Egbert Eich, a veteran X.Org developer and RadeonHD driver developer for Novell/SUSE, at LinuxTag 2011 [with an Ubuntu pickle].
This was an hour-long talk on Saturday at LinuxTag. Egbert Eich was kind enough to share these slides with the Phoronix readers. I also have a video recording I have made that still needs to be uploaded of the talk. For those that have no idea about the Wayland Display Server, you certainly need to be reading Phoronix much more, but it basically comes down to being a next-generation replacement to the traditional X11/X.Org Server that within a year or two should be viable on the Linux desktop.
Before even mentioning Wayland, Egbert first extensively covered the history of X11. The X11 protocol has been around since the 1980's and over the past three decades has been extended to provide modern functionality via extensions like RandR (Resize and Rotate with more recently supporting monitor hot-plugging), DRI/DRI2 (Direct Rendering Infrastructure for 3D direct rendering to graphics cards), Render, Composite, Damage, and XFixes. Historically, X.Org drivers banged the graphics processors directly to handle mode-setting and controlling 2D rendering, up until the advent of Linux kernel mode-setting and modern graphics hardware needing to take advantage of DRM (Direct Rendering Manager) for acceleration, etc. Most everything was fed through the X Server, but today these ancient code-paths are little used.
DRI is heavily used these days for drawing directly to windows and providing hardware acceleration. Fortunately, most graphics processors these days have open-source drivers with DRI2 support. The proprietary graphics drivers leverage their own architectures. Beyond DRM and KMS being in the Linux kernel, the memory management also moved into the Linux kernel (i.e. GEM and TTM) as well as lots of the input work via evdev. The external Pixman library now largely provides the generic rendering support previously done via the X.Org Server. Modern Linux desktop implementations do not rely upon ancient X.Org calls anymore but handle the drawing themselves and then simply transfer the pixmaps to the X.Org Server. Most desktops also now used compositing window managers like Compiz, KWin, or Mutter where further manipulation takes place outside of the X Server.
With the compositing window managers lacking integration with the X.Org Server, some round-trip operations can lead to some minor delays and inefficiencies. Under Wayland's architecture, the compositor is key and heavily integrated into this new design. With Wayland, the "clients" connect to Wayland, render into memory buffers, and communicate via requests. The Wayland Display Server is the compositor and window manager, implement policy, composes windows onto the screen, handles input, and communicates to the client through events.