wlroots-0.19.2

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 9. Graphical Toolkits

- Prev

  SceneFX-0.4.1

- Next

  xcb-util-errors-1.0.1

- Up
- Home

# wlroots-0.19.2

## Introduction to wlroots

wlroots is a Wayland compositor library, the backbone of most Wayland compositors. Compositors that use a different base may have used this package in the beginning of the compositor's history for providing most of the work.

- Download: https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/0.19.2/wlroots-0.19.2.tar.bz2

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/slfs/view/13.0/download/wlroots/wlroots-0.19.2-const_strchr-1.patch

### wlroots Dependencies

#### Required

libdrm, libxkbcommon, Pixman, Wayland, and Wayland-Protocols

#### Recommended

- GBM (libgbm or Mesa): For GBM allocation.

- hwdata, libdisplay-info, and libliftoff-0.5.0: For the DRM backend; can be used to generically choose a renderer instead of being implicit.

- libinput: For the libinput backend.

- Little-CMS: For color management.

- OpenGL + EGL + GLESv2 (libglvnd or Mesa; Mesa's GL is not supported): For the OpenGL renderer.

- seatd-0.9.2: For session handling.

- Vulkan-Loader and Glslang: For the Vulkan renderer.

- XCB Utilities, xcb-util-errors-1.0.1, Xorg Libraries, and Xwayland: For Xorg application/library support.

### Important

Skipping any of the recommended dependencies can lead to configuration, build, or runtime failures in various compositors. An example is GLESv2: if it is not found, OpenGL rendering as a whole will be disabled. OpenGL rendering is the primary, and in most often cases, the only available renderer a given compositor can use if it does not rely on the recommended DRM backend to choose a renderer for the compositor. Consider most of the dependencies listed above required besides what is required for the Vulkan renderer and Xorg support.

#### Optional

Cairo (for examples)

## Installation of wlroots

Ensure some variables have a matching type needed by glibc-2.43 function prototypes:

    patch -Np1 -i ../wlroots-0.19.2-const_strchr-1.patch

Install wlroots by running the following commands:

    mkdir build &&
    cd    build &&

    meson setup --prefix=/usr          \
                --buildtype=release    \
                --wrap-mode=nofallback \
                .. &&

    ninja

Now, as the `root` user:

    ninja install

## Command Explanations

`--buildtype=release`: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

`--wrap-mode=nofallback`: This switch prevents meson from using subproject fallbacks for any dependency declarations in the build files, preventing it from downloading any optional dependencies which are not installed on the system.

## Contents

Installed Programs: None
Installed Libraries: libwlroots-0.19
Installed Directories: /usr/include/wlroots-0.19

### Short Descriptions

`libwlroots-0.19` | provides functions for Wayland compositors

- Prev

  SceneFX-0.4.1

- Next

  xcb-util-errors-1.0.1

- Up
- Home