No KMS? No Mesa? Run Wayland Off A Linux Framebuffer!

Posted by Michael Larabel on November 21, 2010

Besides needing to get the various tool-kits and other libraries ported to run atop the Wayland Display Server, another requirement limiting the adoption of this X11 Server alternative so far has been the specialized graphics requirements. From the beginning, Wayland was designed for GPU drivers that support kernel mode-setting (KMS), Graphics Execution Manager (GEM) buffers, and OpenGL ES, among some other smaller requirements. Originally only the Intel Linux driver would work, but since then the various branches needed to support Wayland have been merged to their mainline code-bases and it's possible to run Wayland with the open-source ATI Radeon and Nouveau drivers too. But those using the proprietary ATI or NVIDIA drivers have not been able to run Wayland nor those people utilizing the VESA driver or any of the other obscure graphics drivers that lack any of the needed GPU driver capabilities. This though has now changed as it's been proved possible that Wayland in fact can run off a Linux frame-buffer.

Two patches have been published that first change around Wayland to allow it to be run off a Linux frame-buffer and then the second patch adds a Wayland FB compositor. These patches haven't been called to be pushed into Wayland yet, nor does it work completely yet, but it means that DRI / Mesa and the other graphics requirements can be bypassed. So far this Wayland frame-buffer setup has been tested with the NouveauFB and uvesafb drivers. It's quite interesting, but at the same time this display server with integrated compositor had consumed more than 8GB of virtual memory just to run Wayland with a terminal application. Clearly if this is to be a viable solution for those wanting to run Wayland but lack the proper graphics hardware or driver capabilities, there's a lot of work ahead.

The Wayland frame-buffer compositor measures in at just over 600 lines of code while it's a 1,000+ line patch against the core part of Wayland to make it handle running without a DRM compositor and all of these other graphics bits. The Linux frame-buffer has traditionally been used for just showing text on a console without relying upon an X.Org Server and its drivers or anything else vias the Linux kernel. Besides the console, GTK+, Qt Extended, and other libraries already support touching the frame-buffer directly, where it's in use on embedded/mobile devices. This Linux frame-buffer support though is generally CPU-based and the frame-buffer can be mapped in the system's main memory, but there is DirectFB to provide hardware acceleration over the kernel's frame-buffer.

It will be interesting to see what happens with this frame-buffer support for Wayland and whether it ends up getting picked up. It would greatly expand the number of systems where Wayland can be used, including on the binary blobs where NVIDIA has no immediate plans to properly support Wayland. This may also help Canonical in their Wayland adoption plans for the Ubuntu Unity desktop.

Information (and the patches) on this Wayland bring-up on the Linux frame-buffer can be found on the Wayland mailing list.

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. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. A New X.Org-Free Wayland LiveCD Released
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. Is there anyway to improve the performance of the...
  4. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  5. Steam: No used games...
  6. New Intel X.Org Driver Supports All Of Haswell
  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