Introduction to Weston

Weston is the reference implementation of a Wayland compositor, and a useful compositor in its own right. It has various backends that lets it run on Linux kernel modesetting and evdev input as well as under X11. Weston also ships with a few example clients, from simple clients that demonstrate certain aspects of the protocol to more complete clients and a simplistic toolkit.

This package is known to build and work properly using an LFS-7.10 platform.

Package Information

Weston Dependencies


Cairo-1.14.6, libinput-1.4.1, libjpeg-turbo-1.5.0, libxkbcommon-0.6.1, Mesa-12.0.1 (built with Wayland support), mtdev-1.1.5, Wayland-1.11.0, and wayland-protocols-1.7




The weston-launch utility is required if you want to run Weston as a non privileged user.


Colord-1.2.12, Doxygen-1.8.11, Little CMS-2.8, libpng-1.6.24, libva-1.7.1 (for H.264 VAAPI video encoding), libwebp-0.5.1, FreeRDP and libunwind

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/weston

Installation of Weston

Install Weston by running the following commands:

./configure --prefix=/usr --enable-demo-clients-install &&

To test the results, issue: make check.

Now, as the root user:

make install

Command Explanations

--enable-demo-clients-install: This switch enables the installation of the demo clients shipped with Weston.



Consult ./configure --help output for switches needed to prevent configure from looking for some of the recommended dependencies.

Using Weston

To start Weston as a X11 client, from an X terminal, run the following command:


To run it as a DRM compositor, from a TTY, while logged in as a normal user, run the following command:


Note that weston-launch is a wrapper for weston. If you need to pass a parameter to weston while using weston-launch, use the following syntax:

weston-launch -- --backend=fbdev-backend.so

Note the -- between the weston-launch and the weston parameter --backend=fbdev-backend.so. For list of parameters that you can pass to weston, consult the weston(1) manual page.

To terminate Weston when running as a DRM compositor, use the CTRL+ALT+Backspace combination on your keyboard.

Note that the default backend, DRM, will only run if a KMS driver is present on the system. It will not run in a virtual machine such as VBox or Qemu and on NVidia or AMD hardware with proprietary drivers. On these setups it would be possible to use the FBDEV backend by running the command described above.

Also note that the X11 backend requires a working EGL stack. If you are running hardware that has no 3D support or no EGL stack, you can't run accelerated applications inside Weston. The latest proprietary NVidia driver has the necessary EGL stack needed to run Weston as an X11 client, but it is not officially supported.

Configuring Weston

Config Files


Configuration Information

The Weston configuration file can be used to configure which modules will be loaded, keyboard layout, display resolution, touchpad behaviour, desktop shell appearance, etc.

To change the keyboard layout inside Weston, add the following to your config file:


For an explanation of each of the mentioned options, consult the xkeyboard-config(7) manual page.

To change the resolution of the compositor, add the following to your config file:


The name can be one of the following:

  • DRM backend: LVDS1 (Laptop internal panel no.1)

  • DRM backend: VGA1 (VGA connector no.1)

  • X11 backend: X1 (X window no.1)

  • Wayland backend: WL1 (Wayland window no.1)

For more information consult the weston-drm(7) manual page.

To load a Weston module or a shell backend, add the following to your config file:


Note that you need to load the xwayland.so if you want to use X11 clients inside Weston.

For a detailed list of configuration directives, consult the weston.ini(5) manual page or examine the weston.ini file inside the Weston source directory.


Installed Programs: wcap-decode, weston, weston-calibrator, weston-clickdot, weston-cliptest, weston-dnd, weston-editor, weston-eventdemo, weston-flower, weston-fullscreen, weston-image, weston-info, weston-launch, weston-multi-resource, weston-presentation-shm, weston-resizor, weston-scaler, weston-simple-damage, weston-simple-dmabuf-intel, weston-simple-dmabuf-v4l, weston-simple-egl, weston-simple-shm, weston-simple-touch, weston-smoke, weston-stacking, weston-subsurfaces, weston-terminal and weston-transformed
Installed Libraries: None
Installed Directories: /usr/include/weston, /usr/lib/weston, /usr/share/wayland-sessions and /usr/share/weston

Short Descriptions


is the reference implementation of a Wayland server.

Last updated on 2016-09-04 13:51:37 -0700