Pairing WebKit and Wayland for 
Linux-based Embedded Web 
Content Presentation Systems 
Žan Doberšek 
Igalia 
Düsseldorf, October 13th, 2014 
twitter @falconsigh 
www blogs.igalia.com/zdobersek
Topics 
WebKit 
Wayland 
Web Content Presentation Systems 
Raspberry Pi 
· 
· 
· 
· 
2/20
WebKit 
Portable Web engine. 
· 
PCs, phones, TVs, IVI, smartwatches 
· 
Mac, iOS, Windows, Enlightenment, GNOME, Haiku 
3/20
Wayland 
Successor to the X windowing system. 
Deployed on PCs, phones, TVs, IVI. 
4/20
Web Content Presentation Systems 
Embedded systems presenting Web interface or content. 
· 
Smart TV interfaces 
· 
IVI 
· 
Infoboards 
5/20
youtube.com/tv 
6/20
Raspberry Pi 
The popular single-board mini-computer. 
· 
Single-core 700MHz ARMv6 CPU 
· 
512MB RAM (Model B) 
· 
VideoCore IV GPU 
7/20
Raspberry Pi - Wayland support 
Drivers partially open. 
Openly available implementation of the Wayland EGL platform. 
Support in Mesa - in progress. 
8/20
WebKit and Wayland 
Wayland support provided by the toolkit. 
Must be run under the parent compositor. 
Complicated hardware-accelerated compositing of Web content. 
A nested Wayland compositor needed · in the UIProcess. 
9/20
10/20
... but why the toolkit? 
Adds unnecessary complexity in the architecture. 
No need for various widgets, theming support. 
Not run under the traditional desktop environment. 
11/20
The idea 
Merge the UIProcess and the compositor. 
Have the WebProcess interact directly with the compositor. 
12/20
Benefits 
Removes the intermediate purpose of the UIProcess. 
Reduces the architectural complexity. 
Enables simplifying the compositor. 
13/20
14/20
Implementation 
UIProcess now a shared library that the compositor loads. 
Compositor shows the single surface designated to the WebProcess. 
Input events originate from the compositor, handled by the UIProcess. 
15/20
Testing it out on the Raspberry Pi 
Targeting 720p, 1080p a sweet dream. 
60FPS on simple CSS 3D animations, WebGL content. 
Fluent 720p video playback (hardware decoder). 
Reducing memory consumption. 
Still, weak and limiting hardware. 
16/20
Simplified Wayland compositor 
Initially stuck with Weston. 
DE-oriented compositors include window management. 
Target use cases give leeway to simpler implementations. 
Simplicity yields better performance. 
17/20
The future 
Eventually address more complex use cases. 
Some sort of window management might be required. 
Support for additional forms of input. 
Web standards support. 
18/20
Other (better!) hardware 
#1 dependency: Wayland EGL platform implementation. 
· 
NVIDIA Tegra (Jetson TK1) 
· 
Intel HD graphics (Minnowboard MAX) 
· 
ARM Mali (Odroid U3) 
19/20
Questions 
Thank you. 
20/20

Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation Systems (ELCE 2014)

  • 1.
    Pairing WebKit andWayland for Linux-based Embedded Web Content Presentation Systems Žan Doberšek Igalia Düsseldorf, October 13th, 2014 twitter @falconsigh www blogs.igalia.com/zdobersek
  • 2.
    Topics WebKit Wayland Web Content Presentation Systems Raspberry Pi · · · · 2/20
  • 3.
    WebKit Portable Webengine. · PCs, phones, TVs, IVI, smartwatches · Mac, iOS, Windows, Enlightenment, GNOME, Haiku 3/20
  • 4.
    Wayland Successor tothe X windowing system. Deployed on PCs, phones, TVs, IVI. 4/20
  • 5.
    Web Content PresentationSystems Embedded systems presenting Web interface or content. · Smart TV interfaces · IVI · Infoboards 5/20
  • 6.
  • 7.
    Raspberry Pi Thepopular single-board mini-computer. · Single-core 700MHz ARMv6 CPU · 512MB RAM (Model B) · VideoCore IV GPU 7/20
  • 8.
    Raspberry Pi -Wayland support Drivers partially open. Openly available implementation of the Wayland EGL platform. Support in Mesa - in progress. 8/20
  • 9.
    WebKit and Wayland Wayland support provided by the toolkit. Must be run under the parent compositor. Complicated hardware-accelerated compositing of Web content. A nested Wayland compositor needed · in the UIProcess. 9/20
  • 10.
  • 11.
    ... but whythe toolkit? Adds unnecessary complexity in the architecture. No need for various widgets, theming support. Not run under the traditional desktop environment. 11/20
  • 12.
    The idea Mergethe UIProcess and the compositor. Have the WebProcess interact directly with the compositor. 12/20
  • 13.
    Benefits Removes theintermediate purpose of the UIProcess. Reduces the architectural complexity. Enables simplifying the compositor. 13/20
  • 14.
  • 15.
    Implementation UIProcess nowa shared library that the compositor loads. Compositor shows the single surface designated to the WebProcess. Input events originate from the compositor, handled by the UIProcess. 15/20
  • 16.
    Testing it outon the Raspberry Pi Targeting 720p, 1080p a sweet dream. 60FPS on simple CSS 3D animations, WebGL content. Fluent 720p video playback (hardware decoder). Reducing memory consumption. Still, weak and limiting hardware. 16/20
  • 17.
    Simplified Wayland compositor Initially stuck with Weston. DE-oriented compositors include window management. Target use cases give leeway to simpler implementations. Simplicity yields better performance. 17/20
  • 18.
    The future Eventuallyaddress more complex use cases. Some sort of window management might be required. Support for additional forms of input. Web standards support. 18/20
  • 19.
    Other (better!) hardware #1 dependency: Wayland EGL platform implementation. · NVIDIA Tegra (Jetson TK1) · Intel HD graphics (Minnowboard MAX) · ARM Mali (Odroid U3) 19/20
  • 20.