SlideShare a Scribd company logo
The 7th
Vulkan Developer Conference
Cambridge, UK | February 11-13, 2025
2025
Current state of Lavapipe:
Mesa’s software renderer for Vulkan
Lucas Fryzek, Igalia
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
2 / 23
Introduction
●
Working on Graphics drivers
since ~2016
●
Graphics software developer
at Igalia since 2023
– Contributing to Lavapipe
for the last year
– Working on platform
integration on Android
and performance
improvements for WSI
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
3 / 23
●
Why present Lavapipe?
●
Last year’s Vulkanised had a big discussion on a
“Reference Vulkan Driver”
●
Lavapipe is not an official reference but it is a
conformant Vulkan driver you can run just about
anywhere
Introduction
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
4 / 23
What is Lavapipe
●
Currently conformant
to Vulkan 1.3
●
Exposes all core Vulkan
1.4 extensions
– Has not been
submitted for
Conformance yet
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
5 / 23
What is Lavapipe?
●
An Open Source Vulkan software rasterizer
●
Uses LLVM to compile shaders into native code
●
Part of the Mesa driver ecosystem
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
6 / 23
Brief History of Lavapipe
●
Started in 2020 by Dave
Airlie
– Started as “Vallium”
quickly renamed to
“Lavapipe”
●
Originally could only run
basic Vulkan samples
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
7 / 23
Brief History of Lavapipe
●
In 2022 Vulkan 1.2
conformance and then 1.3
conformance
●
In 2024 Lavapipe exposed all
promoted extensions in Vulkan
1.4
●
Today can run most Vulkan
applications
– Although slower than a GPU
would
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
8 / 23
Why do I need a SW renderer?
●
Fallback for when GPU is not available or missing
extensions
●
On virtual machines (e.g. cloud devices) that don’t
have access to a GPU
●
Always accessible platform to test graphics code
against
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
9 / 23
Why use Lavapipe
●
Test the latest and greatest Vulkan functionality
before hardware vendors have had a chance to
implement them
➔ Lavapipe was used extensively for developing
VK CTS for
VK_EXT_device_generated_commands
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
10 / 23
Why use Lavapipe
●
Test graphics code on virtual machines
➔ For example, running Vulkan code inside CI
where runners don’t have access to a GPU
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
11 / 23
Why use Lavapipe
●
Always have a fallback driver for application that
need more modern HW features
●
Always have a fallback driver to test application vs
driver issues
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
12 / 23
Current state of Lavapipe
●
All extension promoted to core
●
in Vulkan 1.4 are supported
●
Supports advanced extensions
●
VK_KHR_ray_query
●
VK_EXT_device_generated_commands
●
VK_KHR_ray_tracing_pipeline
●
VK_EXT_shader_object
●
VK_EXT_mesh_shader
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
13 / 23
Comparing to other SW
Rasterizers
●
Only real alternative is SwiftShader
●
Swiftshader is also Vulkan 1.3 conformant
– Missing half of the extensions for Vulkan 1.4
●
Lavapipe is 42% faster in vkmark
– Testing on Ryzen 6850u with 32GB of RAM
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
14 / 23
How can I use Lavapipe?
●
Runs on
– Windows
– Mac
– Linux
– Android
●
Three options
●
Official binaries
●
Unofficial binaries
●
Build from source
●
https://gitlab.freedesktop.
org/mesa/mesa
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
15 / 23
How can I use Lavapipe?
●
Can use Vulkan Loader’s environment variables to
pick Lavapipe’s ICD file
– Set VK_DRIVER_FILES
– https://github.com/KhronosGroup/Vulkan-Loade
r/blob/main/docs/LoaderInterfaceArchitecture.m
d#table-of-debug-environment-variables
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
16 / 23
Lavapipe - Windows
●
Unofficial binaries available
– https://github.com/pal1000/
mesa-dist-win
●
Build from source
– https://docs.mesa3d.org/mes
on.html#windows-specific-ins
tructions
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
17 / 23
Lavapipe – Linux
●
Officially included by default in
most Linux distros
●
Build from source
●
https://docs.mesa3d.org/meson.
html#unix-like-oses
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
18 / 23
Lavapipe – Mac
●
Build from source
●
https://docs.mesa3d.org/meson.
html#unix-like-oses
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
19 / 23
Lavapipe - Android
●
Build from source out of the
android source tree
– https://docs.mesa3d.org/
drivers/llvmpipe.html#buil
ding-for-android
– https://docs.mesa3d.org/
android.html#adding-out-
of-tree-drivers-to-android
-os-image
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
20 / 23
Want to help out?
●
File an issue on mesa’s gitlab
– https://gitlab.freedesktop.org/mesa/mesa/-/issu
es/new
●
Send a message to #dri-devel on the OFTC IRC
server
●
Contact the mesa-users or mesa-dev mailing list
– https://docs.mesa3d.org/lists.html
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
21 / 23
Lavapipe Examples
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
22 / 23
<
Lucas Fryzek, Februrary 13, 2025
Current State of Lavapipe
23 / 23
Thanks!
Join us!
https://www.igalia.com/jobs
Ad

More Related Content

Similar to Current state of Lavapipe: Mesa's software renderer for Vulkan (20)

Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!
VMware Tanzu
 
Drupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowDrupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflow
valuebound
 
Stream Processing Solution for the Enterprise
Stream Processing Solution for the EnterpriseStream Processing Solution for the Enterprise
Stream Processing Solution for the Enterprise
HostedbyConfluent
 
Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021
Lalit Panwar
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
AMD Developer Central
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
Raül Pérez
 
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony AlvarezDevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Anthony Alvarez
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Christopher Bumgardner
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
MOVED: RDK/WPE Port on DB410C - SFO17-206
MOVED: RDK/WPE Port on DB410C - SFO17-206MOVED: RDK/WPE Port on DB410C - SFO17-206
MOVED: RDK/WPE Port on DB410C - SFO17-206
Linaro
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
Rubens Dos Santos Filho
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle Recap
Philipp Garbe
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
Jirayut Nimsaeng
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source Implementations
Kentaro Ebisawa
 
Vagrant for local and team WordPress Development
Vagrant for local and team WordPress DevelopmentVagrant for local and team WordPress Development
Vagrant for local and team WordPress Development
Anthony Alvarez
 
Overview of the Open Source Vulkan Driver for Raspberry Pi 4
Overview of the Open Source Vulkan Driver for Raspberry Pi  4Overview of the Open Source Vulkan Driver for Raspberry Pi  4
Overview of the Open Source Vulkan Driver for Raspberry Pi 4
Igalia
 
Make Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container EngineMake Accelerator Pluggable for Container Engine
Make Accelerator Pluggable for Container Engine
LinuxCon ContainerCon CloudOpen China
 
The Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS LebowskiThe Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS Lebowski
QAware GmbH
 
Swift server-side-let swift2016
Swift server-side-let swift2016Swift server-side-let swift2016
Swift server-side-let swift2016
Eric Ahn
 
Topic 13: Cloud Stacks
Topic 13: Cloud StacksTopic 13: Cloud Stacks
Topic 13: Cloud Stacks
Zubair Nabi
 
Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!
VMware Tanzu
 
Drupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflowDrupal 8 - Improving your development workflow
Drupal 8 - Improving your development workflow
valuebound
 
Stream Processing Solution for the Enterprise
Stream Processing Solution for the EnterpriseStream Processing Solution for the Enterprise
Stream Processing Solution for the Enterprise
HostedbyConfluent
 
Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021Mule soft meetup_chandigarh_#7_25_sept_2021
Mule soft meetup_chandigarh_#7_25_sept_2021
Lalit Panwar
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
AMD Developer Central
 
Docker 101 - From production to development
Docker 101 - From production to developmentDocker 101 - From production to development
Docker 101 - From production to development
Raül Pérez
 
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony AlvarezDevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
DevOps Camp 2017 NYC Local Development using Vagrant by Anthony Alvarez
Anthony Alvarez
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Christopher Bumgardner
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
MOVED: RDK/WPE Port on DB410C - SFO17-206
MOVED: RDK/WPE Port on DB410C - SFO17-206MOVED: RDK/WPE Port on DB410C - SFO17-206
MOVED: RDK/WPE Port on DB410C - SFO17-206
Linaro
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
Rubens Dos Santos Filho
 
DockerCon 2016 Seattle Recap
DockerCon 2016 Seattle RecapDockerCon 2016 Seattle Recap
DockerCon 2016 Seattle Recap
Philipp Garbe
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
Jirayut Nimsaeng
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source Implementations
Kentaro Ebisawa
 
Vagrant for local and team WordPress Development
Vagrant for local and team WordPress DevelopmentVagrant for local and team WordPress Development
Vagrant for local and team WordPress Development
Anthony Alvarez
 
Overview of the Open Source Vulkan Driver for Raspberry Pi 4
Overview of the Open Source Vulkan Driver for Raspberry Pi  4Overview of the Open Source Vulkan Driver for Raspberry Pi  4
Overview of the Open Source Vulkan Driver for Raspberry Pi 4
Igalia
 
The Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS LebowskiThe Big Cloud Native FaaS Lebowski
The Big Cloud Native FaaS Lebowski
QAware GmbH
 
Swift server-side-let swift2016
Swift server-side-let swift2016Swift server-side-let swift2016
Swift server-side-let swift2016
Eric Ahn
 
Topic 13: Cloud Stacks
Topic 13: Cloud StacksTopic 13: Cloud Stacks
Topic 13: Cloud Stacks
Zubair Nabi
 

More from Igalia (20)

Don't let your motivation go, save time with kworkflow
Don't let your motivation go, save time with kworkflowDon't let your motivation go, save time with kworkflow
Don't let your motivation go, save time with kworkflow
Igalia
 
Solving the world’s (localization) problems
Solving the world’s (localization) problemsSolving the world’s (localization) problems
Solving the world’s (localization) problems
Igalia
 
The Whippet Embeddable Garbage Collection Library
The Whippet Embeddable Garbage Collection LibraryThe Whippet Embeddable Garbage Collection Library
The Whippet Embeddable Garbage Collection Library
Igalia
 
Nobody asks "How is JavaScript?"
Nobody asks         "How is JavaScript?"Nobody asks         "How is JavaScript?"
Nobody asks "How is JavaScript?"
Igalia
 
Getting more juice out from your Raspberry Pi GPU
Getting more juice out from your Raspberry Pi GPUGetting more juice out from your Raspberry Pi GPU
Getting more juice out from your Raspberry Pi GPU
Igalia
 
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status updateWebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
Igalia
 
Demystifying Temporal: A Deep Dive into JavaScript New Temporal API
Demystifying Temporal: A Deep Dive into JavaScript New Temporal APIDemystifying Temporal: A Deep Dive into JavaScript New Temporal API
Demystifying Temporal: A Deep Dive into JavaScript New Temporal API
Igalia
 
CSS :has() Unlimited Power
CSS :has()               Unlimited PowerCSS :has()               Unlimited Power
CSS :has() Unlimited Power
Igalia
 
Device-Generated Commands in Vulkan
Device-Generated Commands      in VulkanDevice-Generated Commands      in Vulkan
Device-Generated Commands in Vulkan
Igalia
 
Vulkan Video is Open: Application showcase
Vulkan Video is Open: Application showcaseVulkan Video is Open: Application showcase
Vulkan Video is Open: Application showcase
Igalia
 
Scheme on WebAssembly: It is happening!
Scheme on WebAssembly:  It is happening!Scheme on WebAssembly:  It is happening!
Scheme on WebAssembly: It is happening!
Igalia
 
EBC - A new backend compiler for etnaviv
EBC - A new backend compiler for etnavivEBC - A new backend compiler for etnaviv
EBC - A new backend compiler for etnaviv
Igalia
 
RISC-V LLVM State of the Union
RISC-V LLVM           State of the UnionRISC-V LLVM           State of the Union
RISC-V LLVM State of the Union
Igalia
 
Device-Generated Commands in Vulkan
Device-Generated Commands      in VulkanDevice-Generated Commands      in Vulkan
Device-Generated Commands in Vulkan
Igalia
 
Downstream challenges
Downstream                    challengesDownstream                    challenges
Downstream challenges
Igalia
 
Using Chrome for Building Apps
Using Chrome           for Building AppsUsing Chrome           for Building Apps
Using Chrome for Building Apps
Igalia
 
Sustainable Futures - Funding the Web Ecosystem v2 - fonts.pdf
Sustainable Futures - Funding the Web Ecosystem v2 - fonts.pdfSustainable Futures - Funding the Web Ecosystem v2 - fonts.pdf
Sustainable Futures - Funding the Web Ecosystem v2 - fonts.pdf
Igalia
 
New and upcoming features in the Node.js module loaders
New and upcoming features in the Node.js module loadersNew and upcoming features in the Node.js module loaders
New and upcoming features in the Node.js module loaders
Igalia
 
WebDriver BiDi in WebKit
WebDriver BiDi in WebKitWebDriver BiDi in WebKit
WebDriver BiDi in WebKit
Igalia
 
Skia integration in WebKit Linux ports
Skia integration in WebKit Linux portsSkia integration in WebKit Linux ports
Skia integration in WebKit Linux ports
Igalia
 
Don't let your motivation go, save time with kworkflow
Don't let your motivation go, save time with kworkflowDon't let your motivation go, save time with kworkflow
Don't let your motivation go, save time with kworkflow
Igalia
 
Solving the world’s (localization) problems
Solving the world’s (localization) problemsSolving the world’s (localization) problems
Solving the world’s (localization) problems
Igalia
 
The Whippet Embeddable Garbage Collection Library
The Whippet Embeddable Garbage Collection LibraryThe Whippet Embeddable Garbage Collection Library
The Whippet Embeddable Garbage Collection Library
Igalia
 
Nobody asks "How is JavaScript?"
Nobody asks         "How is JavaScript?"Nobody asks         "How is JavaScript?"
Nobody asks "How is JavaScript?"
Igalia
 
Getting more juice out from your Raspberry Pi GPU
Getting more juice out from your Raspberry Pi GPUGetting more juice out from your Raspberry Pi GPU
Getting more juice out from your Raspberry Pi GPU
Igalia
 
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status updateWebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
WebRTC support in WebKitGTK and WPEWebKit with GStreamer: Status update
Igalia
 
Demystifying Temporal: A Deep Dive into JavaScript New Temporal API
Demystifying Temporal: A Deep Dive into JavaScript New Temporal APIDemystifying Temporal: A Deep Dive into JavaScript New Temporal API
Demystifying Temporal: A Deep Dive into JavaScript New Temporal API
Igalia
 
CSS :has() Unlimited Power
CSS :has()               Unlimited PowerCSS :has()               Unlimited Power
CSS :has() Unlimited Power
Igalia
 
Device-Generated Commands in Vulkan
Device-Generated Commands      in VulkanDevice-Generated Commands      in Vulkan
Device-Generated Commands in Vulkan
Igalia
 
Vulkan Video is Open: Application showcase
Vulkan Video is Open: Application showcaseVulkan Video is Open: Application showcase
Vulkan Video is Open: Application showcase
Igalia
 
Scheme on WebAssembly: It is happening!
Scheme on WebAssembly:  It is happening!Scheme on WebAssembly:  It is happening!
Scheme on WebAssembly: It is happening!
Igalia
 
EBC - A new backend compiler for etnaviv
EBC - A new backend compiler for etnavivEBC - A new backend compiler for etnaviv
EBC - A new backend compiler for etnaviv
Igalia
 
RISC-V LLVM State of the Union
RISC-V LLVM           State of the UnionRISC-V LLVM           State of the Union
RISC-V LLVM State of the Union
Igalia
 
Device-Generated Commands in Vulkan
Device-Generated Commands      in VulkanDevice-Generated Commands      in Vulkan
Device-Generated Commands in Vulkan
Igalia
 
Downstream challenges
Downstream                    challengesDownstream                    challenges
Downstream challenges
Igalia
 
Using Chrome for Building Apps
Using Chrome           for Building AppsUsing Chrome           for Building Apps
Using Chrome for Building Apps
Igalia
 
Sustainable Futures - Funding the Web Ecosystem v2 - fonts.pdf
Sustainable Futures - Funding the Web Ecosystem v2 - fonts.pdfSustainable Futures - Funding the Web Ecosystem v2 - fonts.pdf
Sustainable Futures - Funding the Web Ecosystem v2 - fonts.pdf
Igalia
 
New and upcoming features in the Node.js module loaders
New and upcoming features in the Node.js module loadersNew and upcoming features in the Node.js module loaders
New and upcoming features in the Node.js module loaders
Igalia
 
WebDriver BiDi in WebKit
WebDriver BiDi in WebKitWebDriver BiDi in WebKit
WebDriver BiDi in WebKit
Igalia
 
Skia integration in WebKit Linux ports
Skia integration in WebKit Linux portsSkia integration in WebKit Linux ports
Skia integration in WebKit Linux ports
Igalia
 
Ad

Recently uploaded (20)

Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Ad

Current state of Lavapipe: Mesa's software renderer for Vulkan

  • 1. The 7th Vulkan Developer Conference Cambridge, UK | February 11-13, 2025 2025 Current state of Lavapipe: Mesa’s software renderer for Vulkan Lucas Fryzek, Igalia
  • 2. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 2 / 23 Introduction ● Working on Graphics drivers since ~2016 ● Graphics software developer at Igalia since 2023 – Contributing to Lavapipe for the last year – Working on platform integration on Android and performance improvements for WSI
  • 3. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 3 / 23 ● Why present Lavapipe? ● Last year’s Vulkanised had a big discussion on a “Reference Vulkan Driver” ● Lavapipe is not an official reference but it is a conformant Vulkan driver you can run just about anywhere Introduction
  • 4. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 4 / 23 What is Lavapipe ● Currently conformant to Vulkan 1.3 ● Exposes all core Vulkan 1.4 extensions – Has not been submitted for Conformance yet
  • 5. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 5 / 23 What is Lavapipe? ● An Open Source Vulkan software rasterizer ● Uses LLVM to compile shaders into native code ● Part of the Mesa driver ecosystem
  • 6. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 6 / 23 Brief History of Lavapipe ● Started in 2020 by Dave Airlie – Started as “Vallium” quickly renamed to “Lavapipe” ● Originally could only run basic Vulkan samples
  • 7. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 7 / 23 Brief History of Lavapipe ● In 2022 Vulkan 1.2 conformance and then 1.3 conformance ● In 2024 Lavapipe exposed all promoted extensions in Vulkan 1.4 ● Today can run most Vulkan applications – Although slower than a GPU would
  • 8. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 8 / 23 Why do I need a SW renderer? ● Fallback for when GPU is not available or missing extensions ● On virtual machines (e.g. cloud devices) that don’t have access to a GPU ● Always accessible platform to test graphics code against
  • 9. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 9 / 23 Why use Lavapipe ● Test the latest and greatest Vulkan functionality before hardware vendors have had a chance to implement them ➔ Lavapipe was used extensively for developing VK CTS for VK_EXT_device_generated_commands
  • 10. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 10 / 23 Why use Lavapipe ● Test graphics code on virtual machines ➔ For example, running Vulkan code inside CI where runners don’t have access to a GPU
  • 11. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 11 / 23 Why use Lavapipe ● Always have a fallback driver for application that need more modern HW features ● Always have a fallback driver to test application vs driver issues
  • 12. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 12 / 23 Current state of Lavapipe ● All extension promoted to core ● in Vulkan 1.4 are supported ● Supports advanced extensions ● VK_KHR_ray_query ● VK_EXT_device_generated_commands ● VK_KHR_ray_tracing_pipeline ● VK_EXT_shader_object ● VK_EXT_mesh_shader
  • 13. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 13 / 23 Comparing to other SW Rasterizers ● Only real alternative is SwiftShader ● Swiftshader is also Vulkan 1.3 conformant – Missing half of the extensions for Vulkan 1.4 ● Lavapipe is 42% faster in vkmark – Testing on Ryzen 6850u with 32GB of RAM
  • 14. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 14 / 23 How can I use Lavapipe? ● Runs on – Windows – Mac – Linux – Android ● Three options ● Official binaries ● Unofficial binaries ● Build from source ● https://gitlab.freedesktop. org/mesa/mesa
  • 15. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 15 / 23 How can I use Lavapipe? ● Can use Vulkan Loader’s environment variables to pick Lavapipe’s ICD file – Set VK_DRIVER_FILES – https://github.com/KhronosGroup/Vulkan-Loade r/blob/main/docs/LoaderInterfaceArchitecture.m d#table-of-debug-environment-variables
  • 16. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 16 / 23 Lavapipe - Windows ● Unofficial binaries available – https://github.com/pal1000/ mesa-dist-win ● Build from source – https://docs.mesa3d.org/mes on.html#windows-specific-ins tructions
  • 17. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 17 / 23 Lavapipe – Linux ● Officially included by default in most Linux distros ● Build from source ● https://docs.mesa3d.org/meson. html#unix-like-oses
  • 18. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 18 / 23 Lavapipe – Mac ● Build from source ● https://docs.mesa3d.org/meson. html#unix-like-oses
  • 19. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 19 / 23 Lavapipe - Android ● Build from source out of the android source tree – https://docs.mesa3d.org/ drivers/llvmpipe.html#buil ding-for-android – https://docs.mesa3d.org/ android.html#adding-out- of-tree-drivers-to-android -os-image
  • 20. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 20 / 23 Want to help out? ● File an issue on mesa’s gitlab – https://gitlab.freedesktop.org/mesa/mesa/-/issu es/new ● Send a message to #dri-devel on the OFTC IRC server ● Contact the mesa-users or mesa-dev mailing list – https://docs.mesa3d.org/lists.html
  • 21. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 21 / 23 Lavapipe Examples
  • 22. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 22 / 23 <
  • 23. Lucas Fryzek, Februrary 13, 2025 Current State of Lavapipe 23 / 23 Thanks! Join us! https://www.igalia.com/jobs