# swaywm/wlroots

A modular Wayland compositor library

Repository: https://github.com/swaywm/wlroots
Canonical: https://ross.abutalabs.com/products/wlroots
Homepage: https://gitlab.freedesktop.org/wlroots/wlroots/
Language: C
License: MIT
License Family: permissive
Topics: wayland-compositor, wayland
Archived: true
Last push: 2022-02-16T22:22:50+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 3417, "days_push": 1659, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2274, forks 350 (observed 2026-08-28T04:06:33.331975+00:00)

## What it is
wlroots is a modular C library providing pluggable, composable modules for building Wayland compositors, including hardware backends, protocol implementations, rendering abstractions, and Xwayland support. It is developed under the direction of the Sway project and has migrated to gitlab.freedesktop.org.

## Use cases
- build a custom Wayland compositor
- abstract KMS/DRM and input hardware for a display server
- add Xwayland support to a compositor without writing an X11 window manager
- implement Wayland protocol extensions portably
- write a headless or nested Wayland compositor for testing

## When to choose
- you are writing a Wayland compositor in C and want reusable, unopinionated building blocks
- you need broad hardware compatibility and multiple backends (DRM, X11, Wayland, headless)
- you want to avoid reimplementing common Wayland interfaces and rendering code

## When to avoid
- you need a ready-to-use desktop environment rather than a library
- you are targeting X11 only or non-Linux platforms
- you prefer a higher-level toolkit or a language other than C (though wrapper libraries exist)

## Facets
- artifact type: library
- maturity: active
- function: graphics, gui, middleware
- domain: operating-systems, graphics, developer-tools, desktop-applications
- platform: cpp, c
- tags: wayland, compositor, display-server, kms-drm, libinput, xwayland, meson, linux

## Member repositories
- swaywm/wlroots (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:33.331975+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:41:32.853128+00:00, confidence not recorded.
  - readme: https://github.com/swaywm/wlroots (fetched 2026-08-28T04:06:33.331975+00:00, sha dbce09887b12)
- Data as of 2026-08-30T08:39:29.467469+00:00.
