Go to file
i509VCB f5bf204454 anvil: Passing `ANVIL_MUTEX_LOG` uses Mutex logging drain
fmt...
2021-10-14 10:54:43 -05:00
.github/workflows docs: Update calloop in CLI 2021-09-23 10:08:39 +02:00
anvil anvil: Passing `ANVIL_MUTEX_LOG` uses Mutex logging drain 2021-10-14 10:54:43 -05:00
examples cargo fmt 2021-06-10 22:01:10 +02:00
src wayland/dmabuf: Allow global creation with a client filter 2021-09-30 18:37:54 +02:00
wlcs_anvil bump xdg_wm_base in wlcs supported extensions 2021-08-04 23:28:48 +02:00
.gitignore Fix travis build with updated libinput 2017-12-15 19:22:40 +01:00
.rustfmt.toml Remove unstable rustfmt options 2018-04-17 17:48:20 +02:00
CHANGELOG.md anvil: Passing `ANVIL_MUTEX_LOG` uses Mutex logging drain 2021-10-14 10:54:43 -05:00
CONTRIBUTING.md Update IRC reference 2021-06-08 22:05:40 +02:00
Cargo.toml Make libloading optional 2021-08-31 10:33:23 +02:00
LICENSE.txt Add MIT license 2017-03-24 10:24:07 +01:00
README.md doc: Fix crates.io badge 2021-08-23 15:51:00 +02:00
build.rs add more supported egl platforms 2021-05-15 23:05:26 +02:00
compile_wlcs.sh CI: structure for running WLCS tests 2021-07-31 20:35:27 +02:00
doc_index.html travis: add a redirect doc homepage 2017-10-01 20:34:24 +02:00
matrix_badge.svg Add a few badges on the README 2017-10-04 11:30:07 +02:00

README.md

Smithay

Crates.io docs.rs Build Status Join the chat on matrix at @smithay:matrix.org Join the chat via bridge on gitter at smithay/Lobby

A smithy for rusty wayland compositors

Goals

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.

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).

Anvil

Like others, Smithay as a compositor library has its own sample compositor: anvil.

You can run it with cargo after having cloned this repository:

cd anvil;

cargo run -- --{backend}

The currently available backends are:

  • --winit: start anvil as a Winit application. This allows you to run it inside of an other X11 or Wayland session.
  • --tty-udev: start anvil in a tty with udev support. This is the "traditional" launch of a Wayland compositor. Note that this requires you to start anvil as root if your system does not have logind available.