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.6 systemd platform.

Package Information

Additional Downloads

Weston Dependencies


Cairo-1.12.16 (with OpenGL surface enabled), libjpeg-turbo-1.3.1, libxkbcommon-0.4.3, GLU-9.0.0, mtdev-1.1.5, and Wayland-1.5.0




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


Colord-1.2.3, Little CMS-2.6, libva-1.3.1 (for H.264 VAAPI video encoding), libwebp-0.4.1, FreeRDP, and libunwind

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

Installation of Weston

Install Weston by running the following commands:

patch -Np1 -i ../weston-1.5.0-libinput_fixes-1.patch &&
./configure --prefix=/usr             \
            --with-cairo=gl           \
            --enable-libinput-backend \
            --enable-demo-clients-install &&

To test the results, issue: make -k check. xwayland-test.weston fails for unknown reasons.

Now, as the root user:

make install

Command Explanations

--with-cairo=gl: This switch is used to tell configure to use Cairo's OpenGL surface backend instead of the default Image surface backend.

--enable-libinput-backend: This switch is used to build Weston with the libinput input backend instead of the default, older one. Remove it if you have not installed libinput-0.5.0.

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

Using Weston

To start Weston as an 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 X11 backend requires 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. 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

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 explanation about 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-gears, weston-image, weston-info, weston-launch, weston-multi-resource, weston-resizor, weston-scaler, weston-simple-egl, weston-simple-shm, weston-simple-touch, weston-smoke, weston-stacking, weston-terminal, and weston-transformed
Installed Libraries: None
Installed Directories: /usr/include/weston, /usr/lib/weston, and /usr/share/weston

Short Descriptions


is the reference implementation of a Wayland server.

Last updated on 2014-08-25 12:54:44 -0700