$linuxjunkies
>

wlroots

also: Wayland roots

wlroots is a modular library that provides core functionality for building Wayland compositors, handling graphics, input devices, and protocol implementation without needing to write low-level code.

wlroots (Wayland roots) abstracts the complexity of Wayland compositor development by offering reusable components for rendering, input handling, output management, and protocol support. It sits between your compositor code and the underlying graphics and input systems, eliminating the need to reinvent these wheels.

Instead of a compositor developer writing tens of thousands of lines of code to handle DRM (Direct Rendering Manager), libinput, and Wayland protocol details, they can use wlroots modules like wlr_renderer, wlr_output, and wlr_seat to build custom compositors quickly.

Popular Wayland compositors like Sway and Cage are built on wlroots. For example, Sway leverages wlroots to manage multiple monitors, handle keyboard and mouse input, and render windows—focusing its own code on window management logic rather than low-level display and input details.

Related terms