Overview

Westeros is a lightweight Wayland Compositor library that allows users to create Wayland displays and also allows nesting and embedding displays that contain third-party applications. The WPE integration with Westeros enables a better video experience with increased smoothness and enhanced browser responsiveness. Westeros is designed for embedded systems and is a replacement for Weston.

Architecture

Westeros Use Case

The hosting application (MSO Guide) has control over the presentation & composition of third-party applications.

Advantages of Westeros over Weston Compositor

There are two main sets of attributes of Westeros that 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, you want to implement a system where the user moves, resizes, minimizes, and maximizes various windows, and does drag and drop operations etc., then Weston is a more appropriate choice.

Westeros as Wayland Library

Build Steps

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

Steps to run a Westeros-enabled Application

Since the Westeros compositor is integrated with the WPE Browser, any application/link using WPE can be used to demonstrate a Westeros compositor.

To run a Westeros-enabled application:

  1. Set the following environment variables prior to running a compositor-enabled application:

    $ export XDG_RUNTIME_DIR=/run/user/0/
    $ export WAYLAND_DISPLAY=WPE

  2. Run the Westeros compositor for WPE display server:

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

  3. Run the wizardkit UI Application:

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

  4. Run the pre-built Westeros bits included with the test case:

    $ westeros_test --display WPE