SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Leveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation ModelingLeveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation ModelingEd Seidewitz
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...Obeo
 
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierHands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierEd Seidewitz
 
SysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesSysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesEd Seidewitz
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depthChris Simmonds
 
Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Atif AbbAsi
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineOrisysIndia
 
Unity Game Engine - Basics
Unity Game Engine - BasicsUnity Game Engine - Basics
Unity Game Engine - BasicsFirosK2
 
Scripting with Python to interact with Capella model
Scripting with Python to interact with Capella modelScripting with Python to interact with Capella model
Scripting with Python to interact with Capella modelObeo
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveBin Chen
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingEd Seidewitz
 
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useCapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useObeo
 
Optimizing Large Scenes in Unity
Optimizing Large Scenes in UnityOptimizing Large Scenes in Unity
Optimizing Large Scenes in UnityNoam Gat
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignRyan Riley
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
 
Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...
Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...
Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...Amazon Web Services
 
SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?Ed Seidewitz
 

Mais procurados (20)

Leveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation ModelingLeveraging Alf for SysML, Part 1: Better Simulation Modeling
Leveraging Alf for SysML, Part 1: Better Simulation Modeling
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
 
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even EasierHands On With the Alf Action Language: Making Executable Modeling Even Easier
Hands On With the Alf Action Language: Making Executable Modeling Even Easier
 
SysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling LanguagesSysML v2 and the Next Generation of Modeling Languages
SysML v2 and the Next Generation of Modeling Languages
 
The Android graphics path, in depth
The Android graphics path, in depthThe Android graphics path, in depth
The Android graphics path, in depth
 
Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I
 
The Basics of Unity - The Game Engine
The Basics of Unity - The Game EngineThe Basics of Unity - The Game Engine
The Basics of Unity - The Game Engine
 
Unity Game Engine - Basics
Unity Game Engine - BasicsUnity Game Engine - Basics
Unity Game Engine - Basics
 
Scripting with Python to interact with Capella model
Scripting with Python to interact with Capella modelScripting with Python to interact with Capella model
Scripting with Python to interact with Capella model
 
Android Components
Android ComponentsAndroid Components
Android Components
 
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspectiveAndroid graphic system (SurfaceFlinger) : Design Pattern's perspective
Android graphic system (SurfaceFlinger) : Design Pattern's perspective
 
Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)Embedded Android : System Development - Part IV (Android System Services)
Embedded Android : System Development - Part IV (Android System Services)
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
 
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella useCapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
CapellaDays2022 | CILAS - ArianeGroup | CILAS feedback about Capella use
 
Optimizing Large Scenes in Unity
Optimizing Large Scenes in UnityOptimizing Large Scenes in Unity
Optimizing Large Scenes in Unity
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...
 
Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...
Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...
Case Study: Ola Cabs Uses Amazon EBS and Elastic Volumes to Maximize MySQL De...
 
WPF
WPFWPF
WPF
 
SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?SysML v2 - What's the big deal, anyway?
SysML v2 - What's the big deal, anyway?
 

Destaque

[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
 

Destaque (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...
 

Semelhante a 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
 

Semelhante a 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...
 

Último

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
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
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
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
 
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
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
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
 
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
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 

Último (20)

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
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...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
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
 
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
 
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
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
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
 
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...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 

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