Xwayland-24.1.4

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.

[Note]

Note

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

Required

libxcvt-0.1.3, Pixman-0.44.2, wayland-protocols-1.38, Xorg Applications (runtime), and Xorg Fonts (only font-util)

Recommended

Optional

git-2.47.1 (to download packages needed for the tests), libei-1.3.0, 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            \
      -D xkb_output_dir=/var/lib/xkb &&
ninja

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                                    &&
[xts]
path=$(pwd)/xts
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        &&
popd

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 &&
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.X11-unix dir 1777 root root
EOF

If Xorg-Server-21.1.14 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.14. Remove this command if Xorg-Server-21.1.14 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.

cat >> /etc/sysconfig/createfiles...: This command creates the /tmp/.X11-unix directory at startup, and ensures that the permissions and ownership are correct as required by applications using Xwayland.

Contents

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

Short Descriptions

Xwayland

Allows X clients to run under wayland