The GTK team has been delving into the world of linux kernel graphics APIs, specifically dmabufs. A dmabuf is a memory buffer in the kernel space that is identified by a file descriptor. The goal is to avoid copying large amounts of pixel data by passing a file descriptor between kernel subsystems. However, the reality is more complex due to different types of memory and multiple buffers. Dmabufs are useful for optimizing frequently changing content in applications like video players, virtual machines, streaming, screencasting, and games. By using dmabufs, it may be possible to reduce power consumption on mobile systems by avoiding GPU usage. GTK has already been utilizing dmabufs since version 4.0 and will further enhance its capabilities in the upcoming 4.14 release. A new GtkGraphicsOffload widget will allow developers to offload content by attaching it to a subsurface, providing better performance and power efficiency. The offload feature currently works only with Wayland on Linux. Limitations include the need for content to be in dmabufs and certain constraints on application behavior. Developers can refer to the GtkGraphicsOffload documentation for more information. The new capabilities for media playback in GTK 4.14 can be tested
https://blog.gtk.org/2023/11/15/introducing-graphics-offload/