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

What's hot (20)

A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)   A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
A simple and powerful property system for C++ (talk at GCDC 2008, Leipzig)
 
嵌入式IPMI遠端監控系統
嵌入式IPMI遠端監控系統 嵌入式IPMI遠端監控系統
嵌入式IPMI遠端監控系統
 
Cross-scene references: A shock to the system - Unite Copenhagen 2019
Cross-scene references: A shock to the system - Unite Copenhagen 2019Cross-scene references: A shock to the system - Unite Copenhagen 2019
Cross-scene references: A shock to the system - Unite Copenhagen 2019
 
Block Drivers
Block DriversBlock Drivers
Block Drivers
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
 
Optimizing Large Scenes in Unity
Optimizing Large Scenes in UnityOptimizing Large Scenes in Unity
Optimizing Large Scenes in Unity
 
Unity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理IIUnity遊戲程式設計 - 2D移動與碰撞處理II
Unity遊戲程式設計 - 2D移動與碰撞處理II
 
Lesson 2 - convert a real application (Oracle Form => Delphi)
Lesson 2 - convert a real application (Oracle Form => Delphi)Lesson 2 - convert a real application (Oracle Form => Delphi)
Lesson 2 - convert a real application (Oracle Form => Delphi)
 
ECS architecture with Unity by example - Unite Europe 2016
ECS architecture with Unity by example - Unite Europe 2016ECS architecture with Unity by example - Unite Europe 2016
ECS architecture with Unity by example - Unite Europe 2016
 
Relic's FX System
Relic's FX SystemRelic's FX System
Relic's FX System
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel
 
Unity遊戲設計- 2D動畫製作及應用
Unity遊戲設計-  2D動畫製作及應用Unity遊戲設計-  2D動畫製作及應用
Unity遊戲設計- 2D動畫製作及應用
 
Design and Concepts of Android Graphics
Design and Concepts of Android GraphicsDesign and Concepts of Android Graphics
Design and Concepts of Android Graphics
 
Get moving: An overview of physics in DOTS – Unite Copenhagen 2019
Get moving: An overview of physics in DOTS – Unite Copenhagen 2019Get moving: An overview of physics in DOTS – Unite Copenhagen 2019
Get moving: An overview of physics in DOTS – Unite Copenhagen 2019
 
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)
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
 
Best practices: Async vs. coroutines - Unite Copenhagen 2019
Best practices: Async vs. coroutines - Unite Copenhagen 2019Best practices: Async vs. coroutines - Unite Copenhagen 2019
Best practices: Async vs. coroutines - Unite Copenhagen 2019
 
Memory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform TeamMemory Management in TIZEN - Samsung SW Platform Team
Memory Management in TIZEN - Samsung SW Platform Team
 

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

Wayland intro with_i18n_hacks
Wayland intro with_i18n_hacksWayland intro with_i18n_hacks
Wayland intro with_i18n_hacks
Peng Wu
 
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
Peter Ocasek
 

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

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 

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