A Software-Based Pixman Renderer For Wayland's Weston

Posted by Michael Larabel on January 06, 2013

There hasn't been too many new Wayland/Weston developments to report on recently, but being published this weekend for review and comments is a new Pixman renderer for Weston. This Pixman renderer allows for pure software rendering with the Weston reference compositor and adds MIT-SHM support to the X11 back-end.

Vasily Khoruzhick published the set of four patches allowing for this Pixman-based renderer. Pixman is the pixel manipulation library that can handle image compositing, trapezoid rasterization, and other low-level features. The MIT-licensed library is used by the X.Org Server, the Cairo graphics library, and elsewhere. Pixman is software-based but does have various CPU optimizations and other performance work to try to work as fast and efficiently as possible.

MIT-SHM is the Shared Memory Extension for the X Window System for exchanging image data between the server and client as shared memory. This shared memory extension allows for greater performance rather than always pushing the data over the wire to the X.Org Server. With this support, shared memory surfaces will be used with the Pixman renderer rather than hitting on EGL.

The Pixman renderer for Weston amounts to just less than 400 lines of new code by leveraging this existing and well-tuned library.

The set of four RFC patches for this Pixman renderer and MIT-SHM support for the Wayland Weston compositor are currently sitting on the wayland-devel 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.
  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