Turnip is the fourth Vulkan driver in Mesa to gain support for ray tracing acceleration, after anv, radv, and lavapipe, using the Ray Tracing Unit introduced by Qualcomm on Snapdragon 8 Gen 2. This talk will go over the driver-agnostic framework added to Mesa for building Bounded Volume Hierachy (BVH) trees on the GPU, based on the radv implementation and with turnip as the first user, as well...
A deep dive into how mesh shaders work on NVIDIA hardware and what's next on NVK to fully support it.
This talk covers the process of porting the Nouveau Image Library (NIL) to Rust. It presents a practical "rewrite-it-in-Rust" strategy by exploring how Rust can coexist and interoperate with a large C codebase. Attendees will learn effective techniques for integrating Rust into existing C projects, ensuring both languages work seamlessly together. Additionally, the talk will highlight a few...
In this talk, I will go over the ongoing work with the rust KMS bindings for the kernel that I've been working on for eventual use by the nova driver. This includes many of the challenges I've been running into, what I've come up with so far, and what my future plans are for this, and a little bit of explanation on the rvkms driver.
Linux color pipeline is a prescriptive API to address hardware color management that differs from one hardware to another. Each device driver passes userspace a pipeline consisting of a chain of unique and static colorops that map to color management blocks in hardware.
This talk shares an overview of a color pipeline and the definitions of colorops for 1D curve/LUTs, 3D LUTs and matrices...
An efficient and flexible compiler backend is crucial for performance and adaptability. This presentation will take the audience through the journey of developing a new backend compiler for etnaviv, inspired by the architecture of agx and nak, and partially implemented in Rust. Leveraging the infrastructure that Mesa offers, we will delve into the motivations, challenges, and technical...
In 2023, the Raspberry Pi GPU driver team focused on enabling OpenGL 3.1 (v3d) and Vulkan 1.2 (v3dv) on the Raspberry Pi 5, which launched in October 2023.
It's been one year since the Raspberry Pi 5 hit the market. During this time, we have been working on getting Vulkan 1.3 conformance, improving subgroups support and implementing a number of additional features and performance...
Over the past year, the CI-Tron project has gotten closer to its goal of being a plug-and-play CI system, especially when it comes to compatibility with ARM/RISCV64 SBCs and Android-based devices.
In this demo, I would like to show how simple adding new test machines has become and how Gitlab projects can make use of them.
While efficient video playback has long been possible in the embedded Linux world, desktop applications have been lagging behind other platforms. In the last years, and 2023/24 specifically, various developments made it possible to let the two worlds converge, offering various advantages for both.
The talk aims to give a short overview over recent developments in various components such as...
Getting input right and meeting game expectations right is hard, especially on an OS they were not designed with in mind.
Some use access to raw HID devices - we not only have to sort out permissions but also undo fixes provided by the Linux Kernel.
Then there's Wayland with its limitations, even over XWayland. Are you trying to clip the cursor to an unusual area? Good luck!
I hope to...
Currently, validating DSI panels requires the user to have the physical panel and a valid panel driver. This talk will go over the proposed design for adding a driver that will allow users to simulate different DSI panels without requiring them to have the physical panel attached to the device.
Many notebook systems introduced in recent years are equipped with both integrated and discrete GPUs, and allow for driving displays using either GPU or both GPUs. Several newer notebook designs include dynamic display mux hardware, which enables switching between GPUs while the system is actively running and displaying content. Investigation into implementing support for dynamic mux switches...
Last XDC, we had OpenGL® ES 3.1 running on the M1. But now it's time to play with the big kids.
This XDC, we have conformant Vulkan® 1.3 on the M1 supporting the the most cursed features... Geometry shaders, tessellation, transform feedback, and more. That means it's time for... for... AAA! *hides*
Prepare ye for a harrowing talk and a magical demo.
A lot has happened in NVK in the last year. Faith will give an overview of the new features, performance improvements, and overall status of the nouveau/NVK stack. She'll also talk about OpenGL support through NVK+Zink, status of distro support, and plans for the future.
This talk will cover what's happened in the word of Panfrost in the last year. There's been a lot going on, from V10 support all the way through the kernel and mesa to passing the GLES 3.1 CTS, to further work on PanVK.
Let me tell you a story of a bug affecting larger adoption of EGL standart, which lived for more than 11 years in Mesa3D.
The journey to fix this bug involved many people, a lot of code, some CI testing, a new display extension, and many sleepless nights.
This talk aims to illustrate, what can be done with open-source drivers and CI infrastructure which would never be possible achieve...
Buffer allocation for media contents, despite being required for any framework or application dealing with image capture, processing, decoding, encoding, rendering and display, remains an area plagued by many unsolved problems. Over time improvements have been made to APIs for buffer allocation, both on the kernel side (standardization of the DRM dumb buffer API, or DMA heaps, to name a few)...
Modern GPUs are moving more functionality into firmware in order to allow for user space to submit jobs directly and gain additional performance from that.
DRM framework for rendering nodes assumes that the kernel driver is in charge all the time and job submissions are only happening in kernel context.
io_uring is a mechanism inside the kernel that allows for asynchronously queuing...
What is a cloud workstation, and what does it have to do with compositor developer tools? In this talk I’ll give an introduction to how cloud workstations in a post X11 world can be built with the help of PipeWire and libei, and how that, somehow, opened up ways to create compositor developer tools.
We talk a lot about the value of free software drivers on Linux but what about bringing those same free software drivers to other platforms? Earlier this year, Faith successfully got RADV running on Windows on top of AMD's closed-source kernel driver. In this talk, Faith will go over the basics of the WDDM2 kernel API, how she went about reverse-engineering the AMD interfaces, and talk about...
This demo will showcase concurrent writeback on the Qualcomm SM8650 MTP. We will also briefly give an introduction to the concurrent writeback feature and the current state of the patch series in the MSM DPU driver
The fd.o Code of Conduct team has put in a lot of effort in recent months into documenting our processes, guidelines for moderation and how oversight is implemented. In this talk we'll go through all that and some of the future plans we have.
This talk will discuss various on-going efforts in the etnaviv driver stack.
Last year, we introduced how to enable graphic virtio native context and GPU passthrough based on Xen hypervisor[1]. However, graphic usage is not enough for modern requirement of GPU virtualization. Because AI and compute are more and more popular recently, and the community also wants to have a way to support compute virtualization on general GPU devices.
AMD provided an open source stack...
In this Lightning talk NVIDIA attendees will cover recently shipped Wayland features and what we've learned from them. We will go over future developments and request feedback on features the community wants to see.
Device-Generated Commands are the Vulkan equivalent of DX12’s ExecuteIndirect functionality and the next step beyond indirect draws and dispatches. Some games are starting to use these APIs and some Mesa drivers have recently implemented support for related Vulkan extensions. This talk will quickly explain the general concepts behind Device-Generated Commands and will provide a rough idea of...
Rationale and use-cases for observing & receiving (some) input device actions also for non-focussed surfaces.
I want to talk about the new drivers and features being supported and what I'm planning to work on going forward.
I'll probably also talk about Shared Virtual Memory (SVM) specifically as this an important feature and quite some details to get right and wrong here and how we want to implement it inside Mesa.
This talk puts forward the following assertion: OpenGL should no longer be considered the "default" API used for compositor development, and Vulkan's design is a better match for what the modern compositor needs. This talk will cover multi-GPU challenges I've encountered during recent compositor work, explain why Vulkan's device-aware API is a good match, demonstrate some unique asynchronous...
When implementing vulkan extensions it is nice to know which games are using a specific extension. Smoke testing real world users of the extension can be a good addition to running the cts.
I have started working on a vulkan layer that tries to detect when an extension is being used. This layer can be used to populate a database of users of each individual extension.
This talk will be a...
Every year, many users and developers adopt AMD dGPU and APU devices; sometimes, they face issues that they need to know if it is a display issue. In this presentation, I want to equip users and developers with debug techniques (for AMD drivers) to help them determine if an issue is really a display problem by sharing some ways to interpret debug logs. I will also show how to narrow issues...
This lightning talk will provide a brief overview of the latest developments in the Wayland DRM Lease protocol and highlight the immediate benefits it has brought to Monado, th Open-Source OpenXR runtime.
Developers and experts in the Linux display stack have been meeting to discuss major API changes and work in the kernel and user space that support new features and technologies. This meeting will bring us together once again to share outcomes and development status-update on topics discussed since the last Linux Display Next hackfest[1][2]. This is an opportunity to unblock developments,...
Buffer allocation for media contents, despite being required for any framework or application dealing with image capture, processing, decoding, encoding, rendering and display, remains an area plagued by many unsolved problems. Over time improvements have been made to APIs for buffer allocation, both on the kernel side (standardization of the DRM dumb buffer API, or DMA heaps, to name a few)...
A workshop to discuss Wayland development, including protocols, governance, WSI, etc.
Developers and experts in the Linux display stack have been meeting to discuss major API changes and work in the kernel and user space that support new features and technologies. This meeting will bring us together once again to share outcomes and development status-update on topics discussed since the last Linux Display Next hackfest[1][2]. This is an opportunity to unblock developments,...
Friday Opening Session
The Linux graphics stack is amazing, but it presents some difficulties for downstream distributions. Many of these are related to security, as downstream distros want to know when there is a vulnerability that affects them so they can prioritize fixes. A better security process for open source graphics, including both kernel (drm) and userspace (mesa), would be a significant help here. ...
Thursday Opening Session
Buffer allocation for media contents, despite being required for any framework or application dealing with image capture, processing, decoding, encoding, rendering and display, remains an area plagued by many unsolved problems. Over time improvements have been made to APIs for buffer allocation, both on the kernel side (standardization of the DRM dumb buffer API, or DMA heaps, to name a few)...
A workshop to discuss Wayland development, including protocols, governance, WSI, etc.
A workshop to discuss Wayland development, including protocols, governance, WSI, etc.