| Crates.io | smithay |
| lib.rs | smithay |
| version | 0.7.0 |
| created_at | 2017-10-01 21:15:57.630419+00 |
| updated_at | 2025-06-24 21:18:51.810217+00 |
| description | Smithay is a library for writing wayland compositors. |
| homepage | https://smithay.github.io/ |
| repository | https://github.com/Smithay/smithay |
| max_upload_size | |
| id | 34110 |
| size | 3,621,837 |
A smithy for rusty wayland compositors
Smithay aims to provide building blocks to create wayland compositors in Rust. While not being a full-blown compositor, it'll provide objects and interfaces implementing common functionalities that pretty much any compositor will need, in a generic fashion.
It supports the core Wayland protocols, the official protocol extensions, and some external extensions, such as those made by and for wlroots and KDE
Also:
Documented: Smithay strives to maintain a clear and detailed documentation of its API and its functionalities. Compiled documentations are available on docs.rs for released versions, and here for the master branch.
Safety: Smithay will target to be safe to use, because Rust.
Modularity: Smithay is not a framework, and will not be constraining. If there is a part you don't want to use, you should not be forced to use it.
High-level: You should be able to not have to worry about gory low-level stuff (but Smithay won't stop you if you really want to dive into it).
Smithay as a compositor library has its own sample compositor: anvil.
To get informations about it and how you can run it visit anvil README
(This list can depend on features you enable)
libwaylandlibxkbcommonlibudevlibinputlibgbmlibseatxwaylandIf you have questions or want to discuss the project with us, our main chatroom is on Matrix: #smithay:matrix.org.