#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 24. Graphical Environments

- Prev

  XKeyboardConfig-2.44

- Next

  Xorg-Server-21.1.16

- Up
- Home

# Xwayland-24.1.6

## 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 12.3 platform.

### Package Information

- Download (HTTP): https://www.x.org/pub/individual/xserver/xwayland-24.1.6.tar.xz

- Download MD5 sum: 78067c218323fe2a496ca5f2145fe7ab

- 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)

### Xwayland Dependencies

#### Required

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

#### Recommended

libepoxy-1.5.10, libtirpc-1.3.6, and Mesa-24.3.4

#### Optional

git-2.48.1 (to download packages needed for the tests), libei-1.3.0, libgcrypt-1.11.0, Nettle-3.10.1, 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.16 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.16. Remove this command if Xorg-Server-21.1.16 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.

`-D secure-rpc=false`: This option disables building RPC support if libtirpc-1.3.6 is not installed.

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

- Prev

  XKeyboardConfig-2.44

- Next

  Xorg-Server-21.1.16

- Up
- Home