SlideShare a Scribd company logo
1 of 36
Download to read offline
1
Porting Tizen-IVI 3.0
to an ARM based SoC Platform
Damian Hobson-Garcia
Current State of Affairs
 Intel architecture (x86) system
– Tizen IVI 2.0alpha, Tizen IVI 3.0
 ARM architecture based system
– Tizen IVI 2.0alpha (ivi-panda)
Test Platform
 Renesas R-Car Gen2 series platform
 R-Car M2
– ARM Cortex A15 x2
 R-Car H2
– ARM Cortex A15 x4, + ARM Cortex A7 x4 (option)
 3D Graphics System
– Imagination Technologies PowerVR series
 On board IP
– H/W video decode/encode
– image processing
Agenda
 Objective
 Methodology
 Porting Tasks
– Weston/Wayland Integration
– WebKit Integration
– GStreamer Integration
Objective
 Tizen IVI 3.0 on R-Car M2/H2
1. Standard Native Applications
– Terminal program
– Open GL/ES applications
2. Web
– Browser and web applications
3. Multimedia
– Video playback (1080p @ 30fps)
Methodology
 Tizen IVI 3.0 milestone releases we used:
– M2-Sep (released Oct 11, 2013)
– M2-EOY (released Jan 15, 2014)
– M2-March2014 (released April 11, 2014)
 Non-hardware dependant packages
– Rebuild for ARM instruction set
 Hardware dependant packages
– Replace/update with R-Car M2/H2 support
Workflow and
Source Code Download
Using Upstream Repos
Local binary
package
Locally modified
source code
gbs mic
File system
image
download.tizen.org
review.tizen.org
rpm binary
package repogit source
code repo
Package Compilation
Image creation
Flash onto
target system
Full local build
Local binary
package
Locally modified
source code
gbs mic
File system
image
review.tizen.org
git source
code repo
Package Compilation
Image creation
Flash onto
target system
https://source.tizen.org
search: building tizen from
scratch
Source Code and Build
Preparation
 Get source code
repo init -u review.tizen.org:scm/manifest -b tizen –m ivi.xml
 Overwrite projects.xml with milestone manifest file
http://download.tizen.org/${RELEASE_PATH}/builddata/manifest/xxx.xml
manifests/.repo/ metadata.xml
prebuilt.xml
projects.xml
ivi/
Build Preparation (cont.)
 Use prebuilt ARM toolchain from Tizen mobile
branch
$ repo sync
-<project name=”pre-built/toolchain-arm” ... revision=”tizen-ivi”/>
+<project name=”pre-built/toolchian-arm” ... revision=”tizen”/>
manifests/.repo/ metadata.xml
prebuilt.xml
projects.xml
ivi/
Porting Tasks
 Recompile packages (roughly 800)
 Wayland/Weston (windows system) backend
– Use PowerVR driver instead of Mesa
 Web Applications
– Implement WaylandBufferManager
 Multimedia Acceleration Video Playback
– 0 – copy video stream processing (1080p @ 30fps)
Replacing the Mesa driver
for Wayland/Weston
Wayland/Weston Overview
Client Application
client process
Client Application
client process
Weston Compositor
server process
Wayland protocol
client/server based windowing system
client: draws application content
server: composites one or more client
windows to create output screen
Mesa
Wayland/Weston with Mesa
drm/kms driver
Client Application
client process
server process
GPU driver
user space
kernel
Intel graphics
dependent unit
other functional unit
generic unit
libdrm_intel
wl_drm
Weston Compositor
OpenGL
driver
gbm
Wayland protocol
ioctl
buffer sharing Wayland prot.
GPU API
Wayland EGL
extension lets Mesa
use Wayland buffers
Wayland/Weston on R-Car M2/H2
drm/kms driver
Client Application
client process server process
GPU driver
user space
kernel
generic library
other functional unit
proprietary library
libkms
wl_kms
Weston Compositor
PowerVR
OpenGL
driver
libgbm
Wayland protocol
ioctl
buffer sharing Wayland prot.
GPU API
uses generic dumb
buffer backend
almost same as wl_drm
but with libkms back end
Replacing Mesa
Replacement libraries must
– Implement EGL_WL_bind_wayland_display EGL extension
http://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/WL_bind_wayland_display.spec
– Provide
» libgbm – Access to drm backend
(https://github.com/robclark/libgbm)
» libdrm/libkms – for access to memory buffers
(provided in Tizen release)
» buffer sharing interface – (similar to Mesa wl_drm)
– libgbm backend should match buffer sharing interface
Replacing Mesa on Tizen
1. replace mesa library
» rm –r <build directory>/platform/upstream/mesa
» cp my_libraries <build directory>
2. edit build.conf (build settings file)
-%define with_mesa=1
...
+Substitute: pkgconfig(gl)
+Substitute: mesa-devel pkgconfig(gles20)
...
Macros
-%with_mesa=1
3. build the system
$ gbs build –A armv7l
(for full build command line
see http://source.tizen.org
“building Tizen from
scratch”)
Objective
 Tizen IVI 3.0 on R-Car M2/H2
1. Native Applications
– Terminal program
– Open GLES applications
2. Web
– Browser and web applications
3. Multimedia
– Video playback (1080p @ 30fps)
Webkit2 and
WaylandBuffer Manager
Simple client-server configuration
drm/kms driver
WebKit UI
Process
client process
GPU driver
server process
user space
kernel
libkms
wl_kms
Weston Compositor
PowerVR
OpenGL
driver
libgbm
generic library
other functional unit
proprietary library
Wayland protocol
ioctl
buffer sharing Wayland prot.
GPU API
Webkit2 client-client/server-server
configuration
WebKit Web
Process
drm/kms driver
client process
WebKit UI
Process
libkms
client/server process
wl_kms
GPU driver
server process
user space
kernel
Wayland protocol
ioctl
buffer sharing Wayland prot.
generic library
other functional unit
proprietary library
libkms
wl_kms
Weston Compositor
PowerVR
OpenGL
driver
libgbmGPU API
Webkit2 Buffer Allocation
WebKit Web Process
drm/kms driver
client process
WebKit UI
Process
libkms
client/server process
wl_kms
WaylandKmsBufferManager
libkms
WaylandDisplay
WaylandDisplay (class):
Update to use wl_kms
instead of wl_drm
WaylandKmsBufferManager
(class):
Implementation of
WaylandBufferManager
interface
Wayland protocol
ioctl
buffer sharing Wayland prot.
generic library other functional unit
WaylandBufferManager
Interface
 WaylandBufferManager and WaylandDisplay source:
webkit-efl/Source/WebCore/platform/graphics/surfaces/wayland/
 Interface for allocating/locking shareable buffers (e.g.. kms_bo)
– allocateBO returns handleId.
– *handle is pointer to shareable fd (ie. flinked fd, or DMABuf
handle)
– query to get buffer virtual addressclass WaylandBufferManager {
allocateBO(w, h, stride, size, align, *handle);
lockSurface(handleId);
unlockSurface(handleId);
freeBO(handleId);
query(handleId, **addr);
}
Objective
 Tizen IVI 3.0 on R-Car M2/H2
1. Native Applications
– Terminal program
– Open GLES applications
2. Web
– Browser and web applications
3. Multimedia
– Video playback (1080p @ 30fps)
Using GStreamer with
Tizen IVI 3.0
Example GStreamer pipeline
GStreamer
 Encode, decode, capture and display multimedia data
 Make a pipeline of components to do what you want
video demuxer audio decoder sample player
video decoder frame renderer
to speaker
to screen
Video Decode on R-Car M2/H2
on Tizen IVI 3.0
 Audio pipeline
– Software decode for now
 Video decode
– Use gst-omx to bridge GStreamer to OpenMAX IL component
 Color conversion/scaling
– Use hardware accelerated color conversion/scaling module
 Display
– Use waylandsink to display via Weston compositor
GStreamer H/W accelerated video decode
full custom as-is upstream component Reneas proprietary librarycustomized component
client process
Weston Compositor
GStreamer Application
gst-omx
vspfilter
(color conv./scaler)
GStreamer Plugins
waylandsink
OpenMAX IL
Video decoder
GPU hardware
H/W video
decoder
H/W color
conv./scaling
server process
Wayland protocol API call data flow memcpy()
Waylandsink customization
 H/W color conversion requires physically contiguous
buffers
– Waylandsink allocates non-contiguous shared memory buffers
– Add extra memcpy()s into pipeline.
 Buffers allocated from kms bo are physically contiguous
(on our system)
– Use the same method as with WebKit to allocate and share
graphics buffers
Waylandsink customized for libkms
usage
GStreamer waylandsink
drm/kms driver
client process
Weston
compositor
libkms
server process
wl_kms
libkms
Wayland protocol
ioctl
buffer sharing Wayland prot.
generic library other functional unit
gstbufferpool->alloc()
Allocated kms dumb buffers
used for H/W color
conversion.
No memcpy()s required
between video decode and
screen display.
GStreamer H/W accelerated video decode
no memcpy()
full custom as-is upstream component Reneas proprietary librarycustomized component
client process
Weston Compositor
GStreamer Application
gst-omx
vspfilter
(color conv./scaler)
GStreamer Plugins
waylandsink
OpenMAX IL
Video decoder
GPU hardware
H/W video
decoder
H/W color
conv./scaling
server process
Wayland protocol API call data flow
Objective
 Tizen IVI 3.0 on R-Car M2/H2
1. Native Applications
– Terminal program
– Open GLES applications
2. Web
– Browser and web applications
3. Multimedia
– Video playback (1080p @ 30fps)
What we learned - review
 Building
– Use manifest xml file from milestone release on http://donwload.tizen.org
– Use mobile toolchain for ARM
 Weston/Wayland
– Need support for EGL_WL_bind_wayland_display in Open GL/ES driver
– Can use libkms dumb buffers
 WebKit
– Implement WaylandBufferManager; update WaylandDisplay
 Multimedia playback
– Use libkms and Wayland buffer sharing to implement 0-copy processing
with physically contiguous memory buffers
Thank you.
Questions?
Links
 Building Tizen from scratch
– https://source.tizen.org/documentation/developer-guide/all-one-
instructions/creating-tizen-images-scratch-one-page
 EGL_WL_bind_wayland_display EGL extension
– http://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/
WL_bind_wayland_display.spec
 libgbm
– https://github.com/robclark/libgbm
 Renesas R-Car series platforms
– http://am.renesas.com/applications/automotive/cis/cis_highend/

More Related Content

What's hot

XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...The Linux Foundation
 
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...The Linux Foundation
 
SE-4087, Leveraging HW-based content security, by Dan Wong
SE-4087, Leveraging HW-based content security, by Dan WongSE-4087, Leveraging HW-based content security, by Dan Wong
SE-4087, Leveraging HW-based content security, by Dan WongAMD Developer Central
 
QtWS15 Revolutionizing Automotive with Qt
QtWS15 Revolutionizing Automotive with QtQtWS15 Revolutionizing Automotive with Qt
QtWS15 Revolutionizing Automotive with QtJohan Thelin
 
HC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasHC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasAMD Developer Central
 
Qt World Summit 2017: Qt vs. Web - Total Cost of Ownership
Qt World Summit 2017: Qt vs. Web - Total Cost of OwnershipQt World Summit 2017: Qt vs. Web - Total Cost of Ownership
Qt World Summit 2017: Qt vs. Web - Total Cost of OwnershipBurkhard Stubert
 
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...AMD Developer Central
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGlobalLogic Ukraine
 
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe ClavelIS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe ClavelAMD Developer Central
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depthChris Simmonds
 
PG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovPG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovAMD Developer Central
 
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
 
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...The Linux Foundation
 
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, CitrixLCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, CitrixThe Linux Foundation
 
XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...
XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...
XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...The Linux Foundation
 
WT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon WoodsWT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon WoodsAMD Developer Central
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...AMD Developer Central
 
LCC17 - Live Patching, Virtual Machine Introspection and Vulnerability Manag...
LCC17 -  Live Patching, Virtual Machine Introspection and Vulnerability Manag...LCC17 -  Live Patching, Virtual Machine Introspection and Vulnerability Manag...
LCC17 - Live Patching, Virtual Machine Introspection and Vulnerability Manag...The Linux Foundation
 

What's hot (20)

XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
XPDDS19: Argo and Hypervisor-Mediated Data eXchange (HMX) - Christopher Clark...
 
Balancing Power & Performance Webinar
Balancing Power & Performance WebinarBalancing Power & Performance Webinar
Balancing Power & Performance Webinar
 
Xensummit Asia 2009 Talk
Xensummit Asia 2009 TalkXensummit Asia 2009 Talk
Xensummit Asia 2009 Talk
 
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...XPDDS19:   Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
XPDDS19: Xen API Archaeology: Creating a Full-Featured VMI Debugger for the...
 
SE-4087, Leveraging HW-based content security, by Dan Wong
SE-4087, Leveraging HW-based content security, by Dan WongSE-4087, Leveraging HW-based content security, by Dan Wong
SE-4087, Leveraging HW-based content security, by Dan Wong
 
QtWS15 Revolutionizing Automotive with Qt
QtWS15 Revolutionizing Automotive with QtQtWS15 Revolutionizing Automotive with Qt
QtWS15 Revolutionizing Automotive with Qt
 
HC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu DasHC-4017, HSA Compilers Technology, by Debyendu Das
HC-4017, HSA Compilers Technology, by Debyendu Das
 
Qt World Summit 2017: Qt vs. Web - Total Cost of Ownership
Qt World Summit 2017: Qt vs. Web - Total Cost of OwnershipQt World Summit 2017: Qt vs. Web - Total Cost of Ownership
Qt World Summit 2017: Qt vs. Web - Total Cost of Ownership
 
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
CC-4006, Deliver Hardware Accelerated Applications Using RemoteFX vGPU with W...
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe ClavelIS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
IS-4081, Rabbit: Reinventing Video Chat, by Philippe Clavel
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
PG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry KozlovPG-4039, RapidFire API, by Dmitry Kozlov
PG-4039, RapidFire API, by Dmitry Kozlov
 
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 ...
 
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
 
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, CitrixLCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
 
XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...
XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...
XPDDS18: Design Session - SGX deep dive and SGX Virtualization Discussion, Ka...
 
WT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon WoodsWT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
WT-4073, ANGLE and cross-platform WebGL support, by Shannon Woods
 
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
PT-4142, Porting and Optimizing OpenMP applications to APU using CAPS tools, ...
 
LCC17 - Live Patching, Virtual Machine Introspection and Vulnerability Manag...
LCC17 -  Live Patching, Virtual Machine Introspection and Vulnerability Manag...LCC17 -  Live Patching, Virtual Machine Introspection and Vulnerability Manag...
LCC17 - Live Patching, Virtual Machine Introspection and Vulnerability Manag...
 

Viewers also liked

Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI
Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVIHarmonizing policy management with Murphy in Genivi, AGL and Tizen IVI
Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVIRyo Jin
 
Cross compile
Cross compileCross compile
Cross compilecri fan
 
Developing HTML5 applications for Tizen
Developing HTML5 applications for TizenDeveloping HTML5 applications for Tizen
Developing HTML5 applications for TizenLeon Anavi
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginnersPorting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginnersLeon Anavi
 
AAME ARM Techcon2013 006v02 Implementation Diversity
AAME ARM Techcon2013 006v02 Implementation DiversityAAME ARM Techcon2013 006v02 Implementation Diversity
AAME ARM Techcon2013 006v02 Implementation DiversityAnh Dung NGUYEN
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Samsung Open Source Group
 
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...Ryo Jin
 
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠SangJung Woo
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browserSabin Buraga
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE Linaro
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE Linaro
 

Viewers also liked (13)

Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI
Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVIHarmonizing policy management with Murphy in Genivi, AGL and Tizen IVI
Harmonizing policy management with Murphy in Genivi, AGL and Tizen IVI
 
Cross compile
Cross compileCross compile
Cross compile
 
Developing HTML5 applications for Tizen
Developing HTML5 applications for TizenDeveloping HTML5 applications for Tizen
Developing HTML5 applications for Tizen
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginnersPorting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginners
 
AAME ARM Techcon2013 006v02 Implementation Diversity
AAME ARM Techcon2013 006v02 Implementation DiversityAAME ARM Techcon2013 006v02 Implementation Diversity
AAME ARM Techcon2013 006v02 Implementation Diversity
 
ARM AAE - System Issues
ARM AAE - System IssuesARM AAE - System Issues
ARM AAE - System Issues
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
 
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
Consolidation of IVI Graphic Subsystems; Weston, a Wayland Compositor, and Ge...
 
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE
 

Similar to Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Windows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewWindows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewAmit Gatenyo
 
Windows Server 2008 R2 & SP1 for IT Pro's
Windows Server 2008 R2 & SP1 for IT Pro'sWindows Server 2008 R2 & SP1 for IT Pro's
Windows Server 2008 R2 & SP1 for IT Pro'sAmit Gatenyo
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011pundiramit
 
70-412 Objectives
70-412 Objectives70-412 Objectives
70-412 Objectivespupeadra
 
Clusters (Distributed computing)
Clusters (Distributed computing)Clusters (Distributed computing)
Clusters (Distributed computing)Sri Prasanna
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitIgalia
 
OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...
OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...
OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...NETWAYS
 
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019Karl Isenberg
 
VIR401 RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...
VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...
VIR401 RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...John Wildes
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptxJayakumarS71
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote renderingMarius Preda PhD
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...Edge AI and Vision Alliance
 
Windows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper VWindows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper VAmit Gatenyo
 
ENOVIA 3Dcom Architecture
ENOVIA 3Dcom ArchitectureENOVIA 3Dcom Architecture
ENOVIA 3Dcom ArchitecturePalmV
 
CAVE/RC-to-street
CAVE/RC-to-street CAVE/RC-to-street
CAVE/RC-to-street Videoguy
 
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...shrinathAcharya
 

Similar to Porting Tizen-IVI 3.0 to an ARM based SoC Platform (20)

Windows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 OverviewWindows 7 and Windows Server 2008 R2 SP1 Overview
Windows 7 and Windows Server 2008 R2 SP1 Overview
 
Windows Server 2008 R2 & SP1 for IT Pro's
Windows Server 2008 R2 & SP1 for IT Pro'sWindows Server 2008 R2 & SP1 for IT Pro's
Windows Server 2008 R2 & SP1 for IT Pro's
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
 
70-412 Objectives
70-412 Objectives70-412 Objectives
70-412 Objectives
 
[ppt]
[ppt][ppt]
[ppt]
 
Clusters (Distributed computing)
Clusters (Distributed computing)Clusters (Distributed computing)
Clusters (Distributed computing)
 
Add the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKitAdd the power of the Web to your embedded devices with WPE WebKit
Add the power of the Web to your embedded devices with WPE WebKit
 
OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...
OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...
OSMC 2023 | IGNITE: Serving Server-Side WASM with Web Awareness with NGINX Un...
 
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019Kubernetes Multitenancy   Karl Isenberg - KubeCon NA 2019
Kubernetes Multitenancy Karl Isenberg - KubeCon NA 2019
 
VIR401 RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...
VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...VIR401RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...
VIR401 RDP, RemoteFX, ICA/HDX, EOP and PCoIP VDI Remoting Protocols Turned In...
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Решения NFV в контексте операторов связи
Решения NFV в контексте операторов связиРешения NFV в контексте операторов связи
Решения NFV в контексте операторов связи
 
XLcloud 3-d remote rendering
XLcloud 3-d remote renderingXLcloud 3-d remote rendering
XLcloud 3-d remote rendering
 
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
“Open Standards: Powering the Future of Embedded Vision,” a Presentation from...
 
DRIVE PX 2
DRIVE PX 2DRIVE PX 2
DRIVE PX 2
 
Windows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper VWindows Server 2008 R2 Hyper V
Windows Server 2008 R2 Hyper V
 
Usenix Invited Talk
Usenix Invited TalkUsenix Invited Talk
Usenix Invited Talk
 
ENOVIA 3Dcom Architecture
ENOVIA 3Dcom ArchitectureENOVIA 3Dcom Architecture
ENOVIA 3Dcom Architecture
 
CAVE/RC-to-street
CAVE/RC-to-street CAVE/RC-to-street
CAVE/RC-to-street
 
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
 

More from Ryo Jin

Why is EFL used on Tizen?
Why is EFL used on Tizen?Why is EFL used on Tizen?
Why is EFL used on Tizen?Ryo Jin
 
Samsung Z4 User Manual
Samsung Z4 User ManualSamsung Z4 User Manual
Samsung Z4 User ManualRyo Jin
 
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetSamsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetRyo Jin
 
Introduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen StudioIntroduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen StudioRyo Jin
 
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverTizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverRyo Jin
 
Panduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenPanduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenRyo Jin
 
Cara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenCara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenRyo Jin
 
Gear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideGear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideRyo Jin
 
Samsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreSamsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreRyo Jin
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesRyo Jin
 
Samsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsSamsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsRyo Jin
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppRyo Jin
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTRyo Jin
 
Russian Tizen Project
Russian Tizen ProjectRussian Tizen Project
Russian Tizen ProjectRyo Jin
 
Samsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualSamsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualRyo Jin
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceRyo Jin
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenRyo Jin
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandRyo Jin
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASSRyo Jin
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASSRyo Jin
 

More from Ryo Jin (20)

Why is EFL used on Tizen?
Why is EFL used on Tizen?Why is EFL used on Tizen?
Why is EFL used on Tizen?
 
Samsung Z4 User Manual
Samsung Z4 User ManualSamsung Z4 User Manual
Samsung Z4 User Manual
 
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetSamsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
 
Introduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen StudioIntroduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen Studio
 
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverTizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
 
Panduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenPanduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable Tizen
 
Cara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenCara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone Tizen
 
Gear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideGear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design Guide
 
Samsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreSamsung Indonesia: Tizen Store
Samsung Indonesia: Tizen Store
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen Wearables
 
Samsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsSamsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web Apps
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoT
 
Russian Tizen Project
Russian Tizen ProjectRussian Tizen Project
Russian Tizen Project
 
Samsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualSamsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User Manual
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT device
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman Tizen
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and Wayland
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 

Recently uploaded

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

  • 1. 1 Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia
  • 2. Current State of Affairs  Intel architecture (x86) system – Tizen IVI 2.0alpha, Tizen IVI 3.0  ARM architecture based system – Tizen IVI 2.0alpha (ivi-panda)
  • 3. Test Platform  Renesas R-Car Gen2 series platform  R-Car M2 – ARM Cortex A15 x2  R-Car H2 – ARM Cortex A15 x4, + ARM Cortex A7 x4 (option)  3D Graphics System – Imagination Technologies PowerVR series  On board IP – H/W video decode/encode – image processing
  • 4. Agenda  Objective  Methodology  Porting Tasks – Weston/Wayland Integration – WebKit Integration – GStreamer Integration
  • 5. Objective  Tizen IVI 3.0 on R-Car M2/H2 1. Standard Native Applications – Terminal program – Open GL/ES applications 2. Web – Browser and web applications 3. Multimedia – Video playback (1080p @ 30fps)
  • 6. Methodology  Tizen IVI 3.0 milestone releases we used: – M2-Sep (released Oct 11, 2013) – M2-EOY (released Jan 15, 2014) – M2-March2014 (released April 11, 2014)  Non-hardware dependant packages – Rebuild for ARM instruction set  Hardware dependant packages – Replace/update with R-Car M2/H2 support
  • 8. Using Upstream Repos Local binary package Locally modified source code gbs mic File system image download.tizen.org review.tizen.org rpm binary package repogit source code repo Package Compilation Image creation Flash onto target system
  • 9. Full local build Local binary package Locally modified source code gbs mic File system image review.tizen.org git source code repo Package Compilation Image creation Flash onto target system https://source.tizen.org search: building tizen from scratch
  • 10. Source Code and Build Preparation  Get source code repo init -u review.tizen.org:scm/manifest -b tizen –m ivi.xml  Overwrite projects.xml with milestone manifest file http://download.tizen.org/${RELEASE_PATH}/builddata/manifest/xxx.xml manifests/.repo/ metadata.xml prebuilt.xml projects.xml ivi/
  • 11. Build Preparation (cont.)  Use prebuilt ARM toolchain from Tizen mobile branch $ repo sync -<project name=”pre-built/toolchain-arm” ... revision=”tizen-ivi”/> +<project name=”pre-built/toolchian-arm” ... revision=”tizen”/> manifests/.repo/ metadata.xml prebuilt.xml projects.xml ivi/
  • 12. Porting Tasks  Recompile packages (roughly 800)  Wayland/Weston (windows system) backend – Use PowerVR driver instead of Mesa  Web Applications – Implement WaylandBufferManager  Multimedia Acceleration Video Playback – 0 – copy video stream processing (1080p @ 30fps)
  • 13. Replacing the Mesa driver for Wayland/Weston
  • 14. Wayland/Weston Overview Client Application client process Client Application client process Weston Compositor server process Wayland protocol client/server based windowing system client: draws application content server: composites one or more client windows to create output screen
  • 15. Mesa Wayland/Weston with Mesa drm/kms driver Client Application client process server process GPU driver user space kernel Intel graphics dependent unit other functional unit generic unit libdrm_intel wl_drm Weston Compositor OpenGL driver gbm Wayland protocol ioctl buffer sharing Wayland prot. GPU API Wayland EGL extension lets Mesa use Wayland buffers
  • 16. Wayland/Weston on R-Car M2/H2 drm/kms driver Client Application client process server process GPU driver user space kernel generic library other functional unit proprietary library libkms wl_kms Weston Compositor PowerVR OpenGL driver libgbm Wayland protocol ioctl buffer sharing Wayland prot. GPU API uses generic dumb buffer backend almost same as wl_drm but with libkms back end
  • 17. Replacing Mesa Replacement libraries must – Implement EGL_WL_bind_wayland_display EGL extension http://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/WL_bind_wayland_display.spec – Provide » libgbm – Access to drm backend (https://github.com/robclark/libgbm) » libdrm/libkms – for access to memory buffers (provided in Tizen release) » buffer sharing interface – (similar to Mesa wl_drm) – libgbm backend should match buffer sharing interface
  • 18. Replacing Mesa on Tizen 1. replace mesa library » rm –r <build directory>/platform/upstream/mesa » cp my_libraries <build directory> 2. edit build.conf (build settings file) -%define with_mesa=1 ... +Substitute: pkgconfig(gl) +Substitute: mesa-devel pkgconfig(gles20) ... Macros -%with_mesa=1 3. build the system $ gbs build –A armv7l (for full build command line see http://source.tizen.org “building Tizen from scratch”)
  • 19. Objective  Tizen IVI 3.0 on R-Car M2/H2 1. Native Applications – Terminal program – Open GLES applications 2. Web – Browser and web applications 3. Multimedia – Video playback (1080p @ 30fps)
  • 21. Simple client-server configuration drm/kms driver WebKit UI Process client process GPU driver server process user space kernel libkms wl_kms Weston Compositor PowerVR OpenGL driver libgbm generic library other functional unit proprietary library Wayland protocol ioctl buffer sharing Wayland prot. GPU API
  • 22. Webkit2 client-client/server-server configuration WebKit Web Process drm/kms driver client process WebKit UI Process libkms client/server process wl_kms GPU driver server process user space kernel Wayland protocol ioctl buffer sharing Wayland prot. generic library other functional unit proprietary library libkms wl_kms Weston Compositor PowerVR OpenGL driver libgbmGPU API
  • 23. Webkit2 Buffer Allocation WebKit Web Process drm/kms driver client process WebKit UI Process libkms client/server process wl_kms WaylandKmsBufferManager libkms WaylandDisplay WaylandDisplay (class): Update to use wl_kms instead of wl_drm WaylandKmsBufferManager (class): Implementation of WaylandBufferManager interface Wayland protocol ioctl buffer sharing Wayland prot. generic library other functional unit
  • 24. WaylandBufferManager Interface  WaylandBufferManager and WaylandDisplay source: webkit-efl/Source/WebCore/platform/graphics/surfaces/wayland/  Interface for allocating/locking shareable buffers (e.g.. kms_bo) – allocateBO returns handleId. – *handle is pointer to shareable fd (ie. flinked fd, or DMABuf handle) – query to get buffer virtual addressclass WaylandBufferManager { allocateBO(w, h, stride, size, align, *handle); lockSurface(handleId); unlockSurface(handleId); freeBO(handleId); query(handleId, **addr); }
  • 25. Objective  Tizen IVI 3.0 on R-Car M2/H2 1. Native Applications – Terminal program – Open GLES applications 2. Web – Browser and web applications 3. Multimedia – Video playback (1080p @ 30fps)
  • 27. Example GStreamer pipeline GStreamer  Encode, decode, capture and display multimedia data  Make a pipeline of components to do what you want video demuxer audio decoder sample player video decoder frame renderer to speaker to screen
  • 28. Video Decode on R-Car M2/H2 on Tizen IVI 3.0  Audio pipeline – Software decode for now  Video decode – Use gst-omx to bridge GStreamer to OpenMAX IL component  Color conversion/scaling – Use hardware accelerated color conversion/scaling module  Display – Use waylandsink to display via Weston compositor
  • 29. GStreamer H/W accelerated video decode full custom as-is upstream component Reneas proprietary librarycustomized component client process Weston Compositor GStreamer Application gst-omx vspfilter (color conv./scaler) GStreamer Plugins waylandsink OpenMAX IL Video decoder GPU hardware H/W video decoder H/W color conv./scaling server process Wayland protocol API call data flow memcpy()
  • 30. Waylandsink customization  H/W color conversion requires physically contiguous buffers – Waylandsink allocates non-contiguous shared memory buffers – Add extra memcpy()s into pipeline.  Buffers allocated from kms bo are physically contiguous (on our system) – Use the same method as with WebKit to allocate and share graphics buffers
  • 31. Waylandsink customized for libkms usage GStreamer waylandsink drm/kms driver client process Weston compositor libkms server process wl_kms libkms Wayland protocol ioctl buffer sharing Wayland prot. generic library other functional unit gstbufferpool->alloc() Allocated kms dumb buffers used for H/W color conversion. No memcpy()s required between video decode and screen display.
  • 32. GStreamer H/W accelerated video decode no memcpy() full custom as-is upstream component Reneas proprietary librarycustomized component client process Weston Compositor GStreamer Application gst-omx vspfilter (color conv./scaler) GStreamer Plugins waylandsink OpenMAX IL Video decoder GPU hardware H/W video decoder H/W color conv./scaling server process Wayland protocol API call data flow
  • 33. Objective  Tizen IVI 3.0 on R-Car M2/H2 1. Native Applications – Terminal program – Open GLES applications 2. Web – Browser and web applications 3. Multimedia – Video playback (1080p @ 30fps)
  • 34. What we learned - review  Building – Use manifest xml file from milestone release on http://donwload.tizen.org – Use mobile toolchain for ARM  Weston/Wayland – Need support for EGL_WL_bind_wayland_display in Open GL/ES driver – Can use libkms dumb buffers  WebKit – Implement WaylandBufferManager; update WaylandDisplay  Multimedia playback – Use libkms and Wayland buffer sharing to implement 0-copy processing with physically contiguous memory buffers
  • 36. Links  Building Tizen from scratch – https://source.tizen.org/documentation/developer-guide/all-one- instructions/creating-tizen-images-scratch-one-page  EGL_WL_bind_wayland_display EGL extension – http://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/ WL_bind_wayland_display.spec  libgbm – https://github.com/robclark/libgbm  Renesas R-Car series platforms – http://am.renesas.com/applications/automotive/cis/cis_highend/