HWComposer in Weston - need for a pluggable composition accelerator


One Line Summary

Accelerating composition in Weston through dedicated HWAs


When Wayland first took shape, the focus was on the protocol definition rather than the server/compositor aspect. Weston was intended to be a reference implementation for Wayland server.

In the world of embedded systems, especially in Automotive, Wayland has quickly gained traction as the next generation composition mechanism. OEMs who were on a simple graphics stack comprising of OpenGLES + FBDev are migrating to Wayland/Weston on account of it being lightweight, skipping X11 entirely in the process. These organizations are looking at using Weston as-is. Weston has become the defacto compositor for Automotive Linux and not just a reference implementation.

The Weston composition consists of two pieces (I am not considering the other aspects such as seat management, protocol handling, etc).
1. Compositor
2. Display interface

The compositor could use a combination of GPU / 2D GPU / NEON to accelerate the composition. It could even potentially use display overlay planes if supported by the HW.

The Display interface is well defined. In most case, this will use DRM mode setting or FBDev to display something on the glass.

The current Weston implementation does not differentiate between these two pieces. For example, the compositor-drm.c mainly deals with the display interface and calls upon GL / Pixman renderer for actual composition. There is no clean way to introduce a new HWA such as a blitter.

How do we go about this? Android has a ready made solution whose concepts can be applied to Weston. The HWComposer composition policies will be a useful fit to compartmentalize the composition problem.

Let’s talk more on the approach and challenges involved.


android, weston, composition, hw acceleration

Presentation Materials



  • Anand Balagopalakrishnan

    Texas Instruments


    Anand Balagopalakrishnan is a Systems Architect at Texas Instruments responsible for delivering SGX graphics driver on TI SoCs. He likes fiddling with the complete graphics stack from Qt5 to GPU driver. He was elected as ACM Senior member in 2010.