SlideShare a Scribd company logo
How Igalia is Driving Innovation
in Embedded Systems with
Open Source Technologies
Manuel Rego & Mario Sánchez-Prada
Embedded Open Source Summit 2023
1
About us
Manuel Rego Mario Sánchez-Prada
rego@igalia.com mario@igalia.com
2
3
About Igalia
Highly specialized Open Source consultancy founded in 2001
Worker-owned, employee-run, flat structure (140+ igalians)
Top contributors to Chromium, WebKit and Gecko
Active contributor to other OSS projects
V8, SpiderMonkey, JSC, LLVM, Node.js, GStreamer, Mesa, Linux Kernel...
Members of several working groups:
W3C, WHATWG, WPT, TC39, OpenJS, Test262, Khronos...
4
Embedded devices
Web UIs are used for a wide range of different use cases
GStreamer often used for multimedia (e.g. HW-accel, MSE, EME)
Wayland and DRM/KMS widely used in embedded devices
Good graphics drivers crucial to optimal performance
Linux as the most widely used OS in embedded devices
Virtual and Augmented reality
5
Igalia and embedded devices
Smart TVs, set-top-boxes and video game consoles
Smart home appliances and home automation devices
Hi-Fi audio systems and video editing devices
In-vehicle and in-flight infotainment systems
Navigational and GPS-based instrumentation
Virtual and Augmented reality headsets
Digital signage
6
Web Rendering Engines
7
WPE WebKit
8
WPE WebKit
WebKit: OSS Web rendering engine for desktop & embedded
WPE: WebKit port for embedded devices
Focus on flexibility, security and performance on lower-powered devices
Great for HW-based acceleration and specific integration requirements
Widely used for multimedia (i.e. MSE, EME, WebRTC, WebAudio...)
Also useful for other use cases e.g. server-side, headless Web rendering...
https://wpewebkit.org/
9
Igalia and WebKit
Second committer to WebKit project after Apple
15+ years of contributions. 22 reviewers, 44 committers
Lead developers of the two only Linux-based WebKit ports
WebKitGTK and WPE (started from scratch in 2014)
Implementation of Web standards and JavaScript features
GStreamer-based multimedia stack in WebKitGTK and WPE
Accessibility support on Linux
Other: 32-bit systems, performance, bugfixing, QA...
10
Igalia, WPE WebKit and embedded
Development and maintenance of WPE for RDK set-top-boxes
New HW-accelerated SVG engine in WebKit
Integration of WPE's GStreamer backends with DRM systems
Custom WPE backends for specific Hardware
Experiments about supporting WPE on Android devices
Maintenance of downstream forks for customers
11
12
Chromium
13
Chromium
Standalone Open Source Web browser (not just the engine)
Available for different platforms, desktop & mobile
Windows, Mac OS, Linux, Android and iOS
Used as the base of several browsers and apps:
e.g. Chrome & ChromeOS, Edge, Opera, Samsung Browser, CEF, Electron...
Also used on embedded devices for certain use cases
e.g. Automotive Grade Linux (AGL)
https://chromium.org/
14
Igalia and Chromium
Second committer to Chromium project after Google
10+ years of contributions. 14 owners, 25 committers
Lead developers of native Wayland support
Implementation of Web standards and JavaScript features
Accessibility support
Other: performance, bugfixing, refactoring, code health...
15
Igalia, Chromium and embedded
Ported Chromium to specific hardware platforms
Deployment of Chromium-based Web runtimes (e.g. WebOS)
Active members of the Automotive Grade Linux project
Maintenance of downstream forks for customers
16
17
18
Servo
Independent, modular, embeddable Web rendering engine
Focus on speed, security, API for embedders and cross-platform support (currently on
Windows, Mac, Linux)
Written in Rust: memory safety, concurrency
https://servo.org/
19
Igalia and Servo
R&D effort started in 2012 (Mozilla Research)
Initial participation from Igalia from 2014 to 2020.
Servo moved from Mozilla Research to the LF in 2020
Original mission remained unchanged
Igalia took over Servo maintenance in 2023
: upgrade main dependencies, CSS2 conformance, embeddable Web
engine experiments, Android
2023 roadmap
20
Igalia, Servo and embedded
Embedded devices that need a small, fast and secure Web view
Simple embedded Web applications (controlled environment)
Advanced Web features like WebGL, WebGPU, WebXR...
Use cases: kiosk mode applications, UI frameworks...
21
Multimedia & Graphics
22
23
GStreamer
Reference framework for Linux-based multimedia
Flexible architecture design i.e. pipelines & plugins
Multiple use cases: media players, Web browsers, video editors, transcoders, streaming
services, server-side rendering...
24
Igalia and GStreamer
Top consultancy company with GStreamer in Web engines
Second contributor to GStreamer in the past 5 years
15+ years of contributions to GStreamer. 9 contributors
Strong experience in multimedia in embedded devices
Lead development of GStreamer-based back-ends of WebKit:
Video playback, WebAudio, WebRTC, adaptive streaming, MSE, EME...
GStreamer-VA, Vulkan elements: HW-accelerated plugins
Video encoding, decoding, post-processing and rendering plugins
GStreamer Editing Services, Pitivi: API for nonlinear video editing, OpenTimelineIO-
compatible video editor
25
Igalia, GStreamer and embedded
New GStreamer features developed upstream (core & pugins)
Enable key features crucial for the embeddeding industry
GStreamer-based back-ends in different Web rendering engines
Direct impact in millions of embedded devices (e.g. set-top-boxes)
Improving performance by providing HW acceleration solutions
Key for constrained and lower-powered devices
Integration with different multimedia libraries
Adapt and develop GStreamer pipelines tailored to specific HW
26
Mesa 3D
27
Mesa
Mesa:
Open Source implementation (library) of OpenGL and Vulkan
Includes graphics drivers for different GPU vendors
OpenGL and Vulkan:
Cross-platform APIs to expose GPU HW to application programmers
Developed by the Khronos group
28
Igalia and Mesa
9+ years of contributions to the Mesa project
Development and maintenance of Mesa drivers for OpenGL and Vulkan aimed at
different GPU hardware platforms
Conformance Tests Suites (CTS): OpenGL and Vulkan
Work to expand API coverage to become conformant with different versions
29
Igalia, Mesa and embedded
OpenGL & Vulkan drivers development for different GPUs
e.g Raspberry Pi, Qualcomm Adreno, Vivante
Developed a Vulkan driver for Raspberry Pi 4
Started on January 2020, Vulkan 1.2 conformant
HW-accelerated encoding/decoding support
Optimization of graphics pipelines
Integration with the underlying graphical systems
e.g. Wayland, DRM/KMS
30
Operating systems
31
Operating systems
The Linux Kernel:
Low-level abstraction layers
Exposes I/O devices
Processes & memory management, filesystems, CPU schedulers, drivers...
Most common kernel used in embedded devices
Other components:
Windowing systems, drivers, desktop integration, i18n/l10n, sandboxing...
32
Igalia and Linux-based OS's
10+ years in the lower layers of the kernel
20+ years of experience as Debian developers
Maintenance of the RISC-V Debian port
Maintainers of the VKMS (virtual display i.e. for headless use)
Contributors to Linux kernel drivers for different GPUs:
VideoCore (vc4, c3d), AMD (amdgpu), Vivante (etnaviv)
Other: distros customization, power management, filesystems (btrfs), kdump/kexec,
udisks, futex2, flatpak, graphical toolkits...
33
Igalia, Linux and embedded
Build systems, tools and frameworks: Yocto, Buildroot...
Linux device drivers: networking, graphics...
Creation of Linux distributions and/or filesystems
Adaptation aimed at specific hardware requirements
Porting software to custom embedded OS's
34
Virtual & Augmented Reality
35
36
Wolvic
Open Source Web browser for Virtual Reality
Supports immersive experiences
Started by Mozilla as Firefox Reality in 2018, currently being developed and maintained
by Igalia since 2022
Available in several app stores from VR devices:
Huawei app gallery, Meta Quest app store, Pico XR app store
Support for a growing range of devices:
Meta Quest2 and Meta Quest Pro, Huawei VR Glasses, Pico4 and Pico4E, Qualcomm Snapdragon
Spaces...
https://wolvic.com
37
38
Vision of embedded
devices and technologies
39
Open Source
Embedded systems are attached to Open Source
High impact projects are basic assets in the embedding industry
Major organizations are contributing upstream to these projects
40
Web Platform
Web engines are extremely relevant for embedded devices
They are not just for Web browsers
Web-based UIs are getting more popular
The Web is an openly developed platform
Under continuous evolution
Alternatives can bring diversity to the Web platform ecosystem
41
Highly specialized expertise
Embedded devices have a different set of requirements and needs
Development of new features targeted for embedded systems
Performance optimizations across all the layers of the stack
42
Wrap up
Explosion of interconnected smart devices
Lower-powered and constrained devices
Reduce carbon footprint, focus on extending life of devices
Tension between product features, hardware capabilities and power consumption
(i.e. "more with less")
43
Thanks
44
45

More Related Content

Similar to How Igalia Is Driving Innovation In Embedded Systems With Open Source Technologies

Android understanding
Android understandingAndroid understanding
Android understanding
Ramesh Rao
 
Android
AndroidAndroid
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
Pearce Barry
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
kahunasystems
 
Android seminar-report-body.doc
Android seminar-report-body.docAndroid seminar-report-body.doc
Android seminar-report-body.doc
Deepak Yadav
 
Android
Android Android
Develop, deploy and manage your IoT Fleet with Balena - IoT Portugal Meetup
Develop, deploy and manage your IoT Fleet with Balena - IoT Portugal MeetupDevelop, deploy and manage your IoT Fleet with Balena - IoT Portugal Meetup
Develop, deploy and manage your IoT Fleet with Balena - IoT Portugal Meetup
Balena
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
amitgb
 
Android..overwiew
Android..overwiewAndroid..overwiew
Android..overwiew
Sai Teja
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
GDG Saint Petersburg
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
Benjamin Zores
 
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LISTCOMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
tarun kumar sharma
 
A164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkA164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdk
Toby Corbin
 
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
AVEVA
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
Nilay Binjola
 
Introduction to Android.ppt
Introduction to Android.pptIntroduction to Android.ppt
Introduction to Android.ppt
ahmadfaisal744721
 
Csc533 ch3a mm_framework
Csc533 ch3a mm_frameworkCsc533 ch3a mm_framework
Csc533 ch3a mm_framework
Erkks Hohoho
 
Streaming Multimedia content distribution system using mobile application by...
Streaming  Multimedia content distribution system using mobile application by...Streaming  Multimedia content distribution system using mobile application by...
Streaming Multimedia content distribution system using mobile application by...
Grey Matter India Technologies PVT LTD
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
Adhoura Academy
 
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Codemotion
 

Similar to How Igalia Is Driving Innovation In Embedded Systems With Open Source Technologies (20)

Android understanding
Android understandingAndroid understanding
Android understanding
 
Android
AndroidAndroid
Android
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
 
Android seminar-report-body.doc
Android seminar-report-body.docAndroid seminar-report-body.doc
Android seminar-report-body.doc
 
Android
Android Android
Android
 
Develop, deploy and manage your IoT Fleet with Balena - IoT Portugal Meetup
Develop, deploy and manage your IoT Fleet with Balena - IoT Portugal MeetupDevelop, deploy and manage your IoT Fleet with Balena - IoT Portugal Meetup
Develop, deploy and manage your IoT Fleet with Balena - IoT Portugal Meetup
 
Getting started with android
Getting started with androidGetting started with android
Getting started with android
 
Android..overwiew
Android..overwiewAndroid..overwiew
Android..overwiew
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
 
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LISTCOMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
COMPUTER GRAPHICS AND MULTI MEDIA SOFTWARE LIST
 
A164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkA164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdk
 
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
 
Introduction to Android.ppt
Introduction to Android.pptIntroduction to Android.ppt
Introduction to Android.ppt
 
Csc533 ch3a mm_framework
Csc533 ch3a mm_frameworkCsc533 ch3a mm_framework
Csc533 ch3a mm_framework
 
Streaming Multimedia content distribution system using mobile application by...
Streaming  Multimedia content distribution system using mobile application by...Streaming  Multimedia content distribution system using mobile application by...
Streaming Multimedia content distribution system using mobile application by...
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
 
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
Keynote Microsoft: The new Microsoft in a cloud-first, mobile-first open worl...
 

More from Igalia

The journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland supportThe journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland support
Igalia
 
Sustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web EcosystemSustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web Ecosystem
Igalia
 
Status of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKitStatus of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKit
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
 
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 Devices
Igalia
 
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
Igalia
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
Igalia
 
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
Igalia
 
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 GStreamer
Igalia
 
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
Igalia
 
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
Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
Igalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
Igalia
 
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
Igalia
 
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
Igalia
 
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
Igalia
 
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
Igalia
 
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
Igalia
 

More from Igalia (20)

The journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland supportThe journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland support
 
Sustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web EcosystemSustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web Ecosystem
 
Status of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKitStatus of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKit
 
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?
 
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
 

Recently uploaded

How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabhQuarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
aisafed42
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
anfaltahir1010
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 

Recently uploaded (20)

How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabhQuarter 3 SLRP grade 9.. gshajsbhhaheabh
Quarter 3 SLRP grade 9.. gshajsbhhaheabh
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 

How Igalia Is Driving Innovation In Embedded Systems With Open Source Technologies

  • 1. How Igalia is Driving Innovation in Embedded Systems with Open Source Technologies Manuel Rego & Mario Sánchez-Prada Embedded Open Source Summit 2023 1
  • 2. About us Manuel Rego Mario Sánchez-Prada rego@igalia.com mario@igalia.com 2
  • 3. 3
  • 4. About Igalia Highly specialized Open Source consultancy founded in 2001 Worker-owned, employee-run, flat structure (140+ igalians) Top contributors to Chromium, WebKit and Gecko Active contributor to other OSS projects V8, SpiderMonkey, JSC, LLVM, Node.js, GStreamer, Mesa, Linux Kernel... Members of several working groups: W3C, WHATWG, WPT, TC39, OpenJS, Test262, Khronos... 4
  • 5. Embedded devices Web UIs are used for a wide range of different use cases GStreamer often used for multimedia (e.g. HW-accel, MSE, EME) Wayland and DRM/KMS widely used in embedded devices Good graphics drivers crucial to optimal performance Linux as the most widely used OS in embedded devices Virtual and Augmented reality 5
  • 6. Igalia and embedded devices Smart TVs, set-top-boxes and video game consoles Smart home appliances and home automation devices Hi-Fi audio systems and video editing devices In-vehicle and in-flight infotainment systems Navigational and GPS-based instrumentation Virtual and Augmented reality headsets Digital signage 6
  • 9. WPE WebKit WebKit: OSS Web rendering engine for desktop & embedded WPE: WebKit port for embedded devices Focus on flexibility, security and performance on lower-powered devices Great for HW-based acceleration and specific integration requirements Widely used for multimedia (i.e. MSE, EME, WebRTC, WebAudio...) Also useful for other use cases e.g. server-side, headless Web rendering... https://wpewebkit.org/ 9
  • 10. Igalia and WebKit Second committer to WebKit project after Apple 15+ years of contributions. 22 reviewers, 44 committers Lead developers of the two only Linux-based WebKit ports WebKitGTK and WPE (started from scratch in 2014) Implementation of Web standards and JavaScript features GStreamer-based multimedia stack in WebKitGTK and WPE Accessibility support on Linux Other: 32-bit systems, performance, bugfixing, QA... 10
  • 11. Igalia, WPE WebKit and embedded Development and maintenance of WPE for RDK set-top-boxes New HW-accelerated SVG engine in WebKit Integration of WPE's GStreamer backends with DRM systems Custom WPE backends for specific Hardware Experiments about supporting WPE on Android devices Maintenance of downstream forks for customers 11
  • 12. 12
  • 14. Chromium Standalone Open Source Web browser (not just the engine) Available for different platforms, desktop & mobile Windows, Mac OS, Linux, Android and iOS Used as the base of several browsers and apps: e.g. Chrome & ChromeOS, Edge, Opera, Samsung Browser, CEF, Electron... Also used on embedded devices for certain use cases e.g. Automotive Grade Linux (AGL) https://chromium.org/ 14
  • 15. Igalia and Chromium Second committer to Chromium project after Google 10+ years of contributions. 14 owners, 25 committers Lead developers of native Wayland support Implementation of Web standards and JavaScript features Accessibility support Other: performance, bugfixing, refactoring, code health... 15
  • 16. Igalia, Chromium and embedded Ported Chromium to specific hardware platforms Deployment of Chromium-based Web runtimes (e.g. WebOS) Active members of the Automotive Grade Linux project Maintenance of downstream forks for customers 16
  • 17. 17
  • 18. 18
  • 19. Servo Independent, modular, embeddable Web rendering engine Focus on speed, security, API for embedders and cross-platform support (currently on Windows, Mac, Linux) Written in Rust: memory safety, concurrency https://servo.org/ 19
  • 20. Igalia and Servo R&D effort started in 2012 (Mozilla Research) Initial participation from Igalia from 2014 to 2020. Servo moved from Mozilla Research to the LF in 2020 Original mission remained unchanged Igalia took over Servo maintenance in 2023 : upgrade main dependencies, CSS2 conformance, embeddable Web engine experiments, Android 2023 roadmap 20
  • 21. Igalia, Servo and embedded Embedded devices that need a small, fast and secure Web view Simple embedded Web applications (controlled environment) Advanced Web features like WebGL, WebGPU, WebXR... Use cases: kiosk mode applications, UI frameworks... 21
  • 23. 23
  • 24. GStreamer Reference framework for Linux-based multimedia Flexible architecture design i.e. pipelines & plugins Multiple use cases: media players, Web browsers, video editors, transcoders, streaming services, server-side rendering... 24
  • 25. Igalia and GStreamer Top consultancy company with GStreamer in Web engines Second contributor to GStreamer in the past 5 years 15+ years of contributions to GStreamer. 9 contributors Strong experience in multimedia in embedded devices Lead development of GStreamer-based back-ends of WebKit: Video playback, WebAudio, WebRTC, adaptive streaming, MSE, EME... GStreamer-VA, Vulkan elements: HW-accelerated plugins Video encoding, decoding, post-processing and rendering plugins GStreamer Editing Services, Pitivi: API for nonlinear video editing, OpenTimelineIO- compatible video editor 25
  • 26. Igalia, GStreamer and embedded New GStreamer features developed upstream (core & pugins) Enable key features crucial for the embeddeding industry GStreamer-based back-ends in different Web rendering engines Direct impact in millions of embedded devices (e.g. set-top-boxes) Improving performance by providing HW acceleration solutions Key for constrained and lower-powered devices Integration with different multimedia libraries Adapt and develop GStreamer pipelines tailored to specific HW 26
  • 28. Mesa Mesa: Open Source implementation (library) of OpenGL and Vulkan Includes graphics drivers for different GPU vendors OpenGL and Vulkan: Cross-platform APIs to expose GPU HW to application programmers Developed by the Khronos group 28
  • 29. Igalia and Mesa 9+ years of contributions to the Mesa project Development and maintenance of Mesa drivers for OpenGL and Vulkan aimed at different GPU hardware platforms Conformance Tests Suites (CTS): OpenGL and Vulkan Work to expand API coverage to become conformant with different versions 29
  • 30. Igalia, Mesa and embedded OpenGL & Vulkan drivers development for different GPUs e.g Raspberry Pi, Qualcomm Adreno, Vivante Developed a Vulkan driver for Raspberry Pi 4 Started on January 2020, Vulkan 1.2 conformant HW-accelerated encoding/decoding support Optimization of graphics pipelines Integration with the underlying graphical systems e.g. Wayland, DRM/KMS 30
  • 32. Operating systems The Linux Kernel: Low-level abstraction layers Exposes I/O devices Processes & memory management, filesystems, CPU schedulers, drivers... Most common kernel used in embedded devices Other components: Windowing systems, drivers, desktop integration, i18n/l10n, sandboxing... 32
  • 33. Igalia and Linux-based OS's 10+ years in the lower layers of the kernel 20+ years of experience as Debian developers Maintenance of the RISC-V Debian port Maintainers of the VKMS (virtual display i.e. for headless use) Contributors to Linux kernel drivers for different GPUs: VideoCore (vc4, c3d), AMD (amdgpu), Vivante (etnaviv) Other: distros customization, power management, filesystems (btrfs), kdump/kexec, udisks, futex2, flatpak, graphical toolkits... 33
  • 34. Igalia, Linux and embedded Build systems, tools and frameworks: Yocto, Buildroot... Linux device drivers: networking, graphics... Creation of Linux distributions and/or filesystems Adaptation aimed at specific hardware requirements Porting software to custom embedded OS's 34
  • 35. Virtual & Augmented Reality 35
  • 36. 36
  • 37. Wolvic Open Source Web browser for Virtual Reality Supports immersive experiences Started by Mozilla as Firefox Reality in 2018, currently being developed and maintained by Igalia since 2022 Available in several app stores from VR devices: Huawei app gallery, Meta Quest app store, Pico XR app store Support for a growing range of devices: Meta Quest2 and Meta Quest Pro, Huawei VR Glasses, Pico4 and Pico4E, Qualcomm Snapdragon Spaces... https://wolvic.com 37
  • 38. 38
  • 39. Vision of embedded devices and technologies 39
  • 40. Open Source Embedded systems are attached to Open Source High impact projects are basic assets in the embedding industry Major organizations are contributing upstream to these projects 40
  • 41. Web Platform Web engines are extremely relevant for embedded devices They are not just for Web browsers Web-based UIs are getting more popular The Web is an openly developed platform Under continuous evolution Alternatives can bring diversity to the Web platform ecosystem 41
  • 42. Highly specialized expertise Embedded devices have a different set of requirements and needs Development of new features targeted for embedded systems Performance optimizations across all the layers of the stack 42
  • 43. Wrap up Explosion of interconnected smart devices Lower-powered and constrained devices Reduce carbon footprint, focus on extending life of devices Tension between product features, hardware capabilities and power consumption (i.e. "more with less") 43
  • 45. 45