A guided tour of the AMD display driver code to identify hardware color
capabilities on different versions, connect relevant parts of the shared code
to DRM, and ultimately deliver a broader range of color features to the
userspace. This work is another step towards advanced GPU-accelerated color
management for Linux compositors, and it has already enabled improvements to
HDR display support in SteamOS/Gamescope. So, what's the next treasure hunt?
(c) X.Org Developer's Conference (XDC) 2023
October 17-19, 2023
A Coruña (Spain)
https://indico.freedesktop.org/event/4/
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driverAnne Nicolas
The Linux graphics stack is constantly evolving to add support for new hardware. This evolution and new software specifications have forced the X graphical server to be split into several components including a now rotates in the Linux kernel, the Direct Rendering Manager (DRM). A quick presentation of these components and their role will be carried out before looking at new major change in the common code, the NVIDIA Optimus technology.
One equipped with Optimus technology laptop has two graphics processing units (GPUs), one from Intel and one from NVIDIA. This technology combines the low power Intel GPU when the machine is not used to the performance of NVIDIA GPUs when the user plays. This technology, however, is a nightmare to manage kernel-side although the final building blocks necessary for its complete management are being finalized. Further explanation of this issue will be made and we’ll see how this new software architecture has added graphics acceleration on embedded processor SoCs like Tegra.
The case of open source NVIDIA driver, called “New” will then be studied. This is the graphics driver community as it is developed without the help of NVIDIA and attracted several regular contributors, including myself! We’ll take a quick history of the project before talking about the current developments and issues related to the lack of documentation.
The end of this presentation will then be left to the participants so they can ask more general questions about the graphics stack, if they wish.
Martin Peres, Laboratoire Bordelais de Recherche en Informatique
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
Direct3D 11 will have tessellation for smoother curves and finer details. The new compute shader will make postprocessing faster and easier. You'll need Direct3D 11 to have the best graphics, and this talk will show you how you can get started using current generation hardware.
A look at how new Direct3D advancements enhance efficiency and enable fully-threaded building of command buffers in this prentation from the 2014 Game Developers Conference in San Francisco March 17-21. Also view this and other presentations on our developer website at http://developer.amd.com/resources/documentation-articles/conference-presentations/
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driverAnne Nicolas
The Linux graphics stack is constantly evolving to add support for new hardware. This evolution and new software specifications have forced the X graphical server to be split into several components including a now rotates in the Linux kernel, the Direct Rendering Manager (DRM). A quick presentation of these components and their role will be carried out before looking at new major change in the common code, the NVIDIA Optimus technology.
One equipped with Optimus technology laptop has two graphics processing units (GPUs), one from Intel and one from NVIDIA. This technology combines the low power Intel GPU when the machine is not used to the performance of NVIDIA GPUs when the user plays. This technology, however, is a nightmare to manage kernel-side although the final building blocks necessary for its complete management are being finalized. Further explanation of this issue will be made and we’ll see how this new software architecture has added graphics acceleration on embedded processor SoCs like Tegra.
The case of open source NVIDIA driver, called “New” will then be studied. This is the graphics driver community as it is developed without the help of NVIDIA and attracted several regular contributors, including myself! We’ll take a quick history of the project before talking about the current developments and issues related to the lack of documentation.
The end of this presentation will then be left to the participants so they can ask more general questions about the graphics stack, if they wish.
Martin Peres, Laboratoire Bordelais de Recherche en Informatique
Your Game Needs Direct3D 11, So Get Started Now!Johan Andersson
Direct3D 11 will have tessellation for smoother curves and finer details. The new compute shader will make postprocessing faster and easier. You'll need Direct3D 11 to have the best graphics, and this talk will show you how you can get started using current generation hardware.
A look at how new Direct3D advancements enhance efficiency and enable fully-threaded building of command buffers in this prentation from the 2014 Game Developers Conference in San Francisco March 17-21. Also view this and other presentations on our developer website at http://developer.amd.com/resources/documentation-articles/conference-presentations/
Display devices have always been an integral part of the PC experience.
Whether it is in the form of a desktop monitor, a notebook’s embedded
panel, or the touch screen of a PC tablet, display devices play a vital role in
defining the user’s visual experience.
The new display technologies integrated exclusively in the AMD Radeon™
HD 7700-7900 Series are designed to deliver new and unique experiences
with impressive performance in these different technologies.
A technical deep dive into the DX11 rendering in Battlefield 3, the first title to use the new Frostbite 2 Engine. Topics covered include DX11 optimization techniques, efficient deferred shading, high-quality rendering and resource streaming for creating large and highly-detailed dynamic environments on modern PCs.
Ramon Fried covers the following topics:
* What DMA is.
* DMA Buffer Allocations and Management.
* Cache Coherency.
* PCI and DMA.
* dmaengine Framework.
Ramon is an Embedded Linux team leader in TandemG, leading various cutting edge projects in the Linux kernel.
He has years of experience in embedded systems, operating systems and Linux kernel.
Source code : https://github.com/tritmt/TrainingMarch2017
Content week 02:
Render Pipeline
The difference between a CPU and GPU
Shader Languages
Shading Language used in Unity
First Shader
Shader Property
Shader data types and precision
ShaderLab Syntax
Vertex and Fragment shaders
Fragment Shader : Simple Color
Fragment Shader : ColorUV
Fragment Shader : Simple Texture
Fragment Shader : Multi Texture
Vertex Shader : Waves
ShaderLab built-in values
Exercise 01 : Shader GrayScale
Exercise 02 : Shader Brightness - Contrast
Exercise 03 : Terrain
Exercise 04 : Shader Blur (option)
Talk by Yuriy O’Donnell at GDC 2017.
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.
A graph of all rendering operations for the entire frame is a useful abstraction. The industry can move away from “immediate mode” DX11 style APIs to a higher level system that allows simpler code and efficient GPU utilization. Attendees will learn how it worked out for Frostbite.
The AM37x EVM and/or DM37x EVM from Mistral is a highly integrated and easy-to-use development platform based on TI's AM/DM37x Sitara Microprocessor. Designed with a modular and extendable architecture, the EVM helps developers leverage the benefits of the powerful AM/DM37x processor comprising of the advanced Superscalar ARM® Cortex™-A8 RISC core with NEON co-processing.
Embedded Recipes 2018 - Upstream multimedia on amlogic so cs from fiction t...Anne Nicolas
Inexpensive set-top boxes are everywhere and many of them are powered by AmLogic SoCs. These chips provide 4K H.265/VP9 video decoding and as of the last couple years, have a very good Mainline Linux and U-Boot support.
Unfortunately, most of the multimedia features, like Hardware Accelerated OpenGL ES, Video Decoding, Audio Playback, and Video Rendering were missing from Upstream projects like Linux, Mesa, Gstreamer or FFmpeg. Thankfully a growing community of independent developers have managed to get most of these features to work using upstream only source code.
Maxime will present the challenges and benefits to have Multimedia support using upstream projects and will detail the technical challenges to offer a complete Multimedia support on these Amlogic SoCs.
The audience is anyone interested in ARM SoCs, multimedia, upstream development process or learning more about the architecture of the AmLogic application processors.
Attendees can expect a presentation on the actual work of code upstreamed for the Amlogic SoCs, a multimedia overview and challenges on non-x86 platforms, an overview of the hardware architecture, and much more.
A Year of the Servo Reboot: Where Are We Now?Igalia
Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged. After some slow years, in 2023 there has been renewed activity on the project, with a roadmap now focused on improving the engine’s CSS 2 conformance, exploring Android support, and making Servo a practical embeddable rendering engine. In this presentation, Rakhi Sharma reviews the status of the project, our recent developments in 2023, our collaboration with Tauri to make Servo an easy-to-use embeddable rendering engine, and our plans for the future to make Servo an alternative web rendering engine for the embedded devices industry.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://ossna2024.sched.com/event/1aBNF/a-year-of-servo-reboot-where-are-we-now-rakhi-sharma-igalia
Building End-user Applications on Embedded Devices with WPEIgalia
The Web engine is the most important component of a Web Browser, enabling
developers to harness the power of the Web Platform to build their
applications. However, Web Browsers are not the only type of applications that
can be built with Web Engines, which can also be used to develop other types of
applications using the same Web-based technologies, but for a different type of
use cases other than "browsing the Web".
These use cases can cover a wide range of situations outside of the traditional
desktop or mobile environments, such as the ones embedded systems are usually
used for (e.g. set-top-boxes, smart home appliances, GPS navigation devices, or
in-car/in-flight infotainment systems, to name a few). And in those situations
it is very common to be running on boards with SoCs and a particular set of HW
capabilities that make it crucial for the Web Engine to be able to tightly
integrate with them.
In this session we will focus on how WPE, a fully Open Source port of the
WebKit Web engine for Linux-based embedded devices, can be used to adapt to the
different challenges that embedded devices pose to develop end-user
applications, using the power of the Web Platform underneath.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aNTr/building-end-user-applications-on-embedded-devices-with-wpe-mario-sanchez-prada-igalia
More Related Content
Similar to The rainbow treasure map: Advanced color management on Linux with AMD/Steam Deck – XDC 2023
Display devices have always been an integral part of the PC experience.
Whether it is in the form of a desktop monitor, a notebook’s embedded
panel, or the touch screen of a PC tablet, display devices play a vital role in
defining the user’s visual experience.
The new display technologies integrated exclusively in the AMD Radeon™
HD 7700-7900 Series are designed to deliver new and unique experiences
with impressive performance in these different technologies.
A technical deep dive into the DX11 rendering in Battlefield 3, the first title to use the new Frostbite 2 Engine. Topics covered include DX11 optimization techniques, efficient deferred shading, high-quality rendering and resource streaming for creating large and highly-detailed dynamic environments on modern PCs.
Ramon Fried covers the following topics:
* What DMA is.
* DMA Buffer Allocations and Management.
* Cache Coherency.
* PCI and DMA.
* dmaengine Framework.
Ramon is an Embedded Linux team leader in TandemG, leading various cutting edge projects in the Linux kernel.
He has years of experience in embedded systems, operating systems and Linux kernel.
Source code : https://github.com/tritmt/TrainingMarch2017
Content week 02:
Render Pipeline
The difference between a CPU and GPU
Shader Languages
Shading Language used in Unity
First Shader
Shader Property
Shader data types and precision
ShaderLab Syntax
Vertex and Fragment shaders
Fragment Shader : Simple Color
Fragment Shader : ColorUV
Fragment Shader : Simple Texture
Fragment Shader : Multi Texture
Vertex Shader : Waves
ShaderLab built-in values
Exercise 01 : Shader GrayScale
Exercise 02 : Shader Brightness - Contrast
Exercise 03 : Terrain
Exercise 04 : Shader Blur (option)
Talk by Yuriy O’Donnell at GDC 2017.
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.
A graph of all rendering operations for the entire frame is a useful abstraction. The industry can move away from “immediate mode” DX11 style APIs to a higher level system that allows simpler code and efficient GPU utilization. Attendees will learn how it worked out for Frostbite.
The AM37x EVM and/or DM37x EVM from Mistral is a highly integrated and easy-to-use development platform based on TI's AM/DM37x Sitara Microprocessor. Designed with a modular and extendable architecture, the EVM helps developers leverage the benefits of the powerful AM/DM37x processor comprising of the advanced Superscalar ARM® Cortex™-A8 RISC core with NEON co-processing.
Embedded Recipes 2018 - Upstream multimedia on amlogic so cs from fiction t...Anne Nicolas
Inexpensive set-top boxes are everywhere and many of them are powered by AmLogic SoCs. These chips provide 4K H.265/VP9 video decoding and as of the last couple years, have a very good Mainline Linux and U-Boot support.
Unfortunately, most of the multimedia features, like Hardware Accelerated OpenGL ES, Video Decoding, Audio Playback, and Video Rendering were missing from Upstream projects like Linux, Mesa, Gstreamer or FFmpeg. Thankfully a growing community of independent developers have managed to get most of these features to work using upstream only source code.
Maxime will present the challenges and benefits to have Multimedia support using upstream projects and will detail the technical challenges to offer a complete Multimedia support on these Amlogic SoCs.
The audience is anyone interested in ARM SoCs, multimedia, upstream development process or learning more about the architecture of the AmLogic application processors.
Attendees can expect a presentation on the actual work of code upstreamed for the Amlogic SoCs, a multimedia overview and challenges on non-x86 platforms, an overview of the hardware architecture, and much more.
Similar to The rainbow treasure map: Advanced color management on Linux with AMD/Steam Deck – XDC 2023 (20)
A Year of the Servo Reboot: Where Are We Now?Igalia
Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged. After some slow years, in 2023 there has been renewed activity on the project, with a roadmap now focused on improving the engine’s CSS 2 conformance, exploring Android support, and making Servo a practical embeddable rendering engine. In this presentation, Rakhi Sharma reviews the status of the project, our recent developments in 2023, our collaboration with Tauri to make Servo an easy-to-use embeddable rendering engine, and our plans for the future to make Servo an alternative web rendering engine for the embedded devices industry.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://ossna2024.sched.com/event/1aBNF/a-year-of-servo-reboot-where-are-we-now-rakhi-sharma-igalia
Building End-user Applications on Embedded Devices with WPEIgalia
The Web engine is the most important component of a Web Browser, enabling
developers to harness the power of the Web Platform to build their
applications. However, Web Browsers are not the only type of applications that
can be built with Web Engines, which can also be used to develop other types of
applications using the same Web-based technologies, but for a different type of
use cases other than "browsing the Web".
These use cases can cover a wide range of situations outside of the traditional
desktop or mobile environments, such as the ones embedded systems are usually
used for (e.g. set-top-boxes, smart home appliances, GPS navigation devices, or
in-car/in-flight infotainment systems, to name a few). And in those situations
it is very common to be running on boards with SoCs and a particular set of HW
capabilities that make it crucial for the Web Engine to be able to tightly
integrate with them.
In this session we will focus on how WPE, a fully Open Source port of the
WebKit Web engine for Linux-based embedded devices, can be used to adapt to the
different challenges that embedded devices pose to develop end-user
applications, using the power of the Web Platform underneath.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aNTr/building-end-user-applications-on-embedded-devices-with-wpe-mario-sanchez-prada-igalia
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
The Raspberry Pi 5 was announced on October 2023. This new version of the
popular embedded device comes with a new iteration of Broadcom’s VideoCore GPU
platform, and was released with a fully open source driver stack, developed by
Igalia. The presentation will discuss some of the major changes required to
support this new Video Core iteration, the challenges we faced in the process
and the solutions we provided in order to deliver conformant OpenGL ES and
Vulkan drivers. The talk will also cover the next steps for the open source
Raspberry Pi 5 graphics stack.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBEx
Automated Testing for Web-based Systems on Embedded DevicesIgalia
Every day, embedded devices are becoming more powerful and capable of running
more elaborate applications. Among these applications are Web-based ones,
enabling to leverage features from the Web APIs to the embedded context, either
through a generic browser running a traditional Web application or through a
customized Web engine tightly integrated within the system.
But such capabilities usually bring new challenges, like testing user
interactions with the application using the embedded device's specific I/O
methods, such as gestures, or inspecting Web application internals with
JavaScript. In this context, using a browser automation framework such as
WebDriver, which is a W3C standard supported by WebKit Web engine, allows
testing Web-based applications on such devices as if the user were actually
using it, alongside running custom JS code.
In this session, we will cover why we need browser automation for testing on
certain types of embedded devices, with a focus on WebDriver as the proposed
tool to achieve that goal. We will also discuss WebDriver's main features and
limitations, as well as other possible approaches and frameworks that could be
considered for this kind of task.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aeSx/automated-testing-for-web-based-systems-on-embedded-devices-lauro-moura-igalia
Embedding WPE WebKit - from Bring-up to MaintenanceIgalia
Embedded devices have become powerful enough to run Web content a decade ago,
and any modern SoC that can run Linux and includes a GPU is a potential
candidate to hide a Web engine under the surface. How did it made it there?
Does it only show Web content? What else can it do? The talk will cover
bring-up tips to build and get WPE WebKit working on your custom embedded
device and make your own simple Web browser, as well as the best practices for
keeping the system up to date. No less important is integration with the rest
of the system: this session will detail the possibilities that WebKit brings to
the table, including how to add new JavaScript APIs which call into native code
to provide tight, performant access to platform functionality.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBFQ/embedding-wpe-webkit-from-bring-up-to-maintenance-adrian-perez-de-castro-igalia
This talk dives into how the scheduler impacts your gameplay on Linux and
unveils our journey to smoother gameplay. How does task scheduling impact Linux
gaming? Suboptimal task scheduling can cause stuttering while playing games on
the Steam Deck game console. First, we nail down the enemy. What exactly is
"stuttering," and how can we measure its impact on your gameplay? Next, we
extensively analyzed the characteristics of game tasks from the scheduler’s
point of view. Characterizing task behavior in Linux gaming helps to understand
why some schedulers create much stuttering and others create less and to unveil
the secrets behind smooth vs. choppy performance. Lastly, we will share our
progress on the optimized scheduler for reducing the stuttering problems in
Linux gaming, especially Steam Deck. We implemented the scheduling policy based
on sched_ext, a BPF-based extensible scheduling framework.
(c) Open Source Summit North America 2024
April 16-18, 2024
Seatle, Washington (US)
https://events.linuxfoundation.org/open-source-summit-north-america/
https://ossna2024.sched.com/event/1aBOT/optimizing-scheduler-for-linux-gaming-changwoo-min-igalia
So, we are adding a backend for the SpiderMonkey’s codegen to enable JIT
support for JavaScript running through Wasm. Sounds a bit cryptic so let’s
divide it into parts.
SpiderMonkey is a JavaScript engine which is used for running JavaScript inside
the Firefox browser. SpiderMonkey is written in C++ and supports compilation
into the Wasm module, see live demo -
https://mozilla-spidermonkey.github.io/sm-wasi-demo/. However, SpiderMonkey
compiled into the Wasm module supports execution of JavaScript only in the
interpreter-only mode and it doesn’t support just-in-time compilation because
there is no Wasm backend for that. There are backends for Arm, X86, X64 etc but
there is none for Wasm.
Why do we want to add support for JIT? Well, because we want speed. Right now
there is no solution to run JS scripts via Wasm fast, there are only
interpreters.
Why does JIT improve performance?
The reasons are the same for why an interpreter is slower than a compiler -
because it eliminates the interpreter loop, uses a more efficient ABI and, more
importantly, it can specialize polymorphic operations in JavaScript. So, we not
only enable the JIT tier in SpiderMonkey for Wasm but we also provide support
for inline caches.
Inline caches is a mechanism for specializing the behavior of particular
operations like plus or a call to specific arguments provided at runtime.
With all that we can generate Wasm modules on the fly, instantiate them, and
link them to provide from ~2x to ~11x speedup over the interpreter. In the
talks we will cover how the whole scheme works with SpiderMonkey: 1. How to
link modules on the fly into SpiderMonkey.wasm 2. How to add an exotic Wasm
backend into SpiderMonkey’s supported backend line - X64, X86, Arm, Wasm 3. How
to use the whole solution in the cloud instead of QuickJS 4. How to get a
speedup of your JS over wasm with test data.
Wasm I/O 2024
14 - 15 Mar, 2024
Barcelona
https://2024.wasmio.tech/
To crash or not to crash: if you do, at least recover fast!Igalia
What could be possibly worse that an almost unbeatable boss in
a game or a tough maze that consume hours of gameplay with not
much progress? How about a Linux kernel crash that makes you
lose all the game progress with no apparent reason or feedback?
Though rare, it is a real possibility that would make gamers
quite annoyed, given that Linux is used more and more as a
platform for playing games.
Some technologies are available to collect logs and feedback
the user in case such disastrous events happen, mostly related
with kernel crashes handling mechanisms. The main ones available
are kdump and pstore, but still there are work to be done in
this area...
In this talk we're going to present the basics about kernel
crash handling, like how a kernel panic might happen, how to
deal with that (with an overall discussion about kdump and
pstore techs) and the kdumpst tool, developed specially to
deal with this situation on Steam Deck (and generically on
Arch Linux); also we're gonna discuss some missing
pieces / ideas to make it even less likely gamers need to
complain that their device just got hang for no reason!
FOSForums 2023
Aug 26 - Aug 27, 2023
Institute of Computing, State University of Campinas (Unicamp)
Campinas, São Paulo, Brazil
https://www.fosforums.org/
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
Nesta charla impartida por Alejandro Piñeiro de Igalia, darase unha introdución
a Mesa, librería open-source para o desenvolvemento de drivers gráficos.
Explicarase a súa historia, os seus compoñentes máis importantes, que
utilidades proporcionan aos desenvolvedores e unha lista de hardware ás que dan
soporte. Finalmente explicarase o caso concreto do soporte proporcionado para
as GPUs dos dispositivos da serie Raspberry Pi, centrándonos nas Raspberry Pi 4
e Raspberry Pi 5
Igalia é unha empresa galega, con sede na Coruña, especializada en servizos de
consultoría, e que desenvolve solucións innovadoras de código aberto para un
gran conxunto de plataformas de software e hardware. En Igalia traballan nas
áreas máis interesantes do software de código aberto, incluídos navegadores,
gráficos e multimedia.
Igalia desenvolveu os controladores OpenGL ES 3.1 e Vulkan 1.2 conformes para a
GPU VideoCore VII Broadcom que se fornece coa nova Raspberry Pi 5.
Alejandro Piñeiro é enxeñeiro de Software e socio en Igalia, é desenvolvedor de
Software Libre desde 2004. A súa experiencia inclúe unha variedade de proxectos
de GNOME e freedesktop.org, enfocándose desde 2015 en Mesa, especificamente os
drivers Intel e Broadcom. É un dos responsables do desenvolvemento do
controlador Broadcom Vulkan para Raspberry Pi 4 & 5.
Máis información en https://aindustriosa.org/Mesa/
Esta actividade está patrocinada pola Xunta de Galicia e pola Axencia Para a
Modernización Tecnolóxica (AMTEGA).
(c) A Industriosa
https://aindustriosa.org
28 de Outubro (Vigo)
Chimera Linux is a novel Linux distribution built around FreeBSD core tools and
the LLVM toolchain. Since its initial launch in 2021, it has made a lot of
progress and is now in alpha stage. The system can be deployed on a wide array
of hardware and many people are using it as their desktop system; it works on
x86_64, AArch64, POWER (little and big endian) as well as RISC-V and by now
comes with thousands of packages.
While trying to be practical, Chimera is also highly hardened, partly thanks to
the LLVM toolchain, rendering it immune to various security issues other
distros are vulnerable to. It has transparent and robust infrastructure,
ensuring smooth deployment of packages. We are also developing various new
tooling that the whole ecosystem can benefit from, including the Turnstile
session tracker. Service management is based around Dinit, a modern,
supervising system; we maintain and create a variety of tooling around it,
trying to break the existing status quo with systemd, while abandoning legacy
approaches.
2023 has seen several major milestones, so I will focus on these, while also
giving a short overview so that people unfamiliar with the system don't feel
lost. I will also explain how our work benefits the entire Linux ecosystem, as
well as beyond.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2524-2023-in-chimera-linux/
For the last 3 years, I've been building a complete Linux distribution, Chimera
Linux (https://chimera-linux.org) using solely LLVM as its system toolchain -
that means Clang, compiler-rt, and libc++, alongside its other tooling. Right
now, it is a complete desktop system that is already used by many, with a
familiar GNOME interface and thousands of packages, targeting 5 CPU
architectures. In this talk I would like to focus on my experiences using the
toolchain, what obstacles got in the way, how I dealt with them, the issues
that are still left and I would like to see addressed, the many benefits using
LLVM gave the project, and overall give the audience an insight into practical
deployment of LLVM in a project where it isn't simply a drop-in alternative to
GCC.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2555-building-a-linux-distro-with-llvm/
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
Turnip changed a lot since the last status update. You could now run AAA
desktop games via FEX + Turnip, Adreno 7xx is now supported, Turnip is used by
emulators on Android, and more!
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2033-turnip-update-on-open-source-vulkan-driver-for-adreno-gpus/
Graphics stack updates for Raspberry Pi devicesIgalia
This talk will show the efforts done in the Open-Source graphics stack for
supporting Raspberry Pi devices. Although the talk will focus on the recently
launched new Raspberry Pi 5, we will show the improvements done for previous
generations of the Raspberry Pi hardware.
Raspberry Pi 5 has available FLOSS GPU drivers on product launch, exposing
OpenGL-ES 3.1 and Vulkan 1.2. We'll go through the changes needed to enable
desktop OpenGL 3.1 on RPi4/5.
We will also review the changes done to the kernel driver to expose the RPi5
capabilities and the new GPU stats support for RPi4/5.
Finally, we will show the work done to use Wayfire as the default Wayland
compositor on the Raspberry Pi OS.
- https://www.mesa3d.org/
- https://www.raspberrypi.com/
- https://wayfire.org/
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2841-graphics-stack-updates-for-raspberry-pi-devices/
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
This talk will cover our experience in utilizing Wayland subsurfaces and
implementing delegated compositing for Chromium on ChromeOS. Several concepts
will be covered - from overlay making decision in Chromium/Viz to design and
implementation of custom Wayland protocols, which were required to pass frame
data as overlays via Wayland and reconstruct that frame on the Wayland server
side.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-3177-delegated-compositing-utilizing-wayland-protocols-for-chromium-on-chromeos/
MessageFormat: The future of i18n on the webIgalia
Internationalization in JavaScript and on the web platform is very complicated,
but also vastly important for us developers in order to build accessible and
intelligible interfaces. Thankfully, Unicode Consortium's MessageFormat working
group and TC39 have been hard at work standardizing the next generation of i18n
tooling that aims to unify analogous non-standard tools in use today while
approaching this problem from a fresh perspective.
Join me along this tour of i18n in JavaScript, discover some of the newest
additions to the toolkit and learn about the ongoing MessageFormat proposal and
how it aims to radically improve the developer experience.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2832-messageformat-the-future-of-i18n-on-the-web/
Replacing the geometry pipeline with mesh shadersIgalia
This talk will discuss the problems with the traditional vertex processing
pipeline and present how mesh shading solves these problems. Instead of
processing a fixed set of input vertices, mesh shaders can create an arbitrary
topology of vertices and primitives. Mesh shading also includes a new solution
for geometry amplification: task shaders.
The talk should be scheduled before Timur's talk about implementing mesh
shaders in the RADV Mesa driver.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Let's talk about developing AMD display drivers in the DRM subsystem as an
external contributor. Part of this work is a trail of breadcrumbs to build
documentation. What are those breadcrumbs? How do they help to review, fix,
improve and enable features of AMD drivers? How would both sides benefit if
those pieces of information were already documented? We are gathering
information from anywhere and also bothering experts for input. Ultimately,
this presentation focuses on AMD driver development but may fit DRM drivers of
any GPU vendors.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
There has been a lot of activity in V3DV, the Vulkan driver for Raspberry Pi 4,
over the last year: we have significantly reworked our synchronization code,
obtained Vulkan 1.1 conformance, implemented Vulkan 1.2 support, continued to
work on compiler optimizations and more.
In this talk I would like to go through the main development milestones and
changes we implemented in the driver as well as discussing some limitations of
the underlying hardware platform that have discouraged us from implementing
features such as scalar block layout or fp16.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
The rainbow treasure map: Advanced color management on Linux with AMD/Steam Deck – XDC 2023
1. The Rainbow Treasure Map
Advanced Color Management on Linux with AMD/SteamDeck
Melissa Wen
XDC 2023 - A Coruña - Spain
1
2. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Technical Talk
2
1. XDC 2022 | "I'm not an AMD expert, but..." | Melissa Wen
2. XDC 2022 | Is HDR Harder? | Harry Wentland
3. XDC 2022 Lightning | HDR Workshop Summary | Harry Wentland
4. Color management and HDR documentation for FOSS graphics | Pekka Paalanen et al.
5. Cinematic Color - 2012 SIGGRAPH course notes | Jeremy Selan
6. AMD Driver-specific Properties for Color Management on Linux (Part 1) | Melissa Wen
3. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Advanced Color Management on Linux
● Wide variety of source content colorimetry (SDR/HDR/different
color gamuts, profiles, etc.)
● Wide variety of output display devices
● Internal processing (window composition, etc)
● Users expect consistent color reproduction
● Linux kernel lacks an interface to manage the diversity of color
profiles
3
4. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Driver-Specific Color Properties
[PATCH v4 00/32] drm/amd/display: add AMD driver-specific properties for color mgmt
➔ Endless KMS generic color API
➔ Many uncertainties regarding the diversity of color capabilities among hardware
vendors
➔ Gamescope is the userspace case (SteamOS 3.5)
➔ Advanced color management: gamut mapping, HDR rendering, SDR on HDR,
HDR on SDR
4
5. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Steam Deck Kernel Driver
➔ Accelerated Processing Unit (APU)
➔ Product Name: STEAMDECK
➔ Code Reference: VANGOGH
➔ Display Driver: DCN3.01 (DCN3 family)
5
6. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Display Driver in the Linux/DRM
DRM/KMS
AMD Display Manager (DM)
AMD Display Core (DC)
kernel space
6
7. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Connecting DC and DRM
DRM/KMS
AMD Display Manager (DM)
AMD Display Core (DC)
kernel space
7
8. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Examining AMD DC
DRM/KMS
AMD Display Manager (DM)
AMD Display Core (DC)
kernel space
8
9. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Display Core Next (DCN)
9
https://dri.freedesktop.org/docs/drm/gpu/amdgpu/display/dcn-overview.html
10. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Display Core Next (DCN) - Color Caps
10
Pre-blending
DPP: Display Pipe and Plane
Post-blending
MPC: Multiple Pipe/Plane Combined
11. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane
11
12. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane
12
John Travolta in Pulp Fiction
13. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamma
Corr
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
AMD DC
13
Blending
Blend
Gamma
14. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamma
Corr
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
AMD DC
14
Blending
Blend
Gamma
15. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
AMD DC
15
Blending
Gamma
Corr
Blend
Gamma
16. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
16
Blending
Gamma
Corr
Blend
Gamma
17. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Plane Degamma TF and LUT
Transition from encoded values to linear values for precise arithmetic operations
Pre-defined TFs are hardcoded curves to DPP Degamma ROM block
● sRGB EOTF;
● BT.709 inverse OETF;
● PQ EOTF;
● Gamma 2.2, Gamma 2.4 and Gamma 2.6 EOTF
1D LUT supports 4096 entries to DPP Gamma Correction block
The data is interpreted as an array of struct drm_color_lut elements
17
input func
Degam
ROM
Gamma
Corr
Degamma
LUT
Degamma
TF
18. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
18
Blending
Gamma
Corr
Blend
Gamma
19. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Plane CTM
For color space conversion
3x4-dimensions matrix of fixed-points s31.32 set to DPP Gamut Remap block
Remapping CRTC CTM to MPC Gamut Remap block
19
gamut
remap
Gamut
Remap
CTM
20. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
20
Blending
Gamma
Corr
Blend
Gamma
21. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
21
Blending
Gamma
Corr
Blend
Gamma
22. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Plane HDR Multiplier
Applied to the color values of an image to increase their overall brightness
Useful for converting images from SDR to HDR
PQ TF is needed for any subsequent transforms
22
hdr
mult
HDR
Mult
HDR
Mult
23. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
23
Blending
Gamma
Corr
Blend
Gamma
24. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Plane Shaper TF and LUT
Delinearize/normalize the color space before applying a 3D LUT
NO hardcoded curves
Pre-defined TFs are calculated by AMD color module
● sRGB inverse EOTF;
● BT.709 OETF;
● PQ inverse EOTF;
● Gamma 2.2, Gamma 2.4 and Gamma 2.6 inverse EOTF.
The color module combines TF and user LUT into the LUT to DPP Shaper LUT RAM block
24
shaper
func
Shaper
RAM
Shaper
TF
Shaper
LUT
25. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
25
Blending
Gamma
Corr
Blend
Gamma
26. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Plane 3D LUT
Suitable for complex color transformations and adjustments between color channels
Supported size: 17x17x17 (4913 entries) and 9x9x9 (729)
Tetrahedral interpolation
Blue is the outermost dimension, red the innermost.
26
3dlut
func
3D LUT
3D LUT
27. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
27
Blending
Gamma
Corr
Blend
Gamma
28. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD Plane Blend TF and LUT
Linearize the color space again, after 3D LUT and before blending
NO hardcoded curves
Pre-defined TFs are calculated by AMD color module
● sRGB EOTF;
● BT.709 inverse OETF;
● PQ EOTF;
● Gamma 2.2, Gamma 2.4 and Gamma 2.6 EOTF.
The color module combines TF and user LUT into the LUT to DPP Blend Gamma block
28
blend
func
Blend
Gamma
Blend
TF
Blend
LUT
29. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Pre-blending: DRM plane + AMD DC DPP
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
29
Blending
Gamma
Corr
Blend
Gamma
30. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Post-blending: DRM CRTC + AMD DC MPC
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
TF
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
30
Blending
Gamma
Corr
Blend
Gamma
31. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
AMD CRTC Gamma TF
Delinearize/convert to wire encoding
NO hardcoded curves
Pre-defined TFs are calculated by AMD color module
● sRGB inverse EOTF;
● BT.709 OETF;
● PQ inverse EOTF;
● Gamma 2.2, Gamma 2.4 and Gamma 2.6 inverse EOTF.
The color module combines TF and user LUT into the LUT to MPC Gamma RAM block.
31
Gamma
TF
Gamma
LUT
out
func
Gamma
RAM
32. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
DRM/AMD Color Management Pipeline
input func gamut
remap
hdr
mult
shaper
func
3dlut
func
blend
func
Degam
ROM
Gamut
Remap
HDR
Mult
Shaper
RAM
3D LUT Blend
Gamma
Degamma
LUT
CTM
HDR
Mult
Shaper
TF
3D LUT
Degamma
TF
Blend
TF
Shaper
LUT
Blend
LUT
DRM/AMD plane
CTM
gamut
remap
Gamut
Remap
Gamma
TF
Gamma
LUT
Degam
LUT
out
func
Gamma
RAM
DRM CRTC
32
Blending
Gamma
Corr
33. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023 33
Steam Deck Color Pipeline
AMD Driver-Specific Color Properties
Image by catalyststuff on Freepik
34. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023 34
https://github.com/ValveSoftware/gamescope/blob/master/src/docs/Steam%20Deck%20Display%20Pipeline.png
35. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023 35
36. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
The search for the Rainbow
treasure is not over!
36
37. The Rainbow Treasure Map: advanced color management on Linux with AMD/SteamDeck
Melissa Wen, XDC 2023
Thank You!
We're hiring
www.igalia.com/jobs
37