Last year we presented our on-going work to bring Vulkan support to the
Raspberry Pi 4 platform. This talk is intended to provide a progress update
after a year of additional development, discussing main priorities and
achievements during this period as well as future development plans.
Lima is an open source graphics driver which supports Mali Utgard (Mali-4xx) embedded GPUs from ARM.
It’s a reverse-engineered, community-developed driver.
At XDC 2019 there was a presentation about Lima, which happened not long after its initial inclusion in upstream.
At that time, it was still missing some important features to be a complete driver.
Most of those have been addressed...
The Internet has been under a spell over the M1 system-on-chip. Is Apple's GPU architecture magically faster than the rest of the industry? Or is it all smoke and mirrors? Only a reverse-engineering witch can divine that truth. Grab your cape, because we're about to spill the chip's secrets, solve mysteries we were never supposed to know about, and gain a Mesa driver along the way.
Now that we are shipping arm chromebooks with upstream mesa graphics drivers, we would like to give a status update, covering the work to get to this point, and what lies ahead.
SSA-based register allocation is a new strategy for register allocation which decouples register allocation from spilling and guarantees predictable register usage. It holds special promise for GPUs due to common architectural features like dynamic register sharing, but there are also challenges in real-world implementations. After first being used in Mesa by the ACO compiler backend for AMD...
Just a yearly status update about etnaviv (NIR, CI, ..).
CRIU a.k.a Checkpoint Restore in Userspace is the de-facto choice for Checkpoint and Restore but one of its major limitations is to Checkpoint and Restore tasks that have a device state associated with them and need the driver to manage their state which CRIU cannot control but provides a flexible plugin mechanism to achieve this. So far there is no serious real device plugin (at least in...
The Virtual Kernel Mode-setting(VKMS) driver aims to help with testing and development of graphics drivers without having to use actual graphics hardware. My work during Outreachy comprised adding support for emulation of virtual hardware in VKMS. This involved writing/refactoring code in IGT GPU tests as well. I want to talk about my journey as a newcomer in exploring DRM and IGT GPU tools,...
A lightning talk about the state-of-the-art of the Panfrost driver for Arm Mali GPUs, including support for the new Valhall instruction set architecture in the latest Mali designs.
Quick overview of ongoing efforts to improve upon the current state of text input and input method Wayland protocols.
The VK_EXT_multi_draw Vulkan extension was recently released and closes an existing gap between the OpenGL and Vulkan APIs. It can be used to improve the performance of some Vulkan apps and as a tool when implementing OpenGL on top of Vulkan as Zink does. This talk will give a quick overview of the extension.
The recently-released SDL 2.0.16 dramatically improves native Wayland support. The experience is about 90% there! This lightning talk will go over the other 90% needed to make Wayland the default video driver for Linux.
Ethan Lee is a Linux game developer with over 60 games of experience, including Celeste, Streets of Rage 4, Transistor, and many more! He is also the maintainer of FNA and...
One of the biggest user-facing issues facing wayland adoption is robustness. A crash in the compositor can take down the entire session and lead to data loss.
With wayland being a constantly changing landscape and with more workload being put on the compositor process this doesn't seem to be going away.
This talk showcases work across multiple libraries and toolkits to tackle this at the...
With the ever-increasing focus on testing found in our community, let's try to coordinate the efforts of every individual.
The main focus for this workgroup will be two-fold:
- Ramp up the trace-based testing in Mesa CI / DXVK / ...
- Bring kernel testing to more drivers than i915
Please ping mupuf on IRC on OFTC's #freedesktop to add additional topics or show interest in one.
Ever wondered what happens when you mix Emscripten, Graphviz, and a Vulkan driver? I couldn’t help myself and tried: What started as a simple visualizer for shader control flow has since grown into a port of Mesa’s shader compiler ACO running in the browser, capable of compiling thousands of shaders on-the-fly. Don’t believe it? Demo included!
Putting this experiment into wider context...
Broken and flickering geometry, corrupted textures, and even hangs in real-world games and apps are common issues in open-source graphics driver development. While conformance tests are mostly narrow and confined, finding driver problems when running triple-A games can be a challenging task.
This talk will show a major misrendering example when running a game and the steps taken to pinpoint...
At last year's XDC, Jason gave an overview of the VK_KHR_ray_tracing extensions and how they can be used to implement a ray-tracing render from a client POV. In this talk, Jason will discuss the implementation of those extensions in Intel's Linux Vulkan driver. We'll cover over-all architecture as well as detailed topics such as bindless thread dispatch on Intel HW, Shader call/return...
This talk presents an overview of the KWinFT project in 2021. The following topics will be discussed:
- original motives for founding the KWinFT project,
- recap of previous developments in 2020,
- overview of current developments,
- project organisation and scaling,
- embedding in the ecosystem: long-term plan for KWinFT as a C++ library collection for the creation of feature-rich...
After the talk "SSA-based Register Allocation for GPU Architectures", this workshop will be for people considering implementing SSA-based register allocation or wanting to understand the ACO and Freedreno implementations. We can also go more in-depth with different strategies and heuristics used to optimize the register allocation problem, if there is interest.
We talk about a new programming interface “Sysman” which is part of level zero library.
Sysman (System Resource Management) is used to monitor and control the power, frequency, temperature etc , of accelerator devices.
Sysman is an API that will,
• Enable HPC (High Performance Compute) GPU servers to optimize/track power, temperature ,utilization, memory bandwidth & scheduling of Intel...
Modern applications in areas like Machine Learning, Artificial Intelligence, and 3D Graphics, require a synergistic software/hardware ecosystem that allow developers to take full advantage of hardware accelerators. In this scenario, it is critical to have a low-level API that can easily support and adapt to any device, in order to minimize the impact in upper-levels of the software stack when...
I'm going to present a summary of the last 10 years or so of participating to the moderation and animation of the xorg-security@ mailing lists.
This is an opportunity for people interested in taking over this responsibility to have an insight of the kind of issues that are submitted and how we've been dealing with them.
While GPU multi-tenancy in the server world has grown rapidly, hostile multi-tenancy on single, commodity GPUs has been virtually unexplored. Existing multi-tenancy solutions for GPUs all fall short in at least one of the following areas: Minimizing attack surface, strongly isolating potentially hostile tenants, supporting consumer GPUs, and allowing parallel sharing of a single GPU between...
Due to its nature, the display stack can be hard to test. Indeed, the component we want to test often sends the pixels to an external display without any way to retrieve the image being output, let alone make sure it's correct.
And while a human can perform some of those tests by looking at the screen, some issues can prove to be difficult to spot, such as colours being slightly off or...
The big change in KWinFT this year is the replacement of all its own hardware backend plugins for its Wayland session with a single backend talking to wlroots.
This talk goes into detail on:
- reasons for this strategic move,
- technical realization,
- outcome with advantages and disadvantages,
- long-term impact on the ecosystem.
The purpose of TTM is to provide buffer object contents in memory where it is mappable by the CPU and GPU when needed, and also to allow overcommitting by means of swapping or eviction.
This talk will cover the process of moving memory management in i915 kernel driver to TTM.
Last year, it was fires everywhere. This year? well, it was also the same, sort of.
In this talk, we will see what steps we took to reduce further more our bill for our gitlab hosting. We will also tell some jokes like "oh, BTW, we almost lost all of our storage", or something like "oops, I killed the entire cluster". Oh the fun we had.
So yes, this is basically the continuation of the...
I'm going to present a summary of the last 10 years or so of participating to the moderation and animation of the xorg-security@ mailing lists.
This is an opportunity for people interested in taking over this responsibility to have an insight of the kind of issues that are submitted and how we've been dealing with them.
In April of this year, Khronos released a provisional set of extensions: VK_KHR_video_queue, VK_KHR_video_decoder_queue and VK_KHR_video_encoder_queue. They all aim for hardware accelerated video decoding and encoder with the Vulkan API. In this talk, we will introduce the basics of video decoding and give an overview of the...
Your secretary's yearly report on the state of the X.org Foundation. Expect updates on the freedeskoptop.org, internship and student programs, XDC, and more!
In this talk we'll reveal the location and vintage of XDC 2022.
Conclusions from the BVH building break-out
I played around with how we can make use of Rust in mesa and wanted to give a short talk about what I've done and what the biggest missing things are.
This is a summary of what was discussed in the workshop on GPU multi-tenancy.
This will present the topics discussed during the BoF session.
Just a quick recap from the testing workshop.
We will explain our experience organizing this XDC as virtual conference.