When Vulkan 1.0 first came out a decade ago, writing Vulkan drivers was fun. You just mapped API bits to HW bits and off you go! In 2026, with Vulkan 1.4 and hundreds of extensions, it's not so simple. There is legacy cruft we all have to carry. There are 3 versions of some enums which have to be remapped by someone. There are duplicate entrypoints and queries everywhere.
In the OpenGL...
In the Linux DRM subsystem, an XR device display is currently exposed as a single, aggregated display. However, treating an XR device like a traditional flat monitor completely breaks the human experience.
Physically, an XR device consists of two distinct displays (one for each eye). Simply pushing standard 2D desktop frames to this aggregated screen results in an unviewable, disorienting...
Display walls, arrays of displays assembled to look like one large screen, have historically been driven by an X server and are typically supported via display technology provided by a vendor's X driver. As the ecosystem migrates to Wayland this architecture is no longer available and a new design must take shape. For this reason, NVIDIA now recommends an explicit Vulkan VK_KHR_display design...
The Raspberry Pi 5's Broadcom V3D 7.1 GPU was designed for graphics
workloads, but the wave of on-device LLM frameworks now directs pure
compute workloads at the V3DV Vulkan driver. This talk reports what
we learned extending V3DV for these workloads since early 2026.
ML inference stresses the driver in ways graphics never does: thousands
of tiny buffer fills and copies per token, heavy...
Nocl is a gallium driver for use in rusticl to have an Open-Source OpenCL implementation on top of CUDA.
People keep asking about this little side project of mine, so I want to talk about what's the status of the project, what are the difficulties working on it.
I'll go into the overall structure of the project, features there are more interesting to implement, what's still missing...
Intel’s GPUs feature an unusual explicit SIMD instruction set presenting challenges for just-in-time shader compilers. Naïvely modelling Intel’s SIMD architecture artificially increases register pressure and requires expensive register allocation algorithms based on graph colouring. To improve code quality while decreasing compile time, our compiler “Jay” eschews the hardware’s native SIMD in...
The performance of the Panfrost driver for Arm's Mali GPUs has improved significantly over the past year, driven by increasing industry adoption. This talk will first cover the evolution of tracing tools in Mesa (Perfetto) and their integration into Panfrost and then present the resulting optimizations (blits, draw calls, Transparent Huge Pages, Transaction Elimination, etc).
Almost 6 years after the release VK_KHR_acceleration_structure, ray tracing is still an area in graphics with really bad tooling. Gamma tries to solve this by providing a framework for writing driver specific visualizers. Konstantin will showcase the capabilities using RADV as an example, and how support for other drivers can be added.
Supporting a major web browser on the Steam Deck brings an exciting challenge because of the unique dual-compositor architecture: Gamescope for game mode and KWin for desktop mode.
This talk covers our ongoing efforts to transition Firefox to use Wayland natively under Gamescope with wl_subcompositor, aiming to surpass the limitations of the current X11 implementation. We will share our...
Since the introduction of the first Samsung DSI panel, the Linux DRM panel
API has been a crucial piece of software for enabling displays across
diverse architectures, but it has not evolved alongside modern graphics stacks.
Currently, the API lacks atomic DRM API support and the ability to adapt
power setups during mode changes.
Furthermore, it fails to support advanced Display Driver IC...
A small group of people has been at work reversing the GPU in the M3 SoC and in this talk we will talk about the progress we've made so far.
We will talk about how the HW differs from previous generations and what is required to port the driver.
Finally, we will discuss the status of the porting work for the userspace and kernel drivers.
Problem Statement
Today, when an atomic commit fails, userspace typically receives only a generic error such as -EINVAL, with no indication of the underlying cause. As a result, compositors cannot determine why the commit failed or apply appropriate corrective actions. A common example is a bandwidth-related failure, where the requested bpc exceeds the available link bandwidth. Since the...
Annual report on the status of Panthor and what has been accomplished over the year. We also want to update the community on plans for the next year and the list of features we are going to work on.
The compiler the panfrost drivers currently use for Bifrost and later hardware is starting to show its age. It was originally developed as a Bifrost compiler and Valhall support was bolted on as an afterthought. This summer, a few of us at Arm and Collabora have been building a brand new compiler for Valhall and later hardware. In this presentation, we'll talk about the new compiler, the...
Earlier this year, we substantially reworked the render pass abstraction used by the PanVK driver. Previously, it was based on what Alyssa had written for the OpenGL driver which was designed around an immediate-mode API. With Vulkan, we have more information and can do better. In this talk, Faith will talk about the over-all design and philosphy of the new abstraction and how it's helped us...
Eye-tracked foveated rendering is a technique for accelerating rendering of virtual reality content by tracking where the user's eyes are looking and rendering the parts of the screen near the user's gaze at a higher resolution than everything else. As part of efforts for the Steam Frame, we reimplemented existing techniques for foveated rendering on Qualcomm Adreno GPUs in the Turnip...
Since the last XDC, we have enabled adreno gen8 (a830, a840, x2-90, etc) in mesa (gl/cl/vk) and upstream kernel, in addition to continuing to backfill support for a6xx and a7xx devices.. with more to come. And we continue to shift-left in terms of enabling new hw prior toshipping, starting with x2-90.
In addition, new features have been added (PERFCNTR_CONFIG, rusticl enabled by default,...
Turnip is one of Mesa's few drivers that has support for multiple kernel drivers, including the upstream MSM kernel driver and downstream KGSL kernel driver. This gives it the interesting ability to be able to run on devices that run Linux as well as unmodified android phones, which are typically pretty locked down.
This talk will be a quick crash course for anyone interested in getting...
The devs behind Turnip have been hard at work improving the driver. You may have heard that Turnip is being used for some pretty serious™️ gaming now. To support that we've been working on adding extensions, improving performance, and adding support for new devices.
In this presentation we are going to give you an update on the current state of Turnip, and give a little more details on some...
KosmicKrisp status update on features, performance and developer tips and tricks.
Over the past year the PowerVR driver has made significant progress, from passing Vulkan 1.2 conformance to enabling OpenGL (ES) support via Zink, Wayland support, Mesa CI integration, improved developer tooling and adding support for additional platforms.
This talk will cover the advances that have been made since last XDC, discuss the current state of the PowerVR driver and outline the...
Shared Virtual Memory (SVM) enables a unified virtual address space for heterogeneous computing, but existing implementations remain outside the upstream DRM framework and face scalability challenges. In particular, KFD SVM relies on mmap read/write locks for synchronization, which tightly couples driver-level behavior with the system memory management and increases overall design...
At XDC 2025 I promised that old AMD GPUs would work great on Linux, starting from GCN 1 up to GCN 4. In this talk, I'd like to present the progress on that work and what I learned from it.
In the current economic situation of our world, people may have to use GPUs for longer, and replace them less often. And when an old GPU is replaced, it doesn’t disappear, it goes to somebody who upgrades...
What's new with everyone's favorite open source Vulkan driver for Nvidia GPUs? A bunch of stuff! Learn more about the latest in nvk technology -- compression, memory copies, mesh shaders, and more!
The Tyr project aims to port the existing DRM GPU kernel driver, Panthor, to Rust. Upstream Tyr is still very much a work-in-progress: it will probe as a platform device driver and can read and report on its GPU registers, but the rest of Tyr remains in a state of flux. Moving Tyr upstream has required us to test, adapt to, and contribute to the larger Rust ecosystem that is developing around...
Mesa CI has one of the most complex CI pipelines. While this is great for test coverage, this also brings challenges in infrastructure, usability, and sustainability. In this second edition of the talk, we will present what we think works, what we've done over the past year, what still needs improvement, and what is currently on our roadmap.
We've submitted a workshop proposal to discuss...
A recap of this year's Display Next Hackfest, held in Nice right after Embedded Recipes. Topics ranged from finally getting backlight control working through KMS, to AMD FreeSync Premium Pro (aka Source-Based Tone Mapping) landing support on DP and HDMI, to DisplayID gradually taking over from EDID. We also dug into the perennial pain of frame timing on high-refresh-rate displays, merged a new...
HDCP (High Bandwidth Digital Content Protection) failures during real-world playback are difficult to reproduce and harder to triage. When protected content breaks on a user’s machine, there is rarely a quick way to tell whether the fault lies in the kernel driver or in user space or in the display link itself. Such failures are often intermittent, they surface only after a session has been...
State of the X.Org Foundation
















