Requirements

Currently Wayland will only work with on a system that is utilizing KMS.

Installation

You need to build and install wayland-gitAUR and mesa-full-waylandAUR from the AUR. Replacement of the Mesa stack is required because the stock one does not support Wayland.

Usage

As Wayland is only a library, it is useless on its own. To use it, you need a compositor (like Weston), Weston demo applications, Qt5 (or Qt4 with QPA enabled) with Wayland plugin, and/or GTK+ with Wayland support.

Weston

Installation

Note: If you get the following error: "Failed to create XKB context", install xkeyboard-config: # pacman -S xkeyboard-config

Usage

Now that Wayland and its requirements are installed you should be ready to test it out. Try switching to a terminal and running:

$ weston-launch

Note I was having trouble with keyboard & mouse not working unless this was run as root

You can also try:

$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so

if you have troubles with your hardware's driver.

Then at a TTY you can run the demos:

$ weston-terminal

Should launch a terminal emulator.

$ weston-flower

Moves a flower around the screen. This tests the frame protocol.

$ weston-gears

Runs glxgears on Wayland.

$ weston-image image1.jpg image2.jpg...

Displays images.

$ weston-view doc1.pdf doc2.pdf...

Displays PDF files.

Qt

Installation

You need to build and install qt-qpaAUR from AUR. It contains a development version of Qt 4.8 compiled with QPA (Lighthouse) support. It installs into /opt/qt-qpa because it's binary incompatible with non-QPA versions of Qt (like the stock one).

Usage

At first, you need a working Wayland compositor, like the one from demo applications, or an experimental version of KWin.

Qt Compositor

Other GUI libraries

GTK+

With GTK+ 3.0, GTK+ gained support for multiple backends at runtime and can switch between backends in the same way Qt can with lighthouse. The Wayland support is on the upstream GTK+ master branch but disabled by default. To try GTK+ on Wayland, check out gtk+ and pass --enable-wayland to configure:

Clutter

The Clutter toolkit has a Wayland backend that allows it to run as a Wayland client. The backend is in the master branch of the main repo and can be activated by passing --with-flavour=wayland to the configure script.

SDL

Benjamin Franzke is working on a port of SDL to Wayland, it's available in his sdl-wayland repo on freedesktop.org. Further development upon Benjamins work was done by Andre Heider in his wayland branch of libsdl.