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.
Download (HTTP): https://www.x.org/pub/individual/xserver/xwayland-24.1.4.tar.xz
Download MD5 sum: c0d6f4a2c16844c7af70e30e330ace3c
Download size: 1.2 MB
Estimated disk space required: 28 MB (add 362 MB for tests)
Estimated build time: 0.2 SBU (with parallelism=4; add 1.7 SBU for tests, not including clone time)
libxcvt-0.1.2, Pixman-0.44.0, wayland-protocols-1.38, Xorg Applications (runtime), and Xorg Fonts (only font-util)
libepoxy-1.5.10, libtirpc-1.3.6, and Mesa-24.2.7
git-2.47.0 (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)
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
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.