WebKit for Wayland

WebKit for Wayland port pairs the WebKit engine with the Wayland display protocol, allowing embedders to create simple and performant systems based on Web platform technologies. It is designed with hardware acceleration in mind, relying on EGL, the Wayland EGL platform, and OpenGL ES.

WebKit for Wayland leverages the multi-process architecture of WebKit and ties it closely together with the Wayland display protocol. It omits the use of any traditional toolkit and instead joins the WebKit's UIProcess with the Wayland compositor. This enables WebKit's WebProcess to act both as a client of the UIProcess and a client of the Wayland compositor, making it possible to use EGL and OpenGL ES to perform hardware-accelerated rendering of Web content and display it efficiently through the compositor.

While the support for the Wayland EGL platform is still in progress in many graphics drivers, our efforts have made it possible to run "WebKit For Wayland" on the Raspberry Pi, Raspberry Pi 2, Jetson TK1, MinnowBoard Max and IFC6410.

WebKit For Wayland facts

Some advantages of "WebKit For Wayland" on the Raspberry Pi include:

  • Enables rich and fast HTML-based user interfaces, integrating multimedia and 3D content, to run smoothly on low-cost devices.
  • Displays multimedia content directly in HTML, with high-quality CSS animations at 60FPS, and fluid 720p HTML videos.
  • Enables rich 2D and 3D interfaces that adapt to your needs and run smoothly and efficiently. The supported technologies, implemented on OpenGLES-backed Cairo, are: Hardware-accelerated 2D HTML, Canvas support, CSS 3D Transforms and WebGL.
  • Consumes less memory. HTML-based interfaces will use less memory, leaving more available for the rest of your needs.
  • Touch input support.

  • Wayland
  • WebKit
  • Embedded Systems
  • Hardware Acceleration
  • Raspberry Pi
  • EGL
  • OpenGL ES
  • WebGL

Featured Media

WebKit for Wayland
WebKitForWayland on Weston IVI Shell
WebKitGTK+ Wayland: WebKit2 and Accelerated Compositing


Carlos López 28/10/2015

Introducing the meta-webkit Yocto layer.

Lately I have been learning to use Yocto / OpenEmbedded to create custom distributions and products targeting different embedded hardware. One of the goals was to create a Kiosk-like browser that was based on a modern Web engine, light (specially...

Žan Doberšek 09/12/2014

Announcing WebKit for Wayland

Here at Igalia we are happy to announce the Wayland port of WebKit. This port avoids using traditional GUI toolkits in favor of directly operating with the Wayland display protocol. Leveraging the WebKit2 multi-process architecture, the UIProcess is...

Iago Toral 17/01/2014

WebKitGTK Wayland: Initial support for WebKit2 and Accelerated Compositing

Quick Recap In my last post on the subject I explained how during the last WebKitGTK hackfest my colleague Eduardo Lima and I got a working GTK application that made use of the nested compositor design we need in WebKitGTK to get WebKit2 to work under...


WPE: improve testing coverage ... a bit.

WPE: improve testing coverage ... a bit.

Žan Doberšek26/09/2016

Remove Source/ThirdParty/WPE-old/.

Remove Source/ThirdParty/WPE-old/.

Žan Doberšek26/09/2016

Merge pull request #111 from blino/libinput-subdir

Merge pull request #111 from blino/libinput-subdir WPE-platform: move Libinput source code in a sub-directory

Žan Doberšek22/09/2016

Merge pull request #108 from blino/gst-cond

Merge pull request #108 from blino/gst-cond looks good to me

Miguel Gómez22/09/2016

Merge pull request #106 from blino/wayland-hang

Merge pull request #106 from blino/wayland-hang WPE-platform: rework the wayland event loop to fix hangs in Wayland::Display

Žan Doberšek21/09/2016