SlideShare a Scribd company logo
1 of 12
Download to read offline
Status Update of the VKMS DRM
driver
Maíra Canal and Melissa Wen
A Coruña, XDC 2023
Virtual Kernel Mode Setting
VKMS is a software-only model of a KMS driver
● useful for testing and for running X (or similar) on headless machines;
● aims to enable a virtual display with no need of a hardware display capability;
DRM community project. GPU-vendor agnostic.
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Performance Improvement
Performance has been a historical problem for VKMS
We were able to improve the performance (~30%)
● All planes are blended at once.
● The blend calculus is done as per line instead of per pixel.
Memory consumption also improved: from width * height to 2 * width
● We don't need the whole image at once.
No more IGT timeouts :)
Thanks Igor Torrente and Pekka Paalanen!
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
The composition was executed on top of the primary plane.
● The primary plane needed to be enabled, visible and have the same size and
position as the CRTC.
Now, the composition is performed on top of a black background with the size of
the CRTC.
● The primary plane doesn't have to be visible, or even enabled.
● It can be positioned.
Full alpha-blending on all planes.
More IGT tests are passing!
Composition
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Support for multiple overlay planes when enable_overlay=1
● Thanks José Exposito!
VKMS used to support only ARGB8888 and XRGB8888.
● Format support was really attached to blending.
Now, VKMS has support for ARGB8888, XRGB8888, ARGB16161616, XRGB16161616,
and RGB565.
● Thanks Igor Torrente!
New features
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Support for plane rotation
● rotate-0, rotate-90, rotate-180, rotate-270, reflect-x and reflect-y.
Support a 1D gamma LUT with interpolation for each color channel.
● Thanks Arthur Grillo!
More IGT tests are passing!
New features
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Synchronization issues
● Deadlock between dev->event_lock and timer
● Race-condition between flushing and destroying
● Race-condition between the hrtimer and the atomic commit
Implement blend mode properties
Enable Virtual Hardware support
Support for multi-planar formats (e.g. NV12)
● Thanks Arthur Grillo!
Ongoing
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Support for multiple CRTCs
● Thanks Marius Vlad, Brandon Pollack and Jim Shargo!
Planes / CRTCs / Connectors setup via ConfigFS
● Thanks Brandon Pollack and Jim Shargo!
Addition of VKMS to the DRM CI pipeline
● Thanks Helen Koike!
Extending the color management support
● Thanks Harry Wentland!
Incoming work
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
https://dri.freedesktop.org/docs/drm/gpu/vkms.html#todo
Unit tests for the composition procedure
Fix failing tests on IGT detected by the DRM CI
TO-DO
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Testing Requirements for Userspace API
Anything that constitutes an API change should have driver-agnostic test cases
in IGT for that feature.
What if support on VKMS became a requirement for new KMS/generic APIs?
VKMS DRM/KMS API
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Getting started: https://docs.kernel.org/gpu/vkms.html
We need more reviewers!
Increase coverage of IGT tests
Do you want to contribute?
Status Update of the VKMS DRM driver
Maíra Canal and Melissa Wen, XDC 2023
Status Update of the VKMS DRM driver – XDC 2023

More Related Content

Similar to Status Update of the VKMS DRM driver – XDC 2023

Nokia 3GPP Industry e-Workshop on XR Sept 2020
Nokia 3GPP Industry e-Workshop on XR Sept 2020Nokia 3GPP Industry e-Workshop on XR Sept 2020
Nokia 3GPP Industry e-Workshop on XR Sept 2020Eiko Seidel
 
Elephant & mice flows
Elephant & mice flowsElephant & mice flows
Elephant & mice flowsJeff Green
 
MX – универсальная сервисная платформа. Вчера, сегодня, завтра.
MX – универсальная сервисная платформа. Вчера, сегодня, завтра.MX – универсальная сервисная платформа. Вчера, сегодня, завтра.
MX – универсальная сервисная платформа. Вчера, сегодня, завтра.SkillFactory
 
Virtual Reality in 5G Networks
Virtual Reality in 5G NetworksVirtual Reality in 5G Networks
Virtual Reality in 5G NetworksGwendal Simon
 
A REPORT ON CITRIX INDEPENDENT COMPUTING ARCHITECTURE (ICA) PROTOCOL
A REPORT ON CITRIX INDEPENDENT COMPUTING  ARCHITECTURE (ICA) PROTOCOL A REPORT ON CITRIX INDEPENDENT COMPUTING  ARCHITECTURE (ICA) PROTOCOL
A REPORT ON CITRIX INDEPENDENT COMPUTING ARCHITECTURE (ICA) PROTOCOL chaitanya ivvala
 
"Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon...
"Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon..."Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon...
"Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon...Edge AI and Vision Alliance
 
Evolution of deployment tooling @ Chronosphere - CraftConf 2023
Evolution of deployment tooling @ Chronosphere - CraftConf 2023Evolution of deployment tooling @ Chronosphere - CraftConf 2023
Evolution of deployment tooling @ Chronosphere - CraftConf 2023Mary Fesenko
 
toyota-Challenges towards New Software Platform for Automated Driving.pdf
toyota-Challenges towards New Software Platform for Automated Driving.pdftoyota-Challenges towards New Software Platform for Automated Driving.pdf
toyota-Challenges towards New Software Platform for Automated Driving.pdfxmumiao
 
Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...
Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...
Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...Nguyễn Hoàng (LightJSC)
 
Testing Network Routers for Extreme Scale and Performance
Testing Network Routers for Extreme Scale and Performance Testing Network Routers for Extreme Scale and Performance
Testing Network Routers for Extreme Scale and Performance Sailaja Tennati
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseKieran Kunhya
 
A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...Alpen-Adria-Universität
 
Trends in Visualization for Armoured Vehicles
Trends in Visualization for Armoured VehiclesTrends in Visualization for Armoured Vehicles
Trends in Visualization for Armoured Vehiclesjder
 
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLCCarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLCClark Heintz
 
High-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyHigh-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyMistral Solutions
 
CA Spectrum® Just Keeps Getting Better and Better
CA Spectrum® Just Keeps Getting Better and BetterCA Spectrum® Just Keeps Getting Better and Better
CA Spectrum® Just Keeps Getting Better and BetterCA Technologies
 
2020 MCS Industrial AI-edge-computer
2020 MCS Industrial AI-edge-computer2020 MCS Industrial AI-edge-computer
2020 MCS Industrial AI-edge-computerGrace Yang
 

Similar to Status Update of the VKMS DRM driver – XDC 2023 (20)

Nokia 3GPP Industry e-Workshop on XR Sept 2020
Nokia 3GPP Industry e-Workshop on XR Sept 2020Nokia 3GPP Industry e-Workshop on XR Sept 2020
Nokia 3GPP Industry e-Workshop on XR Sept 2020
 
Elephant & mice flows
Elephant & mice flowsElephant & mice flows
Elephant & mice flows
 
MX – универсальная сервисная платформа. Вчера, сегодня, завтра.
MX – универсальная сервисная платформа. Вчера, сегодня, завтра.MX – универсальная сервисная платформа. Вчера, сегодня, завтра.
MX – универсальная сервисная платформа. Вчера, сегодня, завтра.
 
Virtual Reality in 5G Networks
Virtual Reality in 5G NetworksVirtual Reality in 5G Networks
Virtual Reality in 5G Networks
 
A REPORT ON CITRIX INDEPENDENT COMPUTING ARCHITECTURE (ICA) PROTOCOL
A REPORT ON CITRIX INDEPENDENT COMPUTING  ARCHITECTURE (ICA) PROTOCOL A REPORT ON CITRIX INDEPENDENT COMPUTING  ARCHITECTURE (ICA) PROTOCOL
A REPORT ON CITRIX INDEPENDENT COMPUTING ARCHITECTURE (ICA) PROTOCOL
 
"Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon...
"Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon..."Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon...
"Combining Cloud and Edge Machine Learning to Deliver the Future of Video Mon...
 
Evolution of deployment tooling @ Chronosphere - CraftConf 2023
Evolution of deployment tooling @ Chronosphere - CraftConf 2023Evolution of deployment tooling @ Chronosphere - CraftConf 2023
Evolution of deployment tooling @ Chronosphere - CraftConf 2023
 
toyota-Challenges towards New Software Platform for Automated Driving.pdf
toyota-Challenges towards New Software Platform for Automated Driving.pdftoyota-Challenges towards New Software Platform for Automated Driving.pdf
toyota-Challenges towards New Software Platform for Automated Driving.pdf
 
Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...
Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...
Promise - Rich media storage solution- Thunderbolt3 storage solution - Pegasu...
 
Testing Network Routers for Extreme Scale and Performance
Testing Network Routers for Extreme Scale and Performance Testing Network Routers for Extreme Scale and Performance
Testing Network Routers for Extreme Scale and Performance
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
 
H.264 MDVRs
H.264 MDVRsH.264 MDVRs
H.264 MDVRs
 
A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...A Distributed Delivery Architecture for User Generated Content Live Streaming...
A Distributed Delivery Architecture for User Generated Content Live Streaming...
 
Trends in Visualization for Armoured Vehicles
Trends in Visualization for Armoured VehiclesTrends in Visualization for Armoured Vehicles
Trends in Visualization for Armoured Vehicles
 
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLCCarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
 
High-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case StudyHigh-Definition Rugged DVR - Case Study
High-Definition Rugged DVR - Case Study
 
CA Spectrum® Just Keeps Getting Better and Better
CA Spectrum® Just Keeps Getting Better and BetterCA Spectrum® Just Keeps Getting Better and Better
CA Spectrum® Just Keeps Getting Better and Better
 
GMSL in Linux
GMSL in LinuxGMSL in Linux
GMSL in Linux
 
2020 MCS Industrial AI-edge-computer
2020 MCS Industrial AI-edge-computer2020 MCS Industrial AI-edge-computer
2020 MCS Industrial AI-edge-computer
 
produse Evertz
produse Evertzproduse Evertz
produse Evertz
 

More from Igalia

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEIgalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesIgalia
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceIgalia
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfIgalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JITIgalia
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerIgalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in MesaIgalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera LinuxIgalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVMIgalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesIgalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webIgalia
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersIgalia
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...Igalia
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on RaspberryIgalia
 

More from Igalia (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 

Recently uploaded

Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctBrainSell Technologies
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 

Recently uploaded (20)

Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 

Status Update of the VKMS DRM driver – XDC 2023

  • 1. Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen A Coruña, XDC 2023
  • 2. Virtual Kernel Mode Setting VKMS is a software-only model of a KMS driver ● useful for testing and for running X (or similar) on headless machines; ● aims to enable a virtual display with no need of a hardware display capability; DRM community project. GPU-vendor agnostic. Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 3. Performance Improvement Performance has been a historical problem for VKMS We were able to improve the performance (~30%) ● All planes are blended at once. ● The blend calculus is done as per line instead of per pixel. Memory consumption also improved: from width * height to 2 * width ● We don't need the whole image at once. No more IGT timeouts :) Thanks Igor Torrente and Pekka Paalanen! Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 4. The composition was executed on top of the primary plane. ● The primary plane needed to be enabled, visible and have the same size and position as the CRTC. Now, the composition is performed on top of a black background with the size of the CRTC. ● The primary plane doesn't have to be visible, or even enabled. ● It can be positioned. Full alpha-blending on all planes. More IGT tests are passing! Composition Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 5. Support for multiple overlay planes when enable_overlay=1 ● Thanks José Exposito! VKMS used to support only ARGB8888 and XRGB8888. ● Format support was really attached to blending. Now, VKMS has support for ARGB8888, XRGB8888, ARGB16161616, XRGB16161616, and RGB565. ● Thanks Igor Torrente! New features Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 6. Support for plane rotation ● rotate-0, rotate-90, rotate-180, rotate-270, reflect-x and reflect-y. Support a 1D gamma LUT with interpolation for each color channel. ● Thanks Arthur Grillo! More IGT tests are passing! New features Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 7. Synchronization issues ● Deadlock between dev->event_lock and timer ● Race-condition between flushing and destroying ● Race-condition between the hrtimer and the atomic commit Implement blend mode properties Enable Virtual Hardware support Support for multi-planar formats (e.g. NV12) ● Thanks Arthur Grillo! Ongoing Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 8. Support for multiple CRTCs ● Thanks Marius Vlad, Brandon Pollack and Jim Shargo! Planes / CRTCs / Connectors setup via ConfigFS ● Thanks Brandon Pollack and Jim Shargo! Addition of VKMS to the DRM CI pipeline ● Thanks Helen Koike! Extending the color management support ● Thanks Harry Wentland! Incoming work Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 9. https://dri.freedesktop.org/docs/drm/gpu/vkms.html#todo Unit tests for the composition procedure Fix failing tests on IGT detected by the DRM CI TO-DO Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 10. Testing Requirements for Userspace API Anything that constitutes an API change should have driver-agnostic test cases in IGT for that feature. What if support on VKMS became a requirement for new KMS/generic APIs? VKMS DRM/KMS API Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023
  • 11. Getting started: https://docs.kernel.org/gpu/vkms.html We need more reviewers! Increase coverage of IGT tests Do you want to contribute? Status Update of the VKMS DRM driver Maíra Canal and Melissa Wen, XDC 2023