Wayland Can Now Use Gallium3D Software Rendering

Posted by Michael Larabel on April 25, 2011

Besides the obvious requirements and demands of needing to design a display server that can fully replace the needs of the long-standing X Server, and making all the tool-kits and major software support running natively on Wayland, another inhibitor to Wayland's adoption has been its graphics driver requirements. In particular, Wayland requires kernel mode-setting, EGL (in place of a DRI2 requirement), in-kernel memory management (GEM), and 3D acceleration.

The major open-source drivers (Intel, Radeon, and Nouveau) in their mainline code-bases now support running Wayland directly, but the proprietary AMD Catalyst and NVIDIA drivers still lack the necessary support and they will likely continue without Wayland support for the near future. There's also many obscure graphics hardware and drivers out there that aren't yet capable of running Wayland: VIA, XGI, S3, Matrox, PowerVR, etc.

For the obscure hardware out there unlikely to receive Wayland support or in cases where the user's waiting on hardware enablement (e.g. new graphics processors not yet supported by the open-source drivers), Wayland is now capable of using the software rendering found in Mesa's Gallium3D architecture.

Benjamin Franzke has written to the Wayland mailing list today about Software Rendering. Support to Mesa and Wayland have been added for client-side software rendering on Gallium3D's Softpipe driver.

Even if you have hardware acceleration, you can opt to use software acceleration by setting the EGL_SOFTWARE, EGL_DRIVER, and EGL_PLATFORM environmental variables for the Wayland client. This is also capable of running the X11 compositor for Wayland with software rendering.

Wayland has also moved the buffer management into EGL so that DRI2 is no longer a hard requirement for the driver. As part of this work to bring Wayland up on software rendering, Ben added a Wayland software shared memory winsys to Gallium3D and cleaned up the EGL state tracker for Wayland.

Ben is also the developer that's been exploring OpenWF support -- the low-level Khronos API for composited windowing systems -- in Wayland as an alternative to (or in replace of) using Linux KMS APIs directly.

Right now this is using the Gallium3D Softpipe driver, but without too many problems it should be possible to get it running with the LLVMpipe software driver. LLVMpipe runs significantly faster than Softpipe as it takes advantage of the Low-Level Virtual Machine (LLVM) and can take full advantage of modern processor features.

Along the same lines, last year it became possible to run Wayland off a Linux frame-buffer for those without kernel mode-setting support.

So in theory if you have a very fast processor, lots of system memory, and some obscure graphics processor or are dedicated to unsupported proprietary drivers, it's possible to run Wayland using software rendering.

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. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. NVIDIA Brings Their Linux Driver To ARM
  2. D Language Still Showing Promise, Advancements
  3. Planetary Annihilation Released For Linux Gamers
  4. Gentoo Starts Work On KDE-Wayland Support
  5. NVIDIA To License Its Kepler GPU Technology
  6. KDE's KWin Made Lots Of Progress In 4.11
  7. Ubuntu Announces Carrier Advisory Group
  8. Qt 5.1 Release Candidate 1 Has Arrived
  9. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  10. Subversion 1.8 Presents New Features
  11. LLVM 3.3 Officially Released
Latest Forum Talk
  1. Gentoo Starts Work On KDE-Wayland Support
  2. Planetary Annihilation Released For Linux Gamers
  3. Planetary Annihilation Plans To Come To Linux
  4. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  5. D Language Still Showing Promise, Advancements
  6. NVIDIA To License Its Kepler GPU Technology
  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