Published: April 21, 2020
Edited: May 21, 2020
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.
- Westeros is smalland simple.
- Being small, easier to understand and maintain.
- Caters to needs of embedded systems over traditional desktop computing.
- Shared library that provides an APIfor creating and operating a compositor.
- Use the included sample compositor app OR implement a custom compositor.
- Allows an application to create a Wayland display within itself to create what we call an embedded compositor.
- Main UI can then control application windowandlifecycle.
Westeros Use Case
- Gives the hosting application (MSO Guide) control over the presentation & composition of third party applications.
Advantages of Westeros over Weston Compositor
There are two main attributes of Westeros that could make it a good choice,
- Westeros is small and simple and it is for targets embedded systems
- It’s small code size makes it easier to understand and maintain
- it concentrates on functionality needed for embedded systems rather than trying to include features related to traditional desktop computing
- The functionality of Wayland composition is in a shared library that provides an API for creating and operating a compositor.
- One can use the included sample compositor app, or just use it as a reference for implementing a custom compositor.
- A big advantage this brings is that it allows an application to create a Wayland display within itself to create what we call an embedded compositor.
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
- Designed as per Wayland protocols and is compatible with applications built to use Wayland compositors.
- Supports the creation of normal, nested, and embedded Wayland Compositors.
- Comprises own memory management primitives to provide better video experience.
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