2-4 October 2019
Concordia University Conference Centre
America/New_York timezone

Let's make KMS planes useful for compositors

2 Oct 2019, 12:40
Concordia University Conference Centre

Concordia University Conference Centre

1450 Guy St. Montreal, Quebec, Canada H3H 0A1
Workshop Discussion Topic Workshop


Some DRM drivers have been exposing overlay planes for quite some time. Overlay planes can improve battery consumption by scanning out directly client buffers, skipping composition. While compositors usually take advantage of the cursor plane (and sometimes are able to use the primary plane to scan out directly a client's buffer), overlay planes are under-used.

The exception is Weston, which tries to use overlay planes (more work is underway, see https://gitlab.freedesktop.org/wayland/weston/issues/275). Other compositors ignore overlay planes.

The main challenge is to figure out how to assign buffers coming from clients to hardware planes. The only API exposed by KMS is atomic test commits, so user-space needs to try different combinations.

It would be nice to have a common library shared between compositors to de-duplicate the work. The library I have in mind offers an API similar to Android's hwcomposer: you give it a scenegraph, it figures out how to allocate planes.

I've started an experiment to figure out whether such a library would be viable: https://github.com/emersion/libliftoff

Getting feedback from compositor writers and DRM experts would be useful to push the project forward. Come and help making planes useful for compositors!

GSoC, EVoC or Outreachy No
Code of Conduct Yes

Primary author

Simon Ser (sway/wlroots)

Presentation Materials

There are no materials yet.
Platinum sponsor

Gold sponsors

Silver sponsors

Bronze sponsors