Graphics

libliftoff status update

Taking advantage of KMS planes
K.4.401
Simon Ser
This talk will explain some basics about KMS, introduce libliftoff, describe the library's current status and outline the next steps.
Many 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 Wayland compositors and the X server usually take advantage of the cursor plane (and sometimes are able to use the primary plane to directly scan out a client's buffer), overlay planes are under-used. The exception is Weston, which tries to use overlay planes. Other compositors ignore them. 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. During the XDC 2019 conference we discussed about libliftoff, an attempt at designing such a library. Feedback was positive from both compositor writers and driver developers. We discussed about the API, the potential pitfalls and future goals. The scope of the library has been expanded: libliftoff could also provide some feedback to clients so that they allocate buffers suitable for hardware planes. Additionally, because the KMS API makes it tricky to find the best way to make use of hardware planes, libliftoff could grow some vendor-specific plugins.

Additional information

Type devroom

More sessions

2/1/20
Graphics
Erik Faye-Lund
K.4.401
A short update on the state of Zink, and OpenGL implementation on top of vulkan, now that it's upstream in Mesa.
2/1/20
Graphics
Erik Faye-Lund
K.4.401
mesa3d.org is stuck on web 1.0 technology, but let's see what we can do about it.
2/1/20
Graphics
Karol Herbst
K.4.401
I will talk about: * features * ongoing work and necessary reworks * big and important technical issues * overall state of the Nouveau project This is a replacement for Manasi Navare's "Enabling 8K displays" talk, which got cancelled as Intel rejected her travel request again.
2/1/20
Graphics
Jakob Bornecrantz
K.4.401
In this talk will cover Monado and Khronos' OpenXR standard, and give an overview about the current state of open source VR and what lies ahead. Also go into some details of how tracking is done inside of Monado and show of the current state.
2/1/20
Graphics
Nicolas Caramelli
K.4.401
Although KMS/DRM can replace the Linux Framebuffer, there are a number of programs and libraries that can be built on top of the Linux Framebuffer (without X11 or Wayland dependencies) and that might still be worth considering. The Linux Framebuffer allows direct access to pixels: we will illustrate it with various rendering tools (Fbpad, Fbi, NetSurf, MPlayer, ...), but also with drawing libraries such as Cairo or Evas, and multimedia frameworks like FFmpeg or GStreamer. The Mesa 3D project ...
2/1/20
Graphics
Christian König
K.4.401
TTM is the memory manager in the Linux kernel used by graphics drivers with dedicated VRAM. It was added to the mainline kernel in June 2009 and has seen numerous changes and we are now more or less running into a dead-end with it's design. This talk outlines TTMs current functionality, what design problems we ran into and what can we do to fix this.
2/1/20
Graphics
Ian Romanick
K.4.401
Automatic, pattern-based code generation for Mesa's compiler infrastructure has been a long standing dream. Nearly a decade ago experiments were conducted using systems like BURS and lburg. Each of these attempts encountered various insurmountable road blocks. In the intervening years, both software and GPU architectures have changed significantly. These changes have enabled a code-generator generator to be a reality. The design and implementation of one system will be presented. In addition to ...