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.1 platform.
Download (HTTP): https://www.x.org/pub/individual/xserver/xwayland-22.1.0.tar.xz
Download (FTP): ftp://ftp.x.org/pub/individual/xserver/xwayland-22.1.0.tar.xz
Download MD5 sum: 347de197b11c7f80fd8c2c10fa2d6973
Download size: 1.2 MB
Estimated disk space required: 65 MB (add 376 MB for tests)
Estimated build time: 0.2 SBU (with paralellism=4; add 2.2 SBU for tests, not including clone time)
libxcvt-0.1.1, Pixman-0.40.0, wayland-protocols-1.25, and Xorg Fonts (only font-util)
libepoxy-1.5.9, libtirpc-1.3.2, and Mesa-21.3.6
git-2.35.1 (to download packages needed for the tests), libgcrypt-1.10.0, Nettle-3.7.3, xmlto-0.0.28, 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
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 expect 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
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 this option 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.
Last updated on