Upload
igalia
View
67
Download
2
Embed Size (px)
DESCRIPTION
By Žan Doberšek. WebKit and its multi-process architecture might not seem suitable for embedded systems at first, but Wayland, the next-gen display system, has already proven itself by running efficiently on TVs, smartphones and single-board computers. This talk will present the techniques that were used to achieve efficient, hardware-accelerated rendering of Web content across the multiple processes of WebKit running under Wayland. Žan Doberšek will also share his experiences of deploying the two technologies on everyone's favorite mini-sized computer, the Raspberry Pi. He will also present and discuss further ideas and possible solutions for creating efficient and optimized Web content presentation systems specifically crafted for embedded systems like Smart TVs and in-vehicle infotainment by using Linux, Wayland and WebKit.
Citation preview
Pairing WebKit and Wayland forLinux-based Embedded WebContent Presentation SystemsŽan DoberšekIgalia
Düsseldorf, October 13th, 2014
twitter @falconsighwww blogs.igalia.com/zdobersek
Topics
WebKitWaylandWeb Content Presentation SystemsRaspberry Pi
····
2/20
WebKit
Portable Web engine.
PCs, phones, TVs, IVI, smartwatchesMac, 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 interfacesIVIInfoboards
···
5/20
youtube.com/tv
6/20
Raspberry Pi
The popular single-board mini-computer.
Single-core 700MHz ARMv6 CPU512MB 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