Skip to content

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

License

Notifications You must be signed in to change notification settings

Smithay/wayland-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a16bfc4 · Mar 24, 2025
Feb 18, 2025
Apr 11, 2020
Feb 7, 2025
Jan 31, 2025
Jan 31, 2025
Jan 31, 2025
Jan 31, 2025
Feb 19, 2025
Jan 31, 2025
Mar 24, 2025
Jan 31, 2025
Jan 31, 2025
Jan 31, 2025
Jan 31, 2025
Feb 18, 2025
May 21, 2018
Apr 27, 2022
Jan 13, 2024
Jul 13, 2023
Sep 27, 2023
Jul 16, 2024
Dec 17, 2024
Jan 1, 2022
Nov 21, 2023

Repository files navigation

Continuous Integration codecov

Wayland rust crates

This project contains rust crates for using the wayland protocol, both client side and server side.

This repository actually hosts 8 crates. The 3 main crates you'll likely want to use:

  • wayland-client and wayland-server are the main crates for client and server side bindings
  • wayland-protocols regroups bindings on the official protocol extentions available

There are also two auxilliary crates:

  • wayland-egl, which is necessary client-side for OpenGL integration
  • wayland-cursor, which helps with loading cursor images from the system themes for use in your apps

And finally 3 internal crates, that you'll need only for integrating a custom protocol extension or doing FFI:

  • wayland-scanner is the crate used to convert the XML protocol specifications into rust code
  • wayland-backend contains the actual implementation of the protocol logic. It actually provides two backends: a rust implementation of the protocol, and a backend using the system wayland libraries (for FFI contexts).
  • wayland-sys is the bindings to the C wayland libraries, used by wayland-backend

Documentation

The documentation for the master branch is available online.

The documentation for the releases can be found on docs.rs: wayland-client wayland-server wayland-protocols wayland-egl wayland-cursor wayland-backend wayland-scanner wayland-sys

Requirements

Requires at least rust 1.65.0 to be used, and version 1.15 of the wayland system libraries if using the system backend.

Chat and support

You can come chat about the different wayland-rs crates, both for developpement and support, in the Matrix chatroom #wayland-rs:matrix.org.