Xwayland-21.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.

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

Package Information

Xwayland Dependencies

Required

Pixman-0.40.0, wayland-protocols-1.24, and Xorg Fonts (only font-util)

Recommended

Optional

libgcrypt-1.9.4, Nettle-3.7.3, Xorg Legacy Fonts (only bdftopcf, for building fonts required for the tests), rendercheck (for tests), and weston (for tests)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xwayland

Installation of Xwayland

Install xwayland by running the following commands:

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

mkdir build &&
cd    build &&

meson --prefix=$XORG_PREFIX         \
      -Dxvfb=false                  \
      -Dxkb_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.

Furthermore, an X server needs to be running during the build of xts. If not running the tests in a graphical environment, you'll need to enable Xvfb by removing the -Dxvfb=false above. The instructions below suppose this has been done.

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

Command Explanations

sed -i '/install_man/,$d' meson.build: Prevents installing a manual page for Xserver, which is not part of this package.

-Dxvfb=false: Prevents building the xvfb program, which is also installed by Xorg-Server-21.1.3. Remove if you do not plan to install the X server.

mkdir -pv /etc/X11/xorg.conf.d: This directory is needed to put configuration files for Xwayland. This command ensures that it exists, as some applications might use it without first creating it.

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 client to run under wayland.

Last updated on Thu Dec 16 15:09:17 2021