1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Wayland: A New X Server For Linux

Michael Larabel

Published on 3 November 2008
Written by Michael Larabel
Page 1 of 1 - 30 Comments

It's no secret that much of the code-base that makes up the modern-day X.Org Server is old and in some places bloated. The X.Org Server continues to evolve and has received a number of major additions in recent times, but wouldn't a clean and lighter server that is designed around today's needs be ideal? Red Hat's Kristian Høgsberg has started a new project, which is currently known as Wayland, and is just that: a new lightweight X Server. Wayland isn't just a rewrite of the current X Server, but instead it's a small server that is designed around some of the latest graphics technologies such as kernel mode-setting and the Graphics Execution Manager. Wayland also has its own built-in compositing manager.

The Wayland display server is very simple: everything is direct rendered and composited. There is no complicated APIs or objects to deal with like there is now with the X.Org Server. In an email to Phoronix, Kristian Høgsberg, creator of Wayland and also responsible for much of the DRI2 work in the current X.Org Server, describes this project as "a new display server that implements just the tiny fraction of X features that we actually use when running a composited desktop. Which is essentially buffer management (close to what DRI2 does in X.org), input handling and hooks to allow a compositor to composite the desktop. All rendering is done client side as direct rendering (how OpenGL works today, but pixman and thus cairo, for example, could learn how to do direct rendering too), and modesetting and other hardware setup is done in the kernel. This takes a lot of complexity out of the server."

While still early on in development, Wayland is quite small in size. Right now the server and compositor amount to a little more than 3,200 lines of C code and in just a handful of files. Wayland relies upon the mode-setting being within the kernel and expects some of the other functionality to be provided by shared libraries. Wayland provides a compositor, but a custom compositor can be provided atop of this lightweight server. Device input support was only added to Wayland yesterday afternoon and it's still very rudimentary. Many other features are also lacking compared to X Server 1.5, but the project is very young.

Kristian had also stated:

"At the same time, I'm trying to fix some of the problems with composite that we still have in the X server; input redirection, window resizing, syncing to vblank, throttling of animations and atomic, consistent redrawing. X specifies what the end results of a series of rendering requests must look like, but how the display looks while it's in progress is not discussed. GTK+ and Qt works around this to some extent by using double buffering, but we still see lag between window decorations and window contents while resizing etc. The wayland tag line is "every frame is perfect", by which I mean that applications will be able to control the rendering enough that we'll never see tearing, lag, redrawing or flicker."

What could Wayland be used for? Wayland may end up being a server used by GDM, as the screensaver server, for a safe-mode display server, or for graphical text consoles, among other possible uses. Wayland could also be a great fit for embedded systems / appliance applications where a custom compositor would sit atop Wayland to provide the user-interface and the Wayland server would then bind it to the application.

"As a first step this may be a graphics core on which we can run the GDM X server, the user session X server and maybe a screen saver X server. This will allow us to implement smooth transitions between X servers, cross fading or spinning the cube. As a next step, maybe the screen saver could then be ported to be a native wayland applications, then GDM (probably need GTK+ ported, not sure this is feasible), and then the session shell (panel, file manager etc) could be ported at which point the user session is a native applications. We'd need a rootless X server for running X applications under this environment. At this point X is only one remote display protocol, we could run RDP applications side by side with X applications under a wayland session."

Though before you think this will replace the current X.Org Server, Kristian explains "at this point wayland is just a prototype/playground for some ideas I've been toying with." Granted, it was Linus Torvalds who started the Linux kernel as a hobby and never expected it to support anything beyond early AT hard disks. Should Wayland survive, which we hope it will, this lightweight display server created by Kristian Høgsberg could end up serving well for some purposes and is designed around the latest display technologies in X.Org. It will likely be a while before Wayland is prepared to enter the spotlight, but we will keep you posted. For those interested in checking out the code that currently makes up Wayland, its git repository is housed at FreeDesktop.org.

Needed for Wayland is kernel mode-setting and best supporting that right now is ATI and Intel hardware. Fedora 9 started out supporting KMS on Intel hardware (A Preview of Kernel-based Mode-Setting), but due to the invasive changes that have been made to the driver recently, its support has regressed a bit. In Fedora 10 the optimal experience is with ATI R400 and R500 graphics cards. For those with NVIDIA hardware looking to use kernel mode-setting, continuing to evolve is the reverse-engineered Nouveau driver.

Also encompassing kernel-based mode-setting and other recent graphics innovations is Plymouth, another Red Hat project. Plymouth is a replacement for Red Hat Graphical Boot (RHGB) and more information (along with demo videos) is available in A Closer Look At Red Hat's Plymouth.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. Linux Benchmarks Of Intel's Atom Z3735F On The Compute Stick
  2. Fedora's Security Team Continues Closing Old Vulnerabilities
  3. HAMMER2 File-System Now Uses LZ4 Compression By Default
  4. HiSense Chromebook Benchmarks When Running Ubuntu Linux
  5. Mandriva Linux Was Allegedly Brought Down By Employee Lawsuits
  6. GNOME 3.17.2 Is Released As The Latest Look Towards GNOME 3.18
  7. Phoronix Turns 11 Years Old Next Week: How Should We Celebrate?
  8. Ubuntu Community Council Reaffirms Its Decision Against Kubuntu's Leader
  9. Future Plans For Changing Fedora's Installer
  10. Confusion Mounts Over Wayland's Actual License
Latest Articles & Reviews
  1. Radeon OpenGL Benchmarks On Fedora 22
  2. Btrfs RAID 0/1/5/6/10 Five-Disk Benchmarks On Linux 4.1
  3. Opening The Gates To Our Daily Open-Source Linux Benchmark Results
  4. The Latest Features For Linux Performance Management + Benchmark Monitoring
Most Viewed News This Week
  1. NVIDIA's Proprietary Driver Is Moving Closer With Kernel Mode-Setting
  2. Features Added To Mesa 10.6 For Open-Source GPU Drivers
  3. Friction Building Around An Ubuntu Community Council Decision
  4. Ubuntu's LXD vs. KVM For The Linux Cloud
  5. The Latest Linux Kernel Git Code Fixes The EXT4 RAID0 Corruption Problem
  6. Russia's Baikal Chips End Up Going For A MIPS CPU
  7. The CompuLab Fitlet Is A Neat Little Linux PC With AMD SoC
  8. Linux 4.1-rc5 Kernel Released