how to embrace wayland for tizendownload.tizen.org › misc › media › conference2013 › ... ·...
TRANSCRIPT
![Page 1: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/1.jpg)
How to embrace wayland
for Tizen
![Page 2: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/2.jpg)
developers’ prove of concept demo
![Page 3: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/3.jpg)
3
Agenda
• Wayland introduction
• Embracing wayland for tizen
• Performance enhancement
![Page 4: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/4.jpg)
Wayland Introduction
![Page 5: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/5.jpg)
5
Usage scope
……
![Page 6: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/6.jpg)
6
What is wayland
• Protocols
• Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. (Kristensen, Kristian)
• Weston is one compositor (Kristensen, Kristian)
6
server client
![Page 7: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/7.jpg)
7
Xorg & Wayland architecture
Inter-process communication
Less IPC In wayland
![Page 8: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/8.jpg)
8
How does wayland/weston work?
shell client
(wayland client)
drm backend
Customized backend Other Wayland clients
shell Wayland
protocols
Weston compositor
![Page 9: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/9.jpg)
Embracing wayland for Tizen
![Page 10: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/10.jpg)
10
Linux Kernel DRM GPU Driver G2D Driver
HW
Tizen graphics stack with Xorg
![Page 11: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/11.jpg)
11
e17
(Compositor)
Native UI FW
Web UI FW
WebKit
Cairo
Freetype
&
Fontsconfig
Xorg pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
Multimedia/
gstreamer elementary
edje ecore
eet
eina
evas
….
Open GL ES EGL
Tizen graphics stack with Xorg
![Page 12: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/12.jpg)
12
Native Apps Web Apps
e17
(Compositor)
Native UI FW
Web UI FW
WebKit
Cairo
Freetype
&
Fontsconfig
Xorg pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
Multimedia/
gstreamer elementary
edje ecore
eet
eina
evas
….
Open GL ES EGL
Tizen graphics stack with Xorg
![Page 13: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/13.jpg)
13
EGL Xorg
WebKit
elementary
edje ecore
eet
eina
evas
….
Multimedia/
gstreamer e17
(Compositor)
Native Apps Web Apps
Native UI FW
Web UI FW
Cairo
Freetype
&
Fontsconfig
Wayland protocols Open GL ES pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
EGL
Tizen graphics stack with Wayland
![Page 14: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/14.jpg)
14
EGL Xorg
WebKit
elementary
edje ecore
eet
eina
evas
….
Multimedia/
gstreamer e17
(Compositor)
Native Apps Web Apps
Weston/e17
(Compositor)
Native UI FW
Web UI FW
Cairo
Freetype
&
Fontsconfig
Wayland protocols Open GL ES pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
EGL
Tizen graphics stack with Wayland
![Page 15: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/15.jpg)
15
EGL Xorg
WebKit
elementary
edje ecore
eet
eina
evas
….
Multimedia/
gstreamer e17
(Compositor)
Native Apps Web Apps
Weston/e17
(Compositor)
Native UI FW
Web UI FW
Cairo
Freetype
&
Fontsconfig
Wayland protocols Open GL ES pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
elementary
edje ecore
eet
eina
evas
….
EGL
Tizen graphics stack with Wayland
![Page 16: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/16.jpg)
16
EGL Xorg
WebKit
elementary
edje ecore
eet
eina
evas
….
Multimedia/
gstreamer e17
(Compositor)
Native Apps Web Apps
Weston/e17
(Compositor)
Native UI FW
Web UI FW
WebKit
Cairo
Freetype
&
Fontsconfig
Wayland protocols Open GL ES pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
elementary
edje ecore
eet
eina
evas
….
EGL
Tizen graphics stack with Wayland
![Page 17: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/17.jpg)
17
EGL Xorg
WebKit
elementary
edje ecore
eet
eina
evas
….
Multimedia/
gstreamer e17
(Compositor)
Native Apps Web Apps
Weston/e17
(Compositor)
Native UI FW
Web UI FW
WebKit
Cairo
Freetype
&
Fontsconfig
Wayland protocols Open GL ES pixman
Linux Kernel DRM GPU Driver G2D Driver
HW
Multimedia/
gstreamer elementary
edje ecore
eet
eina
evas
….
EGL
Tizen graphics stack with Wayland
![Page 18: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/18.jpg)
18
Changes in general
• Remove hardcoded Xorg dependency
• Add wayland protocol
• Extend EGL
• Add compositor
• Upgrade EFL
• Tizen Frameworks porting to Wayland
• App FW, Multimedia FW, Webkit/WRT…
![Page 19: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/19.jpg)
19
Weston compositor
Intel Software Professionals Conference - Intel
Confidential
19
weston
Drm
backend
tizen
Shell
HOME UX
![Page 20: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/20.jpg)
20
Weston compositor
Intel Software Professionals Conference - Intel
Confidential
20
weston
Drm
backend
tizen
Shell
Menuscreen
+
Indicator
+
Lock screen
…
HOME UX
![Page 21: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/21.jpg)
21
EFL with Wayland support
EGL
elementary
weston ecore
wayland
Ecore Evas
wayland
engine
surface commit
frame done
input event
APP
![Page 22: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/22.jpg)
22
Native Applications
• EFL
• Add the patches from upstream
• APPFW
• Hide/show/Rotation to be re-implemented
• Remove X Related API dependencies
![Page 23: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/23.jpg)
23
Webkit2
• Buffer sharing between web and browser process
• wl surface (with dummy wayland egl window) to fake X pixmap
![Page 24: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/24.jpg)
24
MultiMedia (with libva)
• Driver render to wayland buffer
• Libva wayland backend
• setting up bridge between server and client
• Gstreamer vaapi video sink
• Attach wl_buffer to wl_surface
![Page 25: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/25.jpg)
25
Video driver
![Page 26: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/26.jpg)
26
wl_buffer
Video driver
Libva wayland backend
![Page 27: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/27.jpg)
27
wl_buffer
attach
Video driver
Libva wayland backend
wl_surface
gstreamer vaapi
![Page 28: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/28.jpg)
28
wl_buffer
attach
Video driver
Libva wayland backend
wl_surface
gstreamer vaapi
![Page 29: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/29.jpg)
29
Benefits
• Memory saving in video
• Flexible buffer type(RGB/YUV), direction and size for composition
• Inherent all benefits for overlay
• Thin architecture for performance tuning
![Page 30: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/30.jpg)
Performance Wayland’s thin architecture makes it possible and easier
![Page 31: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/31.jpg)
31
Performance
• Frame Rate
• 60 FPS(Frames Per Second)
• 16ms for one frame from client to compositor
![Page 32: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/32.jpg)
32
Performance: tool
• E-Graph
We developed a tool to visualize log information and draw FPS curve
Open source project hosted at https://gitorious.org/e-graph/e-graph
![Page 33: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/33.jpg)
33
Live Demo for E-graph
![Page 34: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/34.jpg)
34
Original state
• Fps curve and timing of critical events (drawn by E-Graph)
• For the scroll animation for org.tizen.Settings
![Page 35: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/35.jpg)
35
The famous Triple buffering
• Add one buffer for the client and compositor to draw when the resource is
blocked by waiting VSync
busy busy Paint to me
![Page 36: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/36.jpg)
36
Triple buffering
• Before
~40fps
• After
~48fps
![Page 37: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/37.jpg)
37
Triple buffering
• Before
~40fps
• After
~48fps
Far away from 60fps
![Page 38: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/38.jpg)
38
GPU usage
Time spend on
composition
~13ms!
![Page 39: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/39.jpg)
39
Opaque region
• Weston needs opaque region information to do more efficient
compositing
Surface A(opaque)
Surface B Surface B will not be
drawn
![Page 40: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/40.jpg)
40
Root cause
• No opaque region set for surface
• Weston redraw the overlapped surface
• Heavy work load during composition
Action to set the opaque region for wayland
surface in ecore
![Page 41: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/41.jpg)
41
Opaque region
• Compositing time
~13ms ~5ms
• FPS
40fps 60fps
![Page 42: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/42.jpg)
Summary
![Page 43: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/43.jpg)
43
Embracing wayland
• Prove of Concept result: it’s Doable
• Wayland brings thin architecture for compositor and clients
• Easier to get to the performance goal
![Page 44: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/44.jpg)
44
Wayland Upstream Resources
• Maillist: [email protected]
• Wiki Page: wayland.freedesktop.org
• E-graph: https://gitorious.org/e-graph/e-graph
![Page 45: How to embrace wayland for Tizendownload.tizen.org › misc › media › conference2013 › ... · Web UI FW WebKit Cairo Freetype & Fontsconfig Xorg pixman ... • Thin architecture](https://reader034.vdocuments.site/reader034/viewer/2022042404/5f1878b27478717d954f62a7/html5/thumbnails/45.jpg)