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.

Visualize your own →

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.

Share this video

More from Smithay

See all →