Graphics in GNOME and KDE Itinerary Report
-
Michel Dänzer: Ensuring steady frame rates with GPU-intensive clients
On Wayland, a surface is the basic primitive used to build what users refer to as a “window”. Wayland clients define their contents by attaching buffers to surfaces. This turns the contents of the buffer into the current surface contents. Wayland clients are free to attach a new buffer to a surface anytime. When a Wayland compositor like Mutter starts working on a new output frame, it picks the latest available buffer for each visible surface. This is called “mailbox semantics” (the buffers are metaphorical letters falling into a mailbox, the visible “letter” is the last one on top).
Problem
With hardware accelerated drawing, a client normally attaches a new buffer to a surface right after it finished calling OpenGL/Vulkan/
APIs to define the contents of the buffer. When the compositor processes the protocol requests attaching the buffer to the surface, the GPU generally hasn’t finished drawing to the buffer yet. Since the contents of the compositor’s output frame depend on the contents of each visible surface, the former cannot complete before the GPU finishes drawing to each of the picked surface buffers (and subsequently to the compositor’s own output buffer, in the general case).
-
February/March in KDE Itinerary
Since the last last summary post two month ago a lot has happened around KDE Itinerary again, ranging from supporting more travel document and ticket types to better guidance to the right spot on a train station platform.
New Features
Platform section highlightingThe train station map can now also highlight platform sections, next to the platform itself. Depending on the level of detail of the available information in the OSM map data, the train schedule, seat reservation and the vehicle layout we can use that to much more precisely indicate where on the platform you need to go.