github.com/Smithay/wayland-rs

Rust implementation of the wayland protocol (client and server).

Open this visualization on its own page →

Contributors

36

Lines of Code

3,562

From

2016-08-09

To

2020-11-09

About Smithay/wayland-rs

Wayland-rs is a comprehensive Rust implementation of the Wayland protocol, supporting both client-side and server-side development. The project is organized as a collection of eight crates, with three main ones being wayland-client and wayland-server for core protocol bindings, and wayland-protocols which provides bindings for official protocol extensions. This allows developers to build Wayland applications and compositors entirely in Rust while maintaining compatibility with the standard protocol.

The repository includes several auxiliary and specialized crates to support different use cases. Wayland-egl provides the necessary integration for OpenGL support on the client side, while wayland-cursor helps applications load cursor images from system themes. For lower-level work, the project offers wayland-scanner to convert XML protocol specifications into Rust code, wayland-backend which implements the actual protocol logic with both a pure Rust backend and a system library backend, and wayland-sys which provides FFI bindings to the C wayland libraries.

The project requires Rust 1.65.0 or later and Wayland system libraries version 1.15 when using the system backend. Comprehensive documentation is available for all crates through docs.rs and the project's online documentation, and developers can get support through the project's Matrix chat room.

Share this video