github.com/Smithay/smithay ↗
A smithy for rusty wayland compositors
Open this visualization on its own page →
Contributors
25
Lines of Code
2,670
From
2017-01-20
To
2020-11-02
About Smithay/smithay
Smithay is a Rust library for building Wayland compositors from reusable components. Rather than providing a complete compositor, it offers modular building blocks that handle common functionality needed by most compositors, such as protocol implementation, input handling, and rendering support. The project supports the core Wayland protocol along with official extensions and external protocols from projects like wlroots and KDE.
The library emphasizes four core principles: comprehensive API documentation, memory safety through Rust's type system, modularity so developers only use needed components, and high-level abstractions that hide low-level complexity while still allowing deeper access when required. Smithay includes Anvil, a sample compositor demonstrating how to use the library, and has been adopted by numerous real-world projects including Cosmic, Niri, MagmaWM, Catacomb, and several others ranging from desktop environments to mobile and specialized use cases.
Smithay depends on several system libraries including libwayland, libxkbcommon, libudev, libinput, libgbm, libseat, and xwayland. The project maintains active community engagement through a Matrix chatroom and follows structured contribution guidelines including a Developer Certificate of Origin requirement.