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.
libdrm, libxkbcommon, Pixman, Wayland, and Wayland-Protocols
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.1: For session handling.
Vulkan-Loader and Glslang: For the Vulkan renderer.
XCB Utilities, Xorg Libraries, and Xwayland: For Xorg application/library support.
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.
Cairo (for examples)
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
--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.