X/Wayland Is Coming Along Nicely, But Work Is Left

Posted by Michael Larabel on April 04, 2012

Keith Packard spoke on Wednesday of the 2012 Linux Foundation Collaboration concerning Wayland and its backwards compatibility support for X applications.

Here's my notes from Keith's talk concerning X/Wayland. Nothing from the presentation was particularly new or surprising, but largely summarized information from past mailing list discussions (covered in earlier Phoronix Wayland articles) and past conferences like X@FOSDEM 2012.

- As talked about in previous Phoronix articles, running X applications on Wayland should actually yield performance improvements than X running on the bare graphics card. There should be a net reduction in the number of context switches when running through X/Wayland and as a result better power consumption too.

- While X/Wayland is coming along well, still to be written is a Wayland-specific X window manager as an external application. This will be responsible for translating between ICCCM/EWMH and Wayland and provide the client-side decorations.

- The Wayland changes inside the X Server include around 50 patches to automatically redirect top-level windows, disable input device detection, and to create virtual keyboard/mouse devices with those input devices being sent commands from Wayland's input interpretation.

- The X video driver changes (xf86-video-* driver) changes include disabling native mode-setting, getting mode information from Wayland, ugly hacks for window resize/move (replaced by the yet-to-be-written X/Wayland window manager), and to not acquire the DRM master. At the moment, the xf86-video-intel driver branch is available with this X/Wayland support, but the other popular drivers still need to be updated (Nouveau and Radeon, in particular) with these less-invasive changes.

- Wayland cut-and-paste / drag-and-drop is in good shape with MIME-labeled objects and client-to-client direct transfers.

- When an X application needs to run under Wayland, the Weston compositor will be listening on the X socket, waiting for an incoming X connection, then launch the X Server while passing clients and listen file descriptors. When the X application is done, the xorg-server will be shutdown and Weston will go back waiting for new X connections. Keith would rather have systemd do this work, but Lennart said systemd currently can't start X, so they're using this small hack instead.

- For Wayland proxy support, there's plans for a Wayland proxy that can take the images (buffers) from the local client, pack the data (potentially with compression), and deliver it. This proxy could talk directly to the Wayland server or to another Wayland proxy server. This yet-to-be-written feature could potentially provide acceleration with local GPUs, eliminate most round-trips compared to a proxied X, and use lossy compression. While this has been a debated topic about networked Wayland support, Keith believes this yet-to-come support could provide for better remote application performance with Wayland than X today and is "plausible and pretty usable."

- Remaining Wayland issues including Wayland input support still being in flux (keyboard support, touch-screens, touch-pads, etc), remote Wayland application support, and bringing the X Input 2.2 enhancements to Wayland.

- As someone asked... Wayland will not do any audio support. "Go talk to PulseAudio!" (Reminds me of the earlier X Audio proposal.)

I also recorded an iPhone video of Keith's hour-long video presentation, which will be uploaded later this week and then noted in a later Phoronix article. Now go see what Rebecca Black has to do with Wayland.

While not covered during this presentation, I also learned that a base GNOME Shell 3.x desktop is now running under Wayland by the Intel OTC developers out of London (shared yesterday) who had previously brought up Tizen's Dawati under Wayland. Additionally, there's unofficial talk of NVIDIA looking towards Wayland support for their Tegra SoCs (this morning), which means the NVIDIA Tegra 3 Linux driver having a proper DRM/KMS implementation.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. anyone have vaapi working reliably on sandy...
  2. Chrome 28 To Offer More Speed Improvements
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. New Intel X.Org Driver Supports All Of Haswell
  5. Wayland's Weston Gets Output Scaling Support
  6. Steam: No used games...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite