SlideShare a Scribd company logo
1 of 33
Download to read offline
Accelerate graphics performance with ozone-gbm
on Intel based Linux systems
BlinkOn9(bit.ly/blinkon9-info) Apr 18-19, 2018
Joone Hur(joone.hur@intel.com, joone@chromium.org)
Intel Open Source Technology Center
Intel Confidential — Do Not Forward
2
Agenda
▪ Overview
▪ New graphics architecture in CrOS
▪ Ozone & Ozone-gbm
▪ History about running ozone-gbm on Linux systems
▪ Why ozone-gbm for Linux systems?
▪ Why ozone-gbm on Intel GPU?
▪ Intel Graphics features: zero-copy texture upload, video decoding, and
hardware overlay
▪ Upstream status
▪ Enabling ozone-gbm in Yocto Linux and Arch Linux.
▪ Demo
Intel Confidential — Do Not Forward
3
Overview
• Intel based Chromebooks have enabled graphics acceleration
features through ozone-gbm:
• zero-copy texture upload, hardware overlay/automic page-flip,
and video encoding/decoding.
• Those features enable Intel Chromebooks to achieve better
performance, save system memory, and extend battery life.
• Make Linux based systems run on ozone-gbm
• DTVs, digital signage devices, IVI systems, and etc.
Intel Confidential — Do Not Forward
4
• Intel based Chromebooks had been updated to the new freon graphics
stack(ozone-gbm) in 2015
Xlib
DRM/KMS
i915 device driver
Aura
View
ChromeOS UI
Ozone-gbm
DRM/KMS
i915 device driver
Aura
View
ChromeOS UI
X-Server
New graphics architecture in CrOS (2015)
Intel Confidential — Do Not Forward
5
Ozone
• Platform abstraction layer for:
• Accelerated surface
• Low-level input and event handling.
• Allow Chromium to run on embedded SoC
targets and a new windowing systems:
Wayland or Mir
• Ozone Backend:
• X11, Wayland, and GBM.
ozone
Aura/View
Chrome/Content
ozone implementations
(X11, Wayland, GBM)
X11 Wayland DRM/KMS
Intel Confidential — Do Not Forward
6
Ozone-gbm
● It allows Chromium to directly talk to DRM/KMS & evdev:
○ Allocate a buffer in GPU memory that can be accessed by a render process.
○ Change the display mode (mode-setting)
○ Align events from evdev and painting with vsync signal from GPU
● It enables Intel graphics features:
○ Texture zero-copy, hardware overlay/atomic page flip and video encoding/decoding.
Chromium
Linux Kernel
events
DRM/KMS
GEM
MESAmini-gbm
GpuMemoryBufferozone-gbm
evdev i915
Driver
Intel GPU
libdrm
Intel Confidential — Do Not Forward
7
History
• Started working on ozone-gbm support
for Linux desktop in 2014
• Published a technical article about
ozone-gbm.
• Patches are available:
https://github.com/kalyankondapally/Chro
mium-OzoneGBM
https://software.intel.com/en-us/blogs/2014/10/23/chromium-ozone-gbm-explained
Intel Confidential — Do Not Forward
8
History
• Announce the ozone-gbm for Linux
system on ozone-dev in Oct, 2017
Intel Confidential — Do Not Forward
9
Why ozone-gbm for Linux systems?
• Chromium is a de facto standard for Linux based devices.
• They are limited to use CSS animations, video playback, and WebGL.
• Ozone-gbm is highly optimized for Intel based Chromebooks.
• It could work on a regular Linux. o/
Intel Confidential — Do Not Forward
10
Why ozone-gbm on Intel GPU?
• Ozone-gbm allows to use modern graphics systems:
• Hardware compositor, atomic page flip, hardware overlay, and video encode/decode
• Chromium has enabled the following graphics features:
• Zero-copy texture uploads for 2D rendering
• Video encoding/decoding for HTML5 video and WebRTC
• Hardware overlay/atomic page flip for video, ARC++, and WebGL.
• Those features have been commercially verified on Intel based chromebooks.
ARC++ is the Android app runtime for ChromeOS
Google Pixel (7th i5m $999) Samsung Chromebook Pro
(Core M, $509)
ASUS C202SA
(Celeron, $218)
HP Chromebook 14
(Celeron, $219)
Intel Confidential — Do Not Forward
11
Intel graphics features for Chromium
• Zero-copy texture uploads for 2D rendering
• Video encoding/decoding for HTML5 video and
WebRTC
• Hardware overlay for video, ARC++, and
WebGL.
ARC++ is the Android app runtime for ChromeOS
Intel Confidential — Do Not Forward
12
Intel graphics features: zero-copy texture upload
• Need one copy to upload a bitmap to
GPU memory as texture.
• In Intel SoC, CPU and GPU share the
same physical memory.
• It enables the render process to paint
content on an imported GPU buffer.
https://software.intel.com/en-us/articles/zero-copy-texture-uploads-in-chrome-os
Intel Confidential — Do Not Forward
13
Workload test (zero-copy texture upload)
• Zero-copy texture upload is almost 4 times faster than the fallback in certain
cases. Usually, it is 30~40% faster (link)
Test page software fallback zero-copy texture upload
http://browsertests.herokuap
p.com/perf/background_color
_animation.html
5.3 fps 22.3 fps 4.2X faster
https://codepen.io/cubix4u/pe
n/KXpKRe
12.2 fps 48.2 fps 3.95X faster
Intel Compute stick X5-Z8300 (Cherry-trail, Gen8 graphics, GPU RAM 512MB)
Disclaimer: Estimate only. Not an official benchmark results.
Intel Confidential — Do Not Forward
14
Memory consumption(zero-copy texture upload)
• Zero-copy texture upload is also more effective in memory consumption and
power saving
• In case of ChromeOS, GPU process is about 65% lower with zero-copy
compared to software fallback. In the Renderer process the memory
consumed is about 20% lower with zero-copy.
Test page software fallback zero-copy texture upload
http://browsertests.herokuap
p.com/perf/background_color
_animation.html
80 MB 48 MB 40% lower
Intel Compute stick X5-Z8300 (Cherry-trail, Gen8 graphics, GPU RAM 512MB)
Disclaimer: Estimate only. Not an official benchmark results.
Intel Confidential — Do Not Forward
15
Intel graphics features: video/image accelerations
Braswell / Cherry
Trail(Atom, Gen8)
Skylake(6th, Gen9) Apollo Lake (Atom, Gen9)
Kaby(7th) / Gemini /
Coffee Lake(8th) (Gen9.5)
H.264 Yes Yes Yes Yes
VC-1 Decode only Decode only Decode only Decode only
JPEG Yes Yes Yes Yes
VP8 Yes Yes Yes Yes
HEVC Decode only Yes Yes Yes
HEVC 10-bit No No Decode only (8K) Yes
VP9 No No Decode only (4K) Yes
https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video
Intel Confidential — Do Not Forward
16
Workload test: video decoding, Intel Compute stick(Atom)
• HW accelerated video decoding is 1.7~3.6x faster, which allow to play bigger size
videos(2K, 4K).
• Zero-copy texture upload is also effective in software decoding by reducing a copy
operation between CPU to GPU.
test page software fallback hardware accelerated (video decoding,
zero-copy texture upload)
H.264 video 2K (vimeo video) 13.6 fps 24 fps 1.7x higher
H.264 video 4K (vimeo video) 5.7 fps 20.7 fps 3.6x higher
VP9 1K (Youtube) 30 fps 30 fps
VP9 2K (Youtube) video keeps pausing 25 fps, slightly pausing
* Intel Compute stick X5-Z8300 (Cherry-trail, Gen8 graphics, GPU RAM 512MB)
* VP9 uses software decoding
Disclaimer: Estimate only. Not an official benchmark results.
Intel Confidential — Do Not Forward
17
Workload test: video decoding, Skylake(Core 6th gen)
• HW accelerated video decoding is 1.1~1.7x faster, which allow to play bigger size
videos(4K).
• Zero-copy texture upload is also effective in software decoding by reducing a copy
operation between CPU to GPU.
test page software fallback hardware accelerated (video decoding,
zero-copy texture upload)
H.264 video 2K (vimeo video) 25 fps 39.2 fps 1.5 x higher
H.264 video 4K (vimeo video) 24 ps 27.3 fps 1.1 x higher
VP9 1K (Youtube) 58.4 fps 58.4 fps
VP9 2K (Youtube) 23.8 fps, frequently
pausing
42.6 fps, slightly pausing 1.7 X
* Intel Compute stick STK2m364CC (Skylake, Gen9 graphics, GPU RAM 512MB)
* VP9 uses software decoding
Disclaimer: Estimate only. Not an official benchmark results.
Intel Confidential — Do Not Forward
18
Workload test: video decoding, Kaby Lake(Core 7th gen),
• HW accelerated video decoding can only play 4K 60fps Youtube videos.
• Software fallback uses almost 3 times memory than hardware decoding.
test page software fallback hardware accelerated
VP9 4K 60fps (Youtube) video keeps pausing 50 fps
VP9 2K 60fps (Youtube) 60 fps(14.9 MB) 60 fps (4.5 MB)
Intel Kaby Lake i7 NUC NUC7i7BNH (Gen9 graphics, GPU RAM 512MB)
Disclaimer: Estimate only. Not an official benchmark results.
Intel Confidential — Do Not Forward
19
Intel graphics features: hardware overlay
Display controller can scale and composite overlay planes.
Source: pictures from this doc.
Intel Confidential — Do Not Forward
20
Legacy: GPU Composition
• GPU composites all planes
• Composition bandwidth: 2.028GB/s @60fps
Video Layer
Web contents
Browser UI
Primary planeRender Target
Open GL GPU Composition
RGBA / R
RGBA / R
RGBA / R
RGBA /
R
RGBA / W
Picture by Dongseong Hwang
Intel Confidential — Do Not Forward
21
Brand-new: Hardware Overlay
Video Layer
Web contents
Browser UI
Primary planeRender Target
Open GL GPU Composition
RGBA / R
RGBA / R
RGBA / R
RGBA /
R
Overlay Plane
• Saves the bandwidth(2.028GB/s ⇒ 0.949GB/s @ 60fps), and power(75 mW)
• GPU is idle, which saves more power.
RGBA / W
Picture by Dongseong Hwang
Intel Confidential — Do Not Forward
22
Hardware overlay support in CrOS
● Video overlay
○ Enabled in M61.
● ARC++ overlay
○ Enabled in M61.
○ Run Android applications as Wayland client in CrOS
● WebGL overlay
○ It will be supported in Gen10 (bug).
Intel Confidential — Do Not Forward
23
Benefits of Ozone-gbm
● Performance
○ Zero-copy texture is 30~40% faster.
● Memory consumption
○ The GPU process uses 65% less memory.
○ The render process also consumes 20% lower memory.
● UI Responsiveness
○ Ozone-gbm provide a better frame rate by aligning events from evdev and painting with
Vsync signal from GPU.
○ It reduces significant latency of touch and stylus.
● Power Saving
○ Using hardware feature saves more battery such as hardware overlay, hardware
encode/decode, and zero-copy texture upload.
For more details, see https://software.intel.com/en-us/articles/zero-copy-texture-uploads-in-chrome-os
Intel Confidential — Do Not Forward
24
Upstream : Allow to run ozone_demo on a Linux/Intel desktop (Landed)
For more details, see
https://chromium-review.googlesource.com/886836
commit 63612d32bdf79162b3aadf5b80ee61e36624fd14
Author: Joone Hur <joone.hur@intel.com>
Date: Fri Feb 2 22:09:35 2018 +0000
Allow to run ozone_demo on a Linux/Intel desktop
First, we need to enable Intel driver by building
Mesa 17.0.2 with --with-egl-platform=surfaceless
--with-dri-drivers=i965
BUG=733450
TEST=ozone_demo
$ cd ~/git/chromium/src
$ gn gen out/Release "--args=use_ozone=true ozone_platform_gbm=true
use_intel_minigbm=true"
$ ninja -C out/Release ozone_demo
$ export EGL_PLATFORM=surfaceless
$ out/Release/ozone_demo
Change-Id: Ic560b2b4f36701f3c159fd35e771d04c2e1ec97e
Reviewed-on: https://chromium-review.googlesource.com/886836
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Commit-Queue: Joone Hur <joone.hur@intel.com>
Cr-Commit-Position: refs/heads/master@{#534168}
Intel Confidential — Do Not Forward
25
Upstream : Separate display configurator from CrOS build (Landed o/)
For more details, see
https://chromium-review.googlesource.com/c/chro
mium/src/+/969416
commit d3ae8737f7186154d2fdc3ccc5fe43bf290f91b5
Author: Joone Hur <joone.hur@intel.com>
Date: Tue Apr 17 18:05:09 2018 +0000
Separate display configurator from CrOS build
This CL moves all files in ui/display/manager/chromeos to
ui/display/manager and adds build_display_configuration GN arg
so that the display configurator could be used in Linux
desktop.
BUG=733450
Change-Id: Idd790cfe6f9e5daf6ccad23353573028ebe5d7ee
Reviewed-on: https://chromium-review.googlesource.com/969416
Reviewed-by: Yusuke Sato <yusukes@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: kylechar <kylechar@chromium.org>
Reviewed-by: Malay Keshav <malaykeshav@chromium.org>
Intel Confidential — Do Not Forward
26
Upstream : [WIP] Make mus_demo work on a desktop Linux
For more details, see
https://chromium-review.googlesource.com/c/chromium/src/+/1015224
[WIP] Make mus_demo work on a desktop Linux
BUG=733450
TEST=mash --service=mus_demo --enable-features=Mash
$ cd ~/git/chromium/src
$ gn gen out/Release "--args=use_ozone=true ozone_platform_gbm=true
use_intel_minigbm=true"
$ ninja -C out/Release mash:all mus_demo
$ export EGL_PLATFORM=surfaceless
$ out/Release/mash --service=mus_demo --enable-features=Mash
Change-Id: I7ab7db87d74f1e1440f63a8a10118c8394597ad4
Intel Confidential — Do Not Forward
27
Upstream : Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only
For more details, see
● https://chromium-review.googlesource.com/c/chromium
/src/+/532294
● https://www.phoronix.com/scan.php?page=news_item&
px=Chrome-VA-API-Nears
Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only
This patch contains all the changes necessary to use VA-API along with
vaapi-driver to run all media use cases supported with hardware
acceleration.
It is intended to remain as experimental accessible from chrome://flags on
linux.
It requires libva/intel-vaapi-driver to be installed on the system path where
chrome is executed. Other drivers could be tested if available. Flags are
kept independent for linux, where this feature has to be enabled before
actually using it. This should not change how other OSes use the flags
already, the new flags will show at the buttom on the section of unavailable
experiments
The changes cover a range of compiler pre-processor flags to enable the
stack.
It moves the presandbox operations to the vaapi_wrapper class as the hook
function
is available there. vaInit will open driver on the correct installed folder.
chrome flags consolidtation into only two flags for linux. Mjpeg and
accelerated
video are used. The other flags are kept for ChromeOS and other OSes.
Developer testing was made on skylake hardware, ChromeOS and Ubuntu.
Intel Confidential — Do Not Forward
28
How to enable ozone-gbm on Yocto Linux
● Prepare the same Linux kernel & Mesa and its patches for CrOS.
○ https://github.com/joone/poky/tree/pyro_gbm
● Needs several Chromium patches(link) in M58:
○ Enable i915 driver in DRM for mini-gbm.
○ Add CrOS display configurator to Chromium and etc.
● Chromium browser and mash demo work.
○ Support zoro-copy texture upload and video decoding.
● Build Chromium ozone-gbm, Linux kernel and Mesa using Yocto recipes:
○ Instructions: https://github.com/joone/meta-crosswalk.
Intel Confidential — Do Not Forward
29
How to enable ozone-gbm on Arch Linux
• ozone_demo and mus_demo work fine in upstream(r550918_0415_2018)
$ cd ~/git/chromium/src
$ gn gen out/Release "--args=use_ozone=true ozone_platform_gbm=true
use_intel_minigbm=true"
$ ninja -C out/Release ozone_demo mash:all mus_demo
$ export EGL_PLATFORM=surfaceless
$ out/Release/ozone_demo --enable-drm-atomic --enable-overlay
$ out/Release/mash --service=mus_demo --enable-features=Mash
Intel Confidential — Do Not Forward
30
Demo
• Demo on Intel Atom processor (Cherry-trail)
Intel Confidential — Do Not Forward
31
Future Plan
• Run Chromium browser or content_shell with ozone-gbm on Intel SoCs.
• Update Yocto recipe.
• Keep it work in ToT.
• Enable more graphics acceleration features.
32
Thanks!
Contact us:
Joone Hur
joone.hur@intel.com
Intel Open Source Technology Center
http://01.org
Intel Confidential — Do Not Forward

More Related Content

What's hot

Parallelizing Conqueror's Blade
Parallelizing Conqueror's BladeParallelizing Conqueror's Blade
Parallelizing Conqueror's BladeIntel® Software
 
10 ways hardware engineers can make software integration easier
10 ways hardware engineers can make software integration easier10 ways hardware engineers can make software integration easier
10 ways hardware engineers can make software integration easierChris Simmonds
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Intel® Software
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...AMD Developer Central
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsIntel® Software
 
Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*Intel® Software
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selectionYoss Cohen
 
The Path to "Zen 2"
The Path to "Zen 2"The Path to "Zen 2"
The Path to "Zen 2"AMD
 
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...AMD Developer Central
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...AMD Developer Central
 
AMD Ryzen Mobile with Radeon Vega Graphics
AMD Ryzen Mobile with Radeon Vega Graphics AMD Ryzen Mobile with Radeon Vega Graphics
AMD Ryzen Mobile with Radeon Vega Graphics Low Hong Chuan
 
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent BetbederMM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent BetbederAMD Developer Central
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...AMD Developer Central
 
Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10Samsung Open Source Group
 
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APUHot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APUAMD
 

What's hot (20)

Parallelizing Conqueror's Blade
Parallelizing Conqueror's BladeParallelizing Conqueror's Blade
Parallelizing Conqueror's Blade
 
10 ways hardware engineers can make software integration easier
10 ways hardware engineers can make software integration easier10 ways hardware engineers can make software integration easier
10 ways hardware engineers can make software integration easier
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel
 
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
GS-4136, Optimizing Game Development using AMD’s GPU PerfStudio 2, by Gordon ...
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® Graphics
 
Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*Forts and Fights Scaling Performance on Unreal Engine*
Forts and Fights Scaling Performance on Unreal Engine*
 
IoT consideration selection
IoT consideration selectionIoT consideration selection
IoT consideration selection
 
AMD Ryzen Pro
AMD Ryzen ProAMD Ryzen Pro
AMD Ryzen Pro
 
The Path to "Zen 2"
The Path to "Zen 2"The Path to "Zen 2"
The Path to "Zen 2"
 
Radeon Vega Pro
Radeon Vega ProRadeon Vega Pro
Radeon Vega Pro
 
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
CC-4009, "Optimizing Hadoop Deployments with SeaMicro SM15000" by Satheesh Na...
 
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...Computer Vision Powered by Heterogeneous System Architecture (HSA) by  Dr. Ha...
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
 
AMD Ryzen Mobile with Radeon Vega Graphics
AMD Ryzen Mobile with Radeon Vega Graphics AMD Ryzen Mobile with Radeon Vega Graphics
AMD Ryzen Mobile with Radeon Vega Graphics
 
Radeon RX Vega
Radeon RX Vega Radeon RX Vega
Radeon RX Vega
 
JVC SR-DVM700E
JVC SR-DVM700EJVC SR-DVM700E
JVC SR-DVM700E
 
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent BetbederMM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
MM-4085, Designing a game audio engine for HSA, by Laurent Betbeder
 
nanoFlash and Nexto NVS2500
nanoFlash and Nexto NVS2500nanoFlash and Nexto NVS2500
nanoFlash and Nexto NVS2500
 
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
Keynote (Phil Rogers) - The Programmers Guide to Reaching for the Cloud - by ...
 
Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10Running Dual Android Xen Instances on Nexus 10
Running Dual Android Xen Instances on Nexus 10
 
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APUHot Chips: AMD Next Gen 7nm Ryzen 4000 APU
Hot Chips: AMD Next Gen 7nm Ryzen 4000 APU
 

Similar to Accelerate graphics performance with ozone-gbm on Intel based Linux desktop systems

ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220AndrewWright224
 
ChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadAndrewWright224
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformSatya Harish
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsVISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsAdditionalResources
 
Web Performance Part 3 "Server-side tips"
Web Performance Part 3  "Server-side tips"Web Performance Part 3  "Server-side tips"
Web Performance Part 3 "Server-side tips"Binary Studio
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamRyo Jin
 
my Windows 7 info
my Windows 7 infomy Windows 7 info
my Windows 7 infoisky guard
 
High End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro GraphicsHigh End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro GraphicsIntel® Software
 
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Shuo LI
 
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...The Linux Foundation
 
Presentation power point (Advertising Upgrade))
Presentation power point (Advertising Upgrade))Presentation power point (Advertising Upgrade))
Presentation power point (Advertising Upgrade))andrew maybir
 
Advertising System Upgrade
Advertising System UpgradeAdvertising System Upgrade
Advertising System Upgradeandrew maybir
 
[1C5]Lessons from developing a web browser for raspberry pi
[1C5]Lessons from developing a web browser for raspberry pi[1C5]Lessons from developing a web browser for raspberry pi
[1C5]Lessons from developing a web browser for raspberry piNAVER D2
 
Final presentasi gnome asia
Final presentasi gnome asiaFinal presentasi gnome asia
Final presentasi gnome asiaAnton Siswo
 

Similar to Accelerate graphics performance with ozone-gbm on Intel based Linux desktop systems (20)

Flowframes
FlowframesFlowframes
Flowframes
 
ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220ChromePad - Chromium OS ThinkPad X220
ChromePad - Chromium OS ThinkPad X220
 
ChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPadChromePad - Chromium OS for ThinkPad
ChromePad - Chromium OS for ThinkPad
 
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platformUplinQ - qualcomm® snapdragon™ processors a super gaming platform
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUsVISION Technology from AMD Powered by AMD E-Series & C-Series APUs
VISION Technology from AMD Powered by AMD E-Series & C-Series APUs
 
3
33
3
 
Web Performance Part 3 "Server-side tips"
Web Performance Part 3  "Server-side tips"Web Performance Part 3  "Server-side tips"
Web Performance Part 3 "Server-side tips"
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
 
Readme
ReadmeReadme
Readme
 
my Windows 7 info
my Windows 7 infomy Windows 7 info
my Windows 7 info
 
High End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro GraphicsHigh End Modeling & Imaging with Intel Iris Pro Graphics
High End Modeling & Imaging with Intel Iris Pro Graphics
 
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
Criteo Labs Infrastructure Tech Talk Meetup Nov. 7
 
SJNC13.pptx
SJNC13.pptxSJNC13.pptx
SJNC13.pptx
 
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
 
Presentation power point (Advertising Upgrade))
Presentation power point (Advertising Upgrade))Presentation power point (Advertising Upgrade))
Presentation power point (Advertising Upgrade))
 
Advertising System Upgrade
Advertising System UpgradeAdvertising System Upgrade
Advertising System Upgrade
 
[1C5]Lessons from developing a web browser for raspberry pi
[1C5]Lessons from developing a web browser for raspberry pi[1C5]Lessons from developing a web browser for raspberry pi
[1C5]Lessons from developing a web browser for raspberry pi
 
HD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.pptHD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.ppt
 
Final presentasi gnome asia
Final presentasi gnome asiaFinal presentasi gnome asia
Final presentasi gnome asia
 

More from Joone Hur

GNOME development on Tizen Mobile
GNOME development on Tizen MobileGNOME development on Tizen Mobile
GNOME development on Tizen MobileJoone Hur
 
How to use WebKitGtk+
How to use WebKitGtk+How to use WebKitGtk+
How to use WebKitGtk+Joone Hur
 
WebKitGtk+ Project
WebKitGtk+ ProjectWebKitGtk+ Project
WebKitGtk+ ProjectJoone Hur
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKitJoone Hur
 
GNOME3 & 그놈 한국 공동체
GNOME3 & 그놈 한국 공동체GNOME3 & 그놈 한국 공동체
GNOME3 & 그놈 한국 공동체Joone Hur
 
웹 브라우저는 어떻게 동작하나? (2)
웹 브라우저는 어떻게 동작하나? (2)웹 브라우저는 어떻게 동작하나? (2)
웹 브라우저는 어떻게 동작하나? (2)Joone Hur
 
웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?Joone Hur
 
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKitJoone Hur
 
WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010Joone Hur
 
Fennec의 현재와 미래
Fennec의 현재와 미래Fennec의 현재와 미래
Fennec의 현재와 미래Joone Hur
 

More from Joone Hur (10)

GNOME development on Tizen Mobile
GNOME development on Tizen MobileGNOME development on Tizen Mobile
GNOME development on Tizen Mobile
 
How to use WebKitGtk+
How to use WebKitGtk+How to use WebKitGtk+
How to use WebKitGtk+
 
WebKitGtk+ Project
WebKitGtk+ ProjectWebKitGtk+ Project
WebKitGtk+ Project
 
Hardware Acceleration in WebKit
Hardware Acceleration in WebKitHardware Acceleration in WebKit
Hardware Acceleration in WebKit
 
GNOME3 & 그놈 한국 공동체
GNOME3 & 그놈 한국 공동체GNOME3 & 그놈 한국 공동체
GNOME3 & 그놈 한국 공동체
 
웹 브라우저는 어떻게 동작하나? (2)
웹 브라우저는 어떻게 동작하나? (2)웹 브라우저는 어떻게 동작하나? (2)
웹 브라우저는 어떻게 동작하나? (2)
 
웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?웹브라우저는 어떻게 동작하나?
웹브라우저는 어떻게 동작하나?
 
Web Standards Support in WebKit
Web Standards Support in WebKitWeb Standards Support in WebKit
Web Standards Support in WebKit
 
WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010WebKit at the Future Web Forum 2010
WebKit at the Future Web Forum 2010
 
Fennec의 현재와 미래
Fennec의 현재와 미래Fennec의 현재와 미래
Fennec의 현재와 미래
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 

Accelerate graphics performance with ozone-gbm on Intel based Linux desktop systems

  • 1. Accelerate graphics performance with ozone-gbm on Intel based Linux systems BlinkOn9(bit.ly/blinkon9-info) Apr 18-19, 2018 Joone Hur(joone.hur@intel.com, joone@chromium.org) Intel Open Source Technology Center
  • 2. Intel Confidential — Do Not Forward 2 Agenda ▪ Overview ▪ New graphics architecture in CrOS ▪ Ozone & Ozone-gbm ▪ History about running ozone-gbm on Linux systems ▪ Why ozone-gbm for Linux systems? ▪ Why ozone-gbm on Intel GPU? ▪ Intel Graphics features: zero-copy texture upload, video decoding, and hardware overlay ▪ Upstream status ▪ Enabling ozone-gbm in Yocto Linux and Arch Linux. ▪ Demo
  • 3. Intel Confidential — Do Not Forward 3 Overview • Intel based Chromebooks have enabled graphics acceleration features through ozone-gbm: • zero-copy texture upload, hardware overlay/automic page-flip, and video encoding/decoding. • Those features enable Intel Chromebooks to achieve better performance, save system memory, and extend battery life. • Make Linux based systems run on ozone-gbm • DTVs, digital signage devices, IVI systems, and etc.
  • 4. Intel Confidential — Do Not Forward 4 • Intel based Chromebooks had been updated to the new freon graphics stack(ozone-gbm) in 2015 Xlib DRM/KMS i915 device driver Aura View ChromeOS UI Ozone-gbm DRM/KMS i915 device driver Aura View ChromeOS UI X-Server New graphics architecture in CrOS (2015)
  • 5. Intel Confidential — Do Not Forward 5 Ozone • Platform abstraction layer for: • Accelerated surface • Low-level input and event handling. • Allow Chromium to run on embedded SoC targets and a new windowing systems: Wayland or Mir • Ozone Backend: • X11, Wayland, and GBM. ozone Aura/View Chrome/Content ozone implementations (X11, Wayland, GBM) X11 Wayland DRM/KMS
  • 6. Intel Confidential — Do Not Forward 6 Ozone-gbm ● It allows Chromium to directly talk to DRM/KMS & evdev: ○ Allocate a buffer in GPU memory that can be accessed by a render process. ○ Change the display mode (mode-setting) ○ Align events from evdev and painting with vsync signal from GPU ● It enables Intel graphics features: ○ Texture zero-copy, hardware overlay/atomic page flip and video encoding/decoding. Chromium Linux Kernel events DRM/KMS GEM MESAmini-gbm GpuMemoryBufferozone-gbm evdev i915 Driver Intel GPU libdrm
  • 7. Intel Confidential — Do Not Forward 7 History • Started working on ozone-gbm support for Linux desktop in 2014 • Published a technical article about ozone-gbm. • Patches are available: https://github.com/kalyankondapally/Chro mium-OzoneGBM https://software.intel.com/en-us/blogs/2014/10/23/chromium-ozone-gbm-explained
  • 8. Intel Confidential — Do Not Forward 8 History • Announce the ozone-gbm for Linux system on ozone-dev in Oct, 2017
  • 9. Intel Confidential — Do Not Forward 9 Why ozone-gbm for Linux systems? • Chromium is a de facto standard for Linux based devices. • They are limited to use CSS animations, video playback, and WebGL. • Ozone-gbm is highly optimized for Intel based Chromebooks. • It could work on a regular Linux. o/
  • 10. Intel Confidential — Do Not Forward 10 Why ozone-gbm on Intel GPU? • Ozone-gbm allows to use modern graphics systems: • Hardware compositor, atomic page flip, hardware overlay, and video encode/decode • Chromium has enabled the following graphics features: • Zero-copy texture uploads for 2D rendering • Video encoding/decoding for HTML5 video and WebRTC • Hardware overlay/atomic page flip for video, ARC++, and WebGL. • Those features have been commercially verified on Intel based chromebooks. ARC++ is the Android app runtime for ChromeOS Google Pixel (7th i5m $999) Samsung Chromebook Pro (Core M, $509) ASUS C202SA (Celeron, $218) HP Chromebook 14 (Celeron, $219)
  • 11. Intel Confidential — Do Not Forward 11 Intel graphics features for Chromium • Zero-copy texture uploads for 2D rendering • Video encoding/decoding for HTML5 video and WebRTC • Hardware overlay for video, ARC++, and WebGL. ARC++ is the Android app runtime for ChromeOS
  • 12. Intel Confidential — Do Not Forward 12 Intel graphics features: zero-copy texture upload • Need one copy to upload a bitmap to GPU memory as texture. • In Intel SoC, CPU and GPU share the same physical memory. • It enables the render process to paint content on an imported GPU buffer. https://software.intel.com/en-us/articles/zero-copy-texture-uploads-in-chrome-os
  • 13. Intel Confidential — Do Not Forward 13 Workload test (zero-copy texture upload) • Zero-copy texture upload is almost 4 times faster than the fallback in certain cases. Usually, it is 30~40% faster (link) Test page software fallback zero-copy texture upload http://browsertests.herokuap p.com/perf/background_color _animation.html 5.3 fps 22.3 fps 4.2X faster https://codepen.io/cubix4u/pe n/KXpKRe 12.2 fps 48.2 fps 3.95X faster Intel Compute stick X5-Z8300 (Cherry-trail, Gen8 graphics, GPU RAM 512MB) Disclaimer: Estimate only. Not an official benchmark results.
  • 14. Intel Confidential — Do Not Forward 14 Memory consumption(zero-copy texture upload) • Zero-copy texture upload is also more effective in memory consumption and power saving • In case of ChromeOS, GPU process is about 65% lower with zero-copy compared to software fallback. In the Renderer process the memory consumed is about 20% lower with zero-copy. Test page software fallback zero-copy texture upload http://browsertests.herokuap p.com/perf/background_color _animation.html 80 MB 48 MB 40% lower Intel Compute stick X5-Z8300 (Cherry-trail, Gen8 graphics, GPU RAM 512MB) Disclaimer: Estimate only. Not an official benchmark results.
  • 15. Intel Confidential — Do Not Forward 15 Intel graphics features: video/image accelerations Braswell / Cherry Trail(Atom, Gen8) Skylake(6th, Gen9) Apollo Lake (Atom, Gen9) Kaby(7th) / Gemini / Coffee Lake(8th) (Gen9.5) H.264 Yes Yes Yes Yes VC-1 Decode only Decode only Decode only Decode only JPEG Yes Yes Yes Yes VP8 Yes Yes Yes Yes HEVC Decode only Yes Yes Yes HEVC 10-bit No No Decode only (8K) Yes VP9 No No Decode only (4K) Yes https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video
  • 16. Intel Confidential — Do Not Forward 16 Workload test: video decoding, Intel Compute stick(Atom) • HW accelerated video decoding is 1.7~3.6x faster, which allow to play bigger size videos(2K, 4K). • Zero-copy texture upload is also effective in software decoding by reducing a copy operation between CPU to GPU. test page software fallback hardware accelerated (video decoding, zero-copy texture upload) H.264 video 2K (vimeo video) 13.6 fps 24 fps 1.7x higher H.264 video 4K (vimeo video) 5.7 fps 20.7 fps 3.6x higher VP9 1K (Youtube) 30 fps 30 fps VP9 2K (Youtube) video keeps pausing 25 fps, slightly pausing * Intel Compute stick X5-Z8300 (Cherry-trail, Gen8 graphics, GPU RAM 512MB) * VP9 uses software decoding Disclaimer: Estimate only. Not an official benchmark results.
  • 17. Intel Confidential — Do Not Forward 17 Workload test: video decoding, Skylake(Core 6th gen) • HW accelerated video decoding is 1.1~1.7x faster, which allow to play bigger size videos(4K). • Zero-copy texture upload is also effective in software decoding by reducing a copy operation between CPU to GPU. test page software fallback hardware accelerated (video decoding, zero-copy texture upload) H.264 video 2K (vimeo video) 25 fps 39.2 fps 1.5 x higher H.264 video 4K (vimeo video) 24 ps 27.3 fps 1.1 x higher VP9 1K (Youtube) 58.4 fps 58.4 fps VP9 2K (Youtube) 23.8 fps, frequently pausing 42.6 fps, slightly pausing 1.7 X * Intel Compute stick STK2m364CC (Skylake, Gen9 graphics, GPU RAM 512MB) * VP9 uses software decoding Disclaimer: Estimate only. Not an official benchmark results.
  • 18. Intel Confidential — Do Not Forward 18 Workload test: video decoding, Kaby Lake(Core 7th gen), • HW accelerated video decoding can only play 4K 60fps Youtube videos. • Software fallback uses almost 3 times memory than hardware decoding. test page software fallback hardware accelerated VP9 4K 60fps (Youtube) video keeps pausing 50 fps VP9 2K 60fps (Youtube) 60 fps(14.9 MB) 60 fps (4.5 MB) Intel Kaby Lake i7 NUC NUC7i7BNH (Gen9 graphics, GPU RAM 512MB) Disclaimer: Estimate only. Not an official benchmark results.
  • 19. Intel Confidential — Do Not Forward 19 Intel graphics features: hardware overlay Display controller can scale and composite overlay planes. Source: pictures from this doc.
  • 20. Intel Confidential — Do Not Forward 20 Legacy: GPU Composition • GPU composites all planes • Composition bandwidth: 2.028GB/s @60fps Video Layer Web contents Browser UI Primary planeRender Target Open GL GPU Composition RGBA / R RGBA / R RGBA / R RGBA / R RGBA / W Picture by Dongseong Hwang
  • 21. Intel Confidential — Do Not Forward 21 Brand-new: Hardware Overlay Video Layer Web contents Browser UI Primary planeRender Target Open GL GPU Composition RGBA / R RGBA / R RGBA / R RGBA / R Overlay Plane • Saves the bandwidth(2.028GB/s ⇒ 0.949GB/s @ 60fps), and power(75 mW) • GPU is idle, which saves more power. RGBA / W Picture by Dongseong Hwang
  • 22. Intel Confidential — Do Not Forward 22 Hardware overlay support in CrOS ● Video overlay ○ Enabled in M61. ● ARC++ overlay ○ Enabled in M61. ○ Run Android applications as Wayland client in CrOS ● WebGL overlay ○ It will be supported in Gen10 (bug).
  • 23. Intel Confidential — Do Not Forward 23 Benefits of Ozone-gbm ● Performance ○ Zero-copy texture is 30~40% faster. ● Memory consumption ○ The GPU process uses 65% less memory. ○ The render process also consumes 20% lower memory. ● UI Responsiveness ○ Ozone-gbm provide a better frame rate by aligning events from evdev and painting with Vsync signal from GPU. ○ It reduces significant latency of touch and stylus. ● Power Saving ○ Using hardware feature saves more battery such as hardware overlay, hardware encode/decode, and zero-copy texture upload. For more details, see https://software.intel.com/en-us/articles/zero-copy-texture-uploads-in-chrome-os
  • 24. Intel Confidential — Do Not Forward 24 Upstream : Allow to run ozone_demo on a Linux/Intel desktop (Landed) For more details, see https://chromium-review.googlesource.com/886836 commit 63612d32bdf79162b3aadf5b80ee61e36624fd14 Author: Joone Hur <joone.hur@intel.com> Date: Fri Feb 2 22:09:35 2018 +0000 Allow to run ozone_demo on a Linux/Intel desktop First, we need to enable Intel driver by building Mesa 17.0.2 with --with-egl-platform=surfaceless --with-dri-drivers=i965 BUG=733450 TEST=ozone_demo $ cd ~/git/chromium/src $ gn gen out/Release "--args=use_ozone=true ozone_platform_gbm=true use_intel_minigbm=true" $ ninja -C out/Release ozone_demo $ export EGL_PLATFORM=surfaceless $ out/Release/ozone_demo Change-Id: Ic560b2b4f36701f3c159fd35e771d04c2e1ec97e Reviewed-on: https://chromium-review.googlesource.com/886836 Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Commit-Queue: Joone Hur <joone.hur@intel.com> Cr-Commit-Position: refs/heads/master@{#534168}
  • 25. Intel Confidential — Do Not Forward 25 Upstream : Separate display configurator from CrOS build (Landed o/) For more details, see https://chromium-review.googlesource.com/c/chro mium/src/+/969416 commit d3ae8737f7186154d2fdc3ccc5fe43bf290f91b5 Author: Joone Hur <joone.hur@intel.com> Date: Tue Apr 17 18:05:09 2018 +0000 Separate display configurator from CrOS build This CL moves all files in ui/display/manager/chromeos to ui/display/manager and adds build_display_configuration GN arg so that the display configurator could be used in Linux desktop. BUG=733450 Change-Id: Idd790cfe6f9e5daf6ccad23353573028ebe5d7ee Reviewed-on: https://chromium-review.googlesource.com/969416 Reviewed-by: Yusuke Sato <yusukes@chromium.org> Reviewed-by: James Cook <jamescook@chromium.org> Reviewed-by: Devlin <rdevlin.cronin@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Reviewed-by: Steven Bennetts <stevenjb@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Ahmed Fakhry <afakhry@chromium.org> Reviewed-by: kylechar <kylechar@chromium.org> Reviewed-by: Malay Keshav <malaykeshav@chromium.org>
  • 26. Intel Confidential — Do Not Forward 26 Upstream : [WIP] Make mus_demo work on a desktop Linux For more details, see https://chromium-review.googlesource.com/c/chromium/src/+/1015224 [WIP] Make mus_demo work on a desktop Linux BUG=733450 TEST=mash --service=mus_demo --enable-features=Mash $ cd ~/git/chromium/src $ gn gen out/Release "--args=use_ozone=true ozone_platform_gbm=true use_intel_minigbm=true" $ ninja -C out/Release mash:all mus_demo $ export EGL_PLATFORM=surfaceless $ out/Release/mash --service=mus_demo --enable-features=Mash Change-Id: I7ab7db87d74f1e1440f63a8a10118c8394597ad4
  • 27. Intel Confidential — Do Not Forward 27 Upstream : Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only For more details, see ● https://chromium-review.googlesource.com/c/chromium /src/+/532294 ● https://www.phoronix.com/scan.php?page=news_item& px=Chrome-VA-API-Nears Enable VAVDA, VAVEA and VAJDA on linux with VAAPI only This patch contains all the changes necessary to use VA-API along with vaapi-driver to run all media use cases supported with hardware acceleration. It is intended to remain as experimental accessible from chrome://flags on linux. It requires libva/intel-vaapi-driver to be installed on the system path where chrome is executed. Other drivers could be tested if available. Flags are kept independent for linux, where this feature has to be enabled before actually using it. This should not change how other OSes use the flags already, the new flags will show at the buttom on the section of unavailable experiments The changes cover a range of compiler pre-processor flags to enable the stack. It moves the presandbox operations to the vaapi_wrapper class as the hook function is available there. vaInit will open driver on the correct installed folder. chrome flags consolidtation into only two flags for linux. Mjpeg and accelerated video are used. The other flags are kept for ChromeOS and other OSes. Developer testing was made on skylake hardware, ChromeOS and Ubuntu.
  • 28. Intel Confidential — Do Not Forward 28 How to enable ozone-gbm on Yocto Linux ● Prepare the same Linux kernel & Mesa and its patches for CrOS. ○ https://github.com/joone/poky/tree/pyro_gbm ● Needs several Chromium patches(link) in M58: ○ Enable i915 driver in DRM for mini-gbm. ○ Add CrOS display configurator to Chromium and etc. ● Chromium browser and mash demo work. ○ Support zoro-copy texture upload and video decoding. ● Build Chromium ozone-gbm, Linux kernel and Mesa using Yocto recipes: ○ Instructions: https://github.com/joone/meta-crosswalk.
  • 29. Intel Confidential — Do Not Forward 29 How to enable ozone-gbm on Arch Linux • ozone_demo and mus_demo work fine in upstream(r550918_0415_2018) $ cd ~/git/chromium/src $ gn gen out/Release "--args=use_ozone=true ozone_platform_gbm=true use_intel_minigbm=true" $ ninja -C out/Release ozone_demo mash:all mus_demo $ export EGL_PLATFORM=surfaceless $ out/Release/ozone_demo --enable-drm-atomic --enable-overlay $ out/Release/mash --service=mus_demo --enable-features=Mash
  • 30. Intel Confidential — Do Not Forward 30 Demo • Demo on Intel Atom processor (Cherry-trail)
  • 31. Intel Confidential — Do Not Forward 31 Future Plan • Run Chromium browser or content_shell with ozone-gbm on Intel SoCs. • Update Yocto recipe. • Keep it work in ToT. • Enable more graphics acceleration features.
  • 32. 32 Thanks! Contact us: Joone Hur joone.hur@intel.com Intel Open Source Technology Center http://01.org
  • 33. Intel Confidential — Do Not Forward