SlideShare a Scribd company logo
1 of 30
Download to read offline
Tizen Window System
2016-01-23 Tizen Talks
Gwan-gyeong Mun
Software R&D Center
Samsung Electronics
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 2
AppFramework / UI Framework / WindowSystem
Window System
Display Server + Window Manager + Etc ( Buffer
Management , GL Driver …)
Provide Visibility Feature for App Framework’s Life Cyle
Provide Window Resource ( with various WM policy )
for UI Framework
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 3
AppCore with Window Manager
P
P
Window Manager
Send Visibility Event
for Resume State
Feat. 정우현
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 4
EFL with Display Server
Window
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 5
Window Manager Policy
Window Manager
controlls Window
Focus, Size, Stack,
etc…
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 6
EFL / Window System in Tizen
Legend
Applications EFL & fontsWindow System
H/W
Linux Kernel Frame Buffer Input Devices
H/W
fontconfigfreetype2 OpenGL ES/EGL
Eet
Evas
Ecore
Eina
Edje
Elementary
Applications
X / Wayland Window System
Input
Service
Framework
&
Voice
Framework
kernel / Frame Buffer/ Input Devices
Graphics
ISF& Voice FW
Cairo
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 7
Android? Tizen?
출처: https://source.android.com/devices/graphics/index.html
Enlightenment
Main Screen Mgr.
wm-
policy
Keyrouter
Comp
Window Effect
Composition
Enlightenment Foundation Library (EFL)
Ecore Evas
Xlib OpenGL ES / EGL
X Server / DRM TBM
Application
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 8
Tizen Window System
Window Systems
X Window System
X Server + Enlightenment (Window Manager, E17)
~ Tizen 2.4
Wayland
Enlightenment ( Wayland Display Server, E19)
Tizen 3.0 ~
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 9
Display Server / Window Manager (1)
Display Server
Control Input / Output
Window Manager
Window Policy
Window Size, Position, Stack, Visibility, Rotation
Window Compositing
Window Effect, NoComp Feature (HWC)
Etc
KeyRouter, Quickpanel Manager, ANR …
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 10
Display Server / Window Manager (2)
X ( ~Tizen 2.4 )
Display Server : X Server
Window Manager: Enlightenment E17, works as X Client.
Wayland (Tizen 3.0 ~)
Display Server + Window Manager = Enlightenment E19
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 11
Tizen Graphics Library(EFL) Backend
EFL(Enlightenment Foundation Library)
Backend ( X11, Wayland, DRM, Etc… )
Ecore
Event loop library with convenience modules
Ecore_X11, Ecore_Wayland, Ecore_Drm
Ecore_Evas
Glue to the backends
Ecore_Evas_X11, Ecore_Evas_Wayland,
Ecore_Evas_Drm
Evas
Canvas & rendering library
Evas_X11_Shm, Evas_X11_GL, Evas_Wayland_Shm,
Evas_Wayland_Egl, Evas_Drm, Evas_GL_Drm
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 12
X Window System (~Tizen 2.4)
X Software Architecture
X has the client-server model architecture.
X logically be thought to be two part, the client linked
with Xlib called X client and the server which is
generally called X server.
X client
Xlib
X server
Network
requests
replies
events
Legend
X client
Xlib
X Server
X protocol
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 13
X Software Architecture (~Tizen 2.4)
Application
Xlib
Window
Manager
Xlib
Application
Xlib
Toolkit
X server
Network
Device Drivers
Window Manager
A program written with Xlib.
It controls the placement and appearance of
application windows.
X window system
protocol requests are
sent from clients.
Events and replies are
passed back to clients.
Toolkit
Implements a set of user
interface features such as
menus or command
buttons.
Ex. EFL
Display Server
A program that runs on each
system that supports a display.
Display
A workstation consisting
of keyboard(s), pointing
devices, and one or
more screens.
Xlib
Provides functions for
connecting to a display
server, creating windows,
drawing graphics,
responding to events,
and so on.
Legend
X client
Xlib
Toolkit
X Server
Device drivers X protocol
requests replies
• X Software Architecture in detail
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 14
X Window Manager (~Tizen 2.4)
X Window Manager
Window System 내의 모든 Window 들의 크기, 위치,
Stack 을 관리하는 특별한 X application
X Window Manager 종류: Enlightenment, Compiz,
Metacity, KWin, Mutter
Enlightenment
Enlightenment Foundation Library (EFL) 을 이용한 X
Window Manager.
Window management, Window composition, H/W
Key event 관리
Tizen Window Manager
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 15
Tizen Window Manager (Compositing)
Window Composition
Window Composition 작업을 통해 Screen 출력
Window 상태 변경에 따라 Effect 수행
~ Tizen 2.4 : E17’s module , e-comp-tizen module
Tizen 3.0 ~ : E19, Compositor merged into
Enlightenment Core
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 16
Compositing
1
2
3
SCREEN
(Phone/TV)
E17
COMP
X
SERVER
E19 Wayland Server
1
2
3
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 17
Tizen Window Manager (Policy)
Window Layout Policy
App Window들의 크기, 위치, 스택을 결정 / 관리
Main Screen Manager: Desktop window layout policy
적용
Policy Module: Main Screen Manager 에서 적용한
window layout을 Tizen UX 에 적합한 형태로 전환
H/W Key event Delivery Policy
Keyrouter module
여러 H/W key (Volume, Home, Power button) event
관리
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 18
Policy
1
2
3
SCREEN
(Phone/TV)
E17
Policy
X
SERVER
E19 Wayland Server
3
2
1
Stack / Size / Position 변경
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 19
Visibility
1
2
E17
Policy
X
SERVER
E19 Wayland Server
SCREEN
(Phone/TV)
1
2
[Visibility State ]
1: Obscured
2: Unobscured
[Window 2 Create / Show]
1
2
E17
Policy
X
SERVER
E19 Wayland Server
[Visibility State ]
1: Unobscured
2: Obscured
[Window 1 Raise up]
1
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 20
Window Manager Flow ( ~Tizen 2.4)
GPU Device DriverInput Device Driver
Application A
Enlightenment (E17)
Kernel
Legend & Acronym
Application
Enlightenment
Plug-in Module
Process
Plug-in
X Server
policy
X Video Driver
Application B
comp
X Input Driver
keyrouterDrawing
Window
Creation
Key Input
Drawing Flow
Window Creation Flow
Key Input Flow
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 21
Window Manager Flow (Tizen 3.0)
GPU Device DriverInput Device Driver
Application A
Enlightenment (E19)
Kernel
policy
Application B
comp
keyrouterDrawing Window
Creation
Key Input
Legend & Acronym
Application
Enlightenment
Plug-in Module
Process
Plug-in
Drawing Flow
Window Creation Flow
Key Input Flow
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 22
Wayland on Tizen 3.0
X Server
Composite
Window Mng.
Tizen App.
Xlib
Tizen App.
Xlib
Wayland
Compositor
Tizen App.
libwayland
Tizen App.
libwayland
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 23
Wayland?
New-generation Display Server replacement for X Display Server.
Wayland is NOT the Display Server by itself.
it’s just a protocol which can communicate with Compositor and
Clients.
Doesn’t have rendering API.
There is NO additional functionality.
Slogan
“Every frame is perfect, by which I mean that applications will be able to
control the rendering enough that we’ll never see tearing, lag, redrawing
or flicker.”
- by Kristian Høgsberg -
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 24
Why Wayland?
Core is extremely simple and small.
Give more work on Clients.
Smooth resize of the application window by optimized client-side
direct rendering and buffer control
Designed to be extendable and avoid round-trips
Easy to extend protocol for mobile, TV and wearable devices
Does not expose any direct client-to-client communication.
except passing file descriptors for selection and D&D data.
Reasons For Moving To Wayland
X Wayland
Rendering Support for H/W
Overlay by WM
No Yes
Support for Drawing
API
Yes No
Input Resource Limitation 255 Keycodes in theory, 232-1
Support for Server-
side Input Transform
No Yes
Security Protocol Code Hand written binary protocol parsing
code
Generated by
wayland-scanner
Input Event Different clients can receive events on
the same window and add other events.
Server sends
corresponding
events to a client.
Extensibility Ease of Porting Hard to adapt Relatively easy
Extension of protocol Hard to add while minimizing impact to
existing system functions (DIX, DDX)
Relatively easy
Event
System
Race condition Client – Server – WM Client – Server (WM)
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 26
Display Buffer Management
Application에 제공되는 Buffer의 생성 주체
X
윈도우 버퍼 생성은 X Server가 처리
GL의 경우도 GL Driver 내부에서 X 서버에 요청하여
메모리 생성 (정확히는 X Video Driver에서 처리 )
Wayland
Window 에 사용되는 Buffer생성 주체는 클라이언트
GL의 경우에도 Client Side GL Driver가 버퍼 할당
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 27
The Stack of Enlightenment Display Server
Application
X Server (Replaceable)
Operating System
EFL Library
E17 (WM)
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 28
The Stack of Enlightenment Display Server
Application
(Wayland)
Enlightenment 0.19 (Compositor)
EFL Library
Operating System
Application
X Server (Replaceable)
Operating System
EFL Library
E17 (WM)
Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 29
Repos & Contact
Window System Repos on Tizen 3.0
https://review.tizen.org/git/platform/upstream/enlightenment
https://review.tizen.org/git/platform/core/uifw/e-mod-tizen-wm-policy
https://review.tizen.org/git/platform/upstream/efl
kk.moon@samsung.com
Copyright © 2012 Samsung Electronics, Co., Ltd. All rights reserved. 30
Thank you

More Related Content

What's hot

LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARMLinaro
 
OpenGL Shading Language
OpenGL Shading LanguageOpenGL Shading Language
OpenGL Shading LanguageJungsoo Nam
 
OpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsOpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsJungsoo Nam
 
Project meeting: Android Graphics Architecture Overview
Project meeting: Android Graphics Architecture OverviewProject meeting: Android Graphics Architecture Overview
Project meeting: Android Graphics Architecture OverviewYu-Hsin Hung
 
Optimize your game with the Profile Analyzer - Unite Copenhagen 2019
Optimize your game with the Profile Analyzer - Unite Copenhagen 2019Optimize your game with the Profile Analyzer - Unite Copenhagen 2019
Optimize your game with the Profile Analyzer - Unite Copenhagen 2019Unity Technologies
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUJiansong Chen
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture reportAmr Abd El Latief
 
The Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Webpanagenda
 
Introduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & ComponentsIntroduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & ComponentsPouya Pournasir
 
PowerShell 101
PowerShell 101PowerShell 101
PowerShell 101Thomas Lee
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scriptingAkshay Siwal
 
Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Egor Elizarov
 
OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android Arvind Devaraj
 

What's hot (20)

LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
 
Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)Embedded Android : System Development - Part II (HAL)
Embedded Android : System Development - Part II (HAL)
 
OpenGL Shading Language
OpenGL Shading LanguageOpenGL Shading Language
OpenGL Shading Language
 
OpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsOpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIs
 
Project meeting: Android Graphics Architecture Overview
Project meeting: Android Graphics Architecture OverviewProject meeting: Android Graphics Architecture Overview
Project meeting: Android Graphics Architecture Overview
 
Optimize your game with the Profile Analyzer - Unite Copenhagen 2019
Optimize your game with the Profile Analyzer - Unite Copenhagen 2019Optimize your game with the Profile Analyzer - Unite Copenhagen 2019
Optimize your game with the Profile Analyzer - Unite Copenhagen 2019
 
OpenGL ES and Mobile GPU
OpenGL ES and Mobile GPUOpenGL ES and Mobile GPU
OpenGL ES and Mobile GPU
 
Chromium os architecture report
Chromium os  architecture reportChromium os  architecture report
Chromium os architecture report
 
The Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Web
 
Introduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & ComponentsIntroduction to Game Engine: Concepts & Components
Introduction to Game Engine: Concepts & Components
 
How to Customize Android Framework&System
How to Customize Android Framework&SystemHow to Customize Android Framework&System
How to Customize Android Framework&System
 
PowerShell 101
PowerShell 101PowerShell 101
PowerShell 101
 
Hardware Accelerated 2D Rendering for Android
Hardware Accelerated 2D Rendering for AndroidHardware Accelerated 2D Rendering for Android
Hardware Accelerated 2D Rendering for Android
 
Easiest way to start with Shell scripting
Easiest way to start with Shell scriptingEasiest way to start with Shell scripting
Easiest way to start with Shell scripting
 
Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)Android internals 07 - Android graphics (rev_1.1)
Android internals 07 - Android graphics (rev_1.1)
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 
OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android OpenGLES - Graphics Programming in Android
OpenGLES - Graphics Programming in Android
 
Ide
IdeIde
Ide
 
Power Management from Linux Kernel to Android
Power Management from Linux Kernel to AndroidPower Management from Linux Kernel to Android
Power Management from Linux Kernel to Android
 
Intro to linux
Intro to linuxIntro to linux
Intro to linux
 

Viewers also liked

[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)EnlightenmentProject
 
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠SangJung Woo
 
Tizen Mobile Application Lifecycle by Kirill Danilov
Tizen Mobile Application Lifecycle by Kirill DanilovTizen Mobile Application Lifecycle by Kirill Danilov
Tizen Mobile Application Lifecycle by Kirill DanilovMoscowJS
 
Tizen application inside out
Tizen application inside outTizen application inside out
Tizen application inside outEun Young Lee
 
How to be a Tizen Committer
How to be a Tizen CommitterHow to be a Tizen Committer
How to be a Tizen CommitterEun Young Lee
 
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...Ryo Jin
 

Viewers also liked (7)

[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
 
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
[Tizen Talk 2016 in Seoul] 바닥서부터 만들어보는 타이젠
 
Tizen Mobile Application Lifecycle by Kirill Danilov
Tizen Mobile Application Lifecycle by Kirill DanilovTizen Mobile Application Lifecycle by Kirill Danilov
Tizen Mobile Application Lifecycle by Kirill Danilov
 
Tizen UIFW - EFL
Tizen UIFW - EFLTizen UIFW - EFL
Tizen UIFW - EFL
 
Tizen application inside out
Tizen application inside outTizen application inside out
Tizen application inside out
 
How to be a Tizen Committer
How to be a Tizen CommitterHow to be a Tizen Committer
How to be a Tizen Committer
 
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
 

Similar to Tizen Window System

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
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...François Le Droff
 
X Window System
X Window SystemX Window System
X Window SystemRon Bandes
 
Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10Windows Developer
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYEnterprise Management Associates
 
Wayland intro with_i18n_hacks
Wayland intro with_i18n_hacksWayland intro with_i18n_hacks
Wayland intro with_i18n_hacksPeng Wu
 
Thin Client Smart Station Smart 2590
Thin Client Smart Station Smart 2590Thin Client Smart Station Smart 2590
Thin Client Smart Station Smart 2590Nirav Ambani
 
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0AVEVA
 
Exor jmobile introduction
Exor jmobile introductionExor jmobile introduction
Exor jmobile introductionJimmy Hsu
 
Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...
Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...
Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...Unidesk Corporation
 
ThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: IntroductionThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: IntroductionRockwell Automation
 
W PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury IT
W PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury ITW PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury IT
W PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury ITPeter Ocasek
 
Automated Software Modernization
Automated Software ModernizationAutomated Software Modernization
Automated Software ModernizationManuel Dolle
 
interface 9 technical overview
interface 9 technical overviewinterface 9 technical overview
interface 9 technical overviewAtHand Solutions
 
Designing Machine-level HMI with Studio 5000 View Designer® Demonstration
Designing Machine-level HMI with Studio 5000 View Designer® DemonstrationDesigning Machine-level HMI with Studio 5000 View Designer® Demonstration
Designing Machine-level HMI with Studio 5000 View Designer® DemonstrationRockwell Automation
 
MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...
MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...
MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...MongoDB
 
Manufacturing Webinar AMS
Manufacturing Webinar AMSManufacturing Webinar AMS
Manufacturing Webinar AMSSplunk
 
X plat dev - part ii publish
X plat dev - part ii publishX plat dev - part ii publish
X plat dev - part ii publishTekObserver
 
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
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...The Linux Foundation
 

Similar to Tizen Window System (20)

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
 
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
 
X Window System
X Window SystemX Window System
X Window System
 
Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10Modernizing Desktop Apps on Windows 10
Modernizing Desktop Apps on Windows 10
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
 
Wayland intro with_i18n_hacks
Wayland intro with_i18n_hacksWayland intro with_i18n_hacks
Wayland intro with_i18n_hacks
 
Thin Client Smart Station Smart 2590
Thin Client Smart Station Smart 2590Thin Client Smart Station Smart 2590
Thin Client Smart Station Smart 2590
 
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0A Special Introduction to the Upcoming InduSoft Web Studio 8.0
A Special Introduction to the Upcoming InduSoft Web Studio 8.0
 
Exor jmobile introduction
Exor jmobile introductionExor jmobile introduction
Exor jmobile introduction
 
Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...
Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...
Future-Proof Your Desktops - How City of Kent is Implementing VDI for 800 Wor...
 
ThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: IntroductionThinManager® Delivering and Managing The Connected Enterprise: Introduction
ThinManager® Delivering and Managing The Connected Enterprise: Introduction
 
W PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury IT
W PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury ITW PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury IT
W PROSTOCIE SIŁA - wirtualizacja sposobem na uproszczenie infrastruktury IT
 
Automated Software Modernization
Automated Software ModernizationAutomated Software Modernization
Automated Software Modernization
 
interface 9 technical overview
interface 9 technical overviewinterface 9 technical overview
interface 9 technical overview
 
Designing Machine-level HMI with Studio 5000 View Designer® Demonstration
Designing Machine-level HMI with Studio 5000 View Designer® DemonstrationDesigning Machine-level HMI with Studio 5000 View Designer® Demonstration
Designing Machine-level HMI with Studio 5000 View Designer® Demonstration
 
MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...
MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...
MongoDB Linux Porting, Performance Measurements and and Scaling Advantage usi...
 
Manufacturing Webinar AMS
Manufacturing Webinar AMSManufacturing Webinar AMS
Manufacturing Webinar AMS
 
X plat dev - part ii publish
X plat dev - part ii publishX plat dev - part ii publish
X plat dev - part ii publish
 
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
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 

Tizen Window System

  • 1. Tizen Window System 2016-01-23 Tizen Talks Gwan-gyeong Mun Software R&D Center Samsung Electronics
  • 2. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 2 AppFramework / UI Framework / WindowSystem Window System Display Server + Window Manager + Etc ( Buffer Management , GL Driver …) Provide Visibility Feature for App Framework’s Life Cyle Provide Window Resource ( with various WM policy ) for UI Framework
  • 3. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 3 AppCore with Window Manager P P Window Manager Send Visibility Event for Resume State Feat. 정우현
  • 4. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 4 EFL with Display Server Window
  • 5. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 5 Window Manager Policy Window Manager controlls Window Focus, Size, Stack, etc…
  • 6. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 6 EFL / Window System in Tizen Legend Applications EFL & fontsWindow System H/W Linux Kernel Frame Buffer Input Devices H/W fontconfigfreetype2 OpenGL ES/EGL Eet Evas Ecore Eina Edje Elementary Applications X / Wayland Window System Input Service Framework & Voice Framework kernel / Frame Buffer/ Input Devices Graphics ISF& Voice FW Cairo
  • 7. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 7 Android? Tizen? 출처: https://source.android.com/devices/graphics/index.html Enlightenment Main Screen Mgr. wm- policy Keyrouter Comp Window Effect Composition Enlightenment Foundation Library (EFL) Ecore Evas Xlib OpenGL ES / EGL X Server / DRM TBM Application
  • 8. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 8 Tizen Window System Window Systems X Window System X Server + Enlightenment (Window Manager, E17) ~ Tizen 2.4 Wayland Enlightenment ( Wayland Display Server, E19) Tizen 3.0 ~
  • 9. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 9 Display Server / Window Manager (1) Display Server Control Input / Output Window Manager Window Policy Window Size, Position, Stack, Visibility, Rotation Window Compositing Window Effect, NoComp Feature (HWC) Etc KeyRouter, Quickpanel Manager, ANR …
  • 10. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 10 Display Server / Window Manager (2) X ( ~Tizen 2.4 ) Display Server : X Server Window Manager: Enlightenment E17, works as X Client. Wayland (Tizen 3.0 ~) Display Server + Window Manager = Enlightenment E19
  • 11. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 11 Tizen Graphics Library(EFL) Backend EFL(Enlightenment Foundation Library) Backend ( X11, Wayland, DRM, Etc… ) Ecore Event loop library with convenience modules Ecore_X11, Ecore_Wayland, Ecore_Drm Ecore_Evas Glue to the backends Ecore_Evas_X11, Ecore_Evas_Wayland, Ecore_Evas_Drm Evas Canvas & rendering library Evas_X11_Shm, Evas_X11_GL, Evas_Wayland_Shm, Evas_Wayland_Egl, Evas_Drm, Evas_GL_Drm
  • 12. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 12 X Window System (~Tizen 2.4) X Software Architecture X has the client-server model architecture. X logically be thought to be two part, the client linked with Xlib called X client and the server which is generally called X server. X client Xlib X server Network requests replies events Legend X client Xlib X Server X protocol
  • 13. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 13 X Software Architecture (~Tizen 2.4) Application Xlib Window Manager Xlib Application Xlib Toolkit X server Network Device Drivers Window Manager A program written with Xlib. It controls the placement and appearance of application windows. X window system protocol requests are sent from clients. Events and replies are passed back to clients. Toolkit Implements a set of user interface features such as menus or command buttons. Ex. EFL Display Server A program that runs on each system that supports a display. Display A workstation consisting of keyboard(s), pointing devices, and one or more screens. Xlib Provides functions for connecting to a display server, creating windows, drawing graphics, responding to events, and so on. Legend X client Xlib Toolkit X Server Device drivers X protocol requests replies • X Software Architecture in detail
  • 14. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 14 X Window Manager (~Tizen 2.4) X Window Manager Window System 내의 모든 Window 들의 크기, 위치, Stack 을 관리하는 특별한 X application X Window Manager 종류: Enlightenment, Compiz, Metacity, KWin, Mutter Enlightenment Enlightenment Foundation Library (EFL) 을 이용한 X Window Manager. Window management, Window composition, H/W Key event 관리 Tizen Window Manager
  • 15. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 15 Tizen Window Manager (Compositing) Window Composition Window Composition 작업을 통해 Screen 출력 Window 상태 변경에 따라 Effect 수행 ~ Tizen 2.4 : E17’s module , e-comp-tizen module Tizen 3.0 ~ : E19, Compositor merged into Enlightenment Core
  • 16. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 16 Compositing 1 2 3 SCREEN (Phone/TV) E17 COMP X SERVER E19 Wayland Server 1 2 3
  • 17. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 17 Tizen Window Manager (Policy) Window Layout Policy App Window들의 크기, 위치, 스택을 결정 / 관리 Main Screen Manager: Desktop window layout policy 적용 Policy Module: Main Screen Manager 에서 적용한 window layout을 Tizen UX 에 적합한 형태로 전환 H/W Key event Delivery Policy Keyrouter module 여러 H/W key (Volume, Home, Power button) event 관리
  • 18. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 18 Policy 1 2 3 SCREEN (Phone/TV) E17 Policy X SERVER E19 Wayland Server 3 2 1 Stack / Size / Position 변경
  • 19. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 19 Visibility 1 2 E17 Policy X SERVER E19 Wayland Server SCREEN (Phone/TV) 1 2 [Visibility State ] 1: Obscured 2: Unobscured [Window 2 Create / Show] 1 2 E17 Policy X SERVER E19 Wayland Server [Visibility State ] 1: Unobscured 2: Obscured [Window 1 Raise up] 1
  • 20. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 20 Window Manager Flow ( ~Tizen 2.4) GPU Device DriverInput Device Driver Application A Enlightenment (E17) Kernel Legend & Acronym Application Enlightenment Plug-in Module Process Plug-in X Server policy X Video Driver Application B comp X Input Driver keyrouterDrawing Window Creation Key Input Drawing Flow Window Creation Flow Key Input Flow
  • 21. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 21 Window Manager Flow (Tizen 3.0) GPU Device DriverInput Device Driver Application A Enlightenment (E19) Kernel policy Application B comp keyrouterDrawing Window Creation Key Input Legend & Acronym Application Enlightenment Plug-in Module Process Plug-in Drawing Flow Window Creation Flow Key Input Flow
  • 22. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 22 Wayland on Tizen 3.0 X Server Composite Window Mng. Tizen App. Xlib Tizen App. Xlib Wayland Compositor Tizen App. libwayland Tizen App. libwayland
  • 23. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 23 Wayland? New-generation Display Server replacement for X Display Server. Wayland is NOT the Display Server by itself. it’s just a protocol which can communicate with Compositor and Clients. Doesn’t have rendering API. There is NO additional functionality. Slogan “Every frame is perfect, by which I mean that applications will be able to control the rendering enough that we’ll never see tearing, lag, redrawing or flicker.” - by Kristian Høgsberg -
  • 24. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 24 Why Wayland? Core is extremely simple and small. Give more work on Clients. Smooth resize of the application window by optimized client-side direct rendering and buffer control Designed to be extendable and avoid round-trips Easy to extend protocol for mobile, TV and wearable devices Does not expose any direct client-to-client communication. except passing file descriptors for selection and D&D data.
  • 25. Reasons For Moving To Wayland X Wayland Rendering Support for H/W Overlay by WM No Yes Support for Drawing API Yes No Input Resource Limitation 255 Keycodes in theory, 232-1 Support for Server- side Input Transform No Yes Security Protocol Code Hand written binary protocol parsing code Generated by wayland-scanner Input Event Different clients can receive events on the same window and add other events. Server sends corresponding events to a client. Extensibility Ease of Porting Hard to adapt Relatively easy Extension of protocol Hard to add while minimizing impact to existing system functions (DIX, DDX) Relatively easy Event System Race condition Client – Server – WM Client – Server (WM)
  • 26. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 26 Display Buffer Management Application에 제공되는 Buffer의 생성 주체 X 윈도우 버퍼 생성은 X Server가 처리 GL의 경우도 GL Driver 내부에서 X 서버에 요청하여 메모리 생성 (정확히는 X Video Driver에서 처리 ) Wayland Window 에 사용되는 Buffer생성 주체는 클라이언트 GL의 경우에도 Client Side GL Driver가 버퍼 할당
  • 27. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 27 The Stack of Enlightenment Display Server Application X Server (Replaceable) Operating System EFL Library E17 (WM)
  • 28. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 28 The Stack of Enlightenment Display Server Application (Wayland) Enlightenment 0.19 (Compositor) EFL Library Operating System Application X Server (Replaceable) Operating System EFL Library E17 (WM)
  • 29. Copyright © 2016 Samsung Electronics, Co., Ltd. All rights reserved. 29 Repos & Contact Window System Repos on Tizen 3.0 https://review.tizen.org/git/platform/upstream/enlightenment https://review.tizen.org/git/platform/core/uifw/e-mod-tizen-wm-policy https://review.tizen.org/git/platform/upstream/efl kk.moon@samsung.com
  • 30. Copyright © 2012 Samsung Electronics, Co., Ltd. All rights reserved. 30 Thank you