1 © 2014 Samsung Electronics Co. Open Source Group – Samsung Research America (Silicon Valley)
Christopher Michael Open Source Innovation Group
Samsung Research America Silicon Valley
EFL/Enlightenment Wayland
Status Report
2 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
Abstract
We will briefly cover the current state of the EFLport to Wayland, along with current progress of porting Enlightenment to run Wayland-only.
3 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
Goals
o EFL o Lower Level Interfaces o Evas Wayland Engines o Ecore_Evas Wayland Engines
o Enlightenment o X11 with Wayland Client Support o Wayland Only o Wayland Only with X11 Client Support
4 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Direct Rendering Manager o Virtual Terminals o Input Devices o Output Devices
Lower Level Interfaces
5 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Implemented in Ecore_Drm library o Utilizes libdrm for hardware interfacing o Utilizes Eeze library for device management o Utilizes Eldbus library for bus management o Currently missing output hotplug support
Direct Rendering Manager
6 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Implemented via systemd o Supports hotkey switching o Listens for signals from kernel
o SIGUSR1 for release of VT o SIGUSR2 for acquire of VT
Virtual Terminals
7 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Implemented utilizing Eeze & Eldbus libraries o Eeze handles udev device discovery o Eldbus handles dbus interaction
o Support for libinput in progress o Some distributions have older version o No clear upgrade path
Input Devices
8 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Shared Memory Engine o Double & Triple Buffering, Transparency, Rotation o Client-Side Decorations
o Wayland EGL engine o Double & Triple Buffering, Transparency, Rotation o Buffer Ageing, Partial Swaps o Client-Side Decorations
Evas Wayland Engines
9 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o DRM Engine o Double & Triple Buffering, Transparency, Rotation o Software-based rendering (Frame buffer objects) o Hardware accelerated rendering (EGL)
o GBM-based Buffer Management o TODO: Support others (TBM, TTM, etc)
o Client-Side Decorations
Evas Wayland Engines (cont)
10 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Implemented support for Evas Engines o SHM, EGL, DRM
o Abstracts out display system (X11, Wayland) o More abstractions needed
o Fully Supports wl_shell and xdg_shell (1.6) o Minimize, Maximize, Fullscreen
o Provides internal client-side frame decorations if none are supplied
Ecore_Evas Engines
11 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o X11 with Wayland Client Support o Wayland Only o Wayland Only with X11 Client Support
Enlightenment
12 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Wayland clients fully supported o Supports wl_shell and xdg_shell (1.6)
o Minimize, Maximize, Fullscreen o Missing proper border icon support o No support for systray o No support for ICCCM/NetWM in wayland clients o Wayland clients missing cursor name support
o Rendering issue when resizing wayland clients
X11 with Wayland Clients
13 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Wayland clients fully supported o Supports wl_shell and xdg_shell (1.6)
o Minimize, Maximize, Fullscreen o Missing border icon & systray support o Clients missing cursor name support o No support for ICCCM/NetWM in wayland clients
o Rendering issue when resizing wayland clients
Wayland Only
14 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Xwayland support being worked on o Implemented as out-of-tree module
o Due to xcb dependency
o Module listens for incoming connections o Executes Xwayland server on demand
o Creates fake root window o Creates X11 backing window for clients o Not ready for release (issues remain)
Wayland Only with X11 Clients
15 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Alternative Virtual Terminal support o Support for non systemd boxes ?
o Multiple Output Configuration Support o Hot-plugging via udev ? (alternatives)
o Compositor single Ecore_Evas issue ? o Cannot use same ecore_evas on different output if
non-matching resolution in DRM
Discussion Topics 1/3
16 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Lacking features in shell protocols for desktop o No uniconify support o No systray support o No border icon support o No advertising of cursor name o No ICCCM/NetWM support
Discussion Topics 2/3
17 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Current compositor resizing issue o Clients render garbage during resize
o Xwayland Support o Out-of-tree module required due to xcb o Several patches required for core Xwayland
o Due to main loop and wl_display loop o Currently segfaults when launching apps
Discussion Topics 3/3
18 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o EFL Wayland Fully Functional o Support for DRM, VTs, Input, Output o Supports Xdg_Shell and Wl_Shell
o Enlightenment Wayland-Only usable o Requires more testing & polish
o More Information: o https://phab.enlightenment.org/w/wayland/
Take Away
19 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Evas Drm: o Christopher Michael (Samsung)
o Evas Wayland: o Christopher Michael (Samsung) o Rafael Antognolli (Intel) o Stefan Schmidt (Samsung)
o Ecore_Wayland: o Christopher Michael (Samsung) o Srivardhan Hebbar (Samsung) o Vivek Ellur (Samsung) o Rafael Antognolli (Intel) o Eduardo Lima (Intel)
Credits
20 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
o Ecore_Drm: o Christopher Michael (Samsung) o Stefan Schmidt (Samsung) o Vivek Ellur (Samsung) o Gwanglim Lee (Samsung) o MinJeong Kim (Samsung) o Moritz Bitsch
o Enlightenment (Wayland): o Christopher Michael (Samsung) o Michael Blumenkrantz (Samsung) o Seunghun Lee (Samsung) o Gwanglim Lee (Samsung) o MinJeong Kim (Samsung) o Vivek Ellur (Samsung)
Credits (cont.)
Thank you.
21 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
22 Open Source Group – Samsung Research America (Silicon Valley) © 2014 Samsung Electronics Co.
The Open Source Innovation Group is hiring for various OSS technologies including kernel, web, graphics, media, cloud. For more information, please contact:
o Guy Martin: [email protected] o Ibrahim Haddad: [email protected]
We Are Hiring