#wayland-compositor #wayland #compositor #graphics #server

smithay

Smithay 是一个用于编写 Wayland 组合器的库

4 个版本 (2 个破坏性版本)

0.3.0 2021 年 7 月 25 日
0.2.1 2020 年 2 月 14 日
0.2.0 2019 年 1 月 3 日
0.1.0 2017 年 10 月 1 日

GUI 中排名 #1145

Download history 14/week @ 2024-03-11 23/week @ 2024-03-18 29/week @ 2024-04-01 16/week @ 2024-04-08 13/week @ 2024-04-15 16/week @ 2024-04-22 5/week @ 2024-04-29 4/week @ 2024-05-06 7/week @ 2024-05-13 15/week @ 2024-05-20 18/week @ 2024-05-27 16/week @ 2024-06-03 13/week @ 2024-06-10 14/week @ 2024-06-17 7/week @ 2024-06-24

每月下载量 52

MIT 许可证 MIT

1MB
20K SLoC

Smithay

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

rusty wayland 组合器的铁匠铺

目标

Smithay 旨在为在 Rust 中创建 wayland 组合器提供构建块。虽然不是一个完整的组合器,但它会提供实现常见功能的对象和接口,这些功能几乎任何组合器都需要,以通用的方式。

此外

  • 文档化: Smithay 努力保持其 API 和其功能的清晰和详细文档。编译后的文档可在 docs.rs 的发布版本中找到,以及在此 的 master 分支。
  • 安全性: 由于 Rust,Smithay 将致力于使用安全性。
  • 模块化: Smithay 不是一个框架,也不会施加约束。如果你不想使用某个部分,你不应该被迫使用它。
  • 高级: 你应该能够不必担心底层细节(但 Smithay 不会阻止你真正想要深入研究)。

Anvil

与其他一样,Smithay 作为组合器库也有自己的示例组合器:anvil。

在克隆此仓库后,你可以使用 cargo 运行它

cd anvil;

cargo run -- --{backend}

目前可用的后端有

  • --winit:以 Winit 应用程序启动 anvil。这允许你在其他 X11 或 Wayland 会话中运行它。

  • --tty-udev:在带有 udev 支持的 tty 中启动 anvil。这是“传统”的 Wayland 组合器启动方式。注意,如果你的系统没有 logind 可用,则需要以 root 身份启动 anvil(《consolekit 支持计划》)。要使用 logind,需要激活相关的 cargo 功能

    cargo run --features logind -- --tty-udev
    

依赖项

~3–16MB
~216K SLoC