github.com/swaywm/wlroots ↗
A modular Wayland compositor library
An animated visualization of swaywm/wlroots's Git history from April 2017 to November 2021, built by 186 contributors. The codebase reached 12,831 lines, mostly C. The video runs 2 minutes 57 seconds.
Render your own repo
Turn any GitHub repository into a video like this — free sample in seconds.
Open this visualization on its own page →
Language
C
Contributors
186
Lines of Code
12,831
From
2017-04-25
To
2021-11-01
Advertisement
About swaywm/wlroots
wlroots is a modular Wayland compositor library written in C that provides reusable components for building custom Wayland compositors. It abstracts the complexity of display and input hardware through pluggable backends supporting KMS/DRM, libinput, Wayland, X11, and headless modes, all of which can be created, destroyed, or mixed at runtime. The library implements a comprehensive set of Wayland protocol interfaces and extensions in an unopinionated manner, allowing developers to use only the pieces they need.
The project includes high-level tools for common compositor tasks like output arrangement, renderer abstractions for simplified graphics handling, and robust Xwayland support without requiring developers to implement their own X11 window manager. By handling approximately 60,000 lines of foundational code, wlroots lets compositor developers focus on unique features while still gaining high performance, broad hardware compatibility, and excellent protocol support.
wlroots is developed under the direction of the Sway project and offers wrapper libraries for multiple programming languages. It's built with Meson and has optional support for advanced rendering through GLES2 and Vulkan backends, along with optional X11 support. The project maintains an active community through IRC and documentation, making it a substantial foundation for anyone building Wayland-based desktop environments or window managers.
Advertisement