Smithay/smithay ↗
Created Dec 23, 2020 · View the Smithay/smithay repository page
A smithy for rusty wayland compositors
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
25
Lines of Code
2,670
From
Jan 20, 2017
To
Nov 2, 2020
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.
