Introduction to Xwayland

The Xwayland package is an Xorg server running on top of the wayland server. It has been separated from the main Xorg server package. It allows running X clients inside a wayland session.



Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Xwayland Dependencies


libxcvt-0.1.2, Pixman-0.43.4, wayland-protocols-1.36, Xorg Applications (runtime), and Xorg Fonts (only font-util)



git-2.45.2 (to download packages needed for the tests), libei-1.2.1, libgcrypt-1.11.0, Nettle-3.10, xmlto-0.0.29, Xorg Legacy Fonts (only bdftopcf, for building fonts required for the tests), rendercheck (for tests), and weston (for tests)

Installation of Xwayland

Install xwayland by running the following commands:

sed -i '/install_man/,$d' meson.build &&

mkdir build &&
cd    build &&

meson setup --prefix=$XORG_PREFIX         \
            --buildtype=release           \
            -Dxkb_output_dir=/var/lib/xkb \
            ..                            &&

Building the test framework needs some work. First, weston brings in several dependencies, but the number can be reduced by disabling unneeded features. The meson command for a stripped down build of weston is shown in Upstream continuous integration build.

Running the tests involves downloading two other frameworks, in addition to the mentioned optional dependencies:

mkdir tools &&
pushd tools &&

git clone https://gitlab.freedesktop.org/mesa/piglit.git --depth 1 &&
cat > piglit/piglit.conf << EOF                                    &&

git clone https://gitlab.freedesktop.org/xorg/test/xts --depth 1   &&

export DISPLAY=:22           &&
../hw/vfb/Xvfb $DISPLAY &
VFB_PID=$!                   &&
cd xts                       &&
CFLAGS=-fcommon ./autogen.sh &&
make                         &&
kill $VFB_PID                &&
unset DISPLAY VFB_PID        &&

Then the tests can be run with:

XTEST_DIR=$(pwd)/tools/xts PIGLIT_DIR=$(pwd)/tools/piglit ninja test

Now, as the root user:

ninja install

If Xorg-Server-21.1.13 is not installed and you do not plan to install it later, you can install Xvfb from this package. As the root user:

install -vm755 hw/vfb/Xvfb /usr/bin

Command Explanations

sed -i '/install_man/,$d' meson.build: Prevents installing a manual page for Xserver, which is also provided by Xorg-Server-21.1.13. Remove this command if Xorg-Server-21.1.13 is not installed and you don't plan to install it later.

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.


Installed Program: Xwayland
Installed Library: None
Installed Directory: None

Short Descriptions


Allows X clients to run under wayland