A modular Wayland compositor library
wlroots is a modular Wayland compositor library that provides pluggable, unopinionated components for building Wayland compositors. It abstracts underlying display and input hardware through multiple backends including KMS/DRM, libinput, Wayland, and X11, and offers implementations of many Wayland protocol interfaces, renderer abstractions, and tools for common compositor tasks like output arrangement and Xwayland support. The project is built with C and depends on libraries including meson, wayland, wayland-protocols, libdrm, GBM, libinput, xkbcommon, udev, pixman, and optionally EGL, GLESv2, Vulkan, and X11 libraries. wlroots is developed under the direction of the Sway project and has migrated to gitlab.freedesktop.org.