Overview

Westeros, light weighted Wayland Compositor library, allows user to create wayland display which further allows nesting and embedding display with third party application. WPE integrated with Westeros is required for better video experience with smoothness and enhance browser responsiveness. Westeros is a replacement of Weston targeting towards embedded systems.

Architecture

Westeros Use Case

Advantages of Westeros over Weston Compositor

There are two main attributes of Westeros that could make it a good choice,

First:

Second:

A system could have a primary user interface which allows other third party applications to provide additional functionality such as Netflix, and the primary UI can control the size and position of the third party UI to provide seamless integration. If, on the other hand, one wants to implement a system where the user moves, resizes, minimizes, and maximizes various windows, does drag and drop operations etc., then Weston would be a more appropriate choice.

Westeros as wayland library

  1. Designed as per Wayland protocols and is compatible with applications built to use Wayland compositors.
  2. Supports the creation of normal, nested, and embedded Wayland Compositors.
  3. Comprises own memory management primitives to provide better video experience.

Build Steps

Bitbake recipes to build wpewebkit integrated with westeros is available in meta-metrological layer in CMF space. Changes which are required build and run westeros integrated application on Raspberry Pi platform, have been merged into meta-cmf-raspberrypi CMF Layer.

Steps to run Westeros enabled application

Since westeros compositor integrated with WPE Browser, any application/link using WPE can be used for westeros compositor demonstration. Make sure to set few environment variables prior to run compositor enabled application:-

$ export XDG_RUNTIME_DIR=/run/user/0/

$ export WAYLAND_DISPLAY=WPE

Make sure to run westeros compositor for WPE display server.

$ westeros --renderer /usr/lib/libwesteros_render_gl.so.0.0.0 --display WPE

Run wizardkit inbuilt UI Application

$ WPELauncher http://<RaspberryPi Hybrid Ip>:80/wizardkit/ui/guide.html

Run westeros default built in test case

$ westeros_test --display WPE