pairing webkit and wayland for linux-based embedded web content presentation systems (elce 2014)

Post on 03-Dec-2014

67 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

top related