[PR #18] [MERGED] Custom Wayland compositor #336

Closed
opened 2026-10-15 12:59:50 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/wolf/pull/18
Author: @ABeltramo
Created: 2/11/2023
Status: ✅ Merged
Merged: 6/13/2023
Merged by: @ABeltramo

Base: stable ← Head: dev-wayland


📝 Commits (10+)

  • 2b2ab70 feat: basic wayland docs, updated Sunrise
  • 861b9ca feat: Add waylanddisplaysrc plugin
  • 89e77f0 docker: Add wayland plugin to Dockerfile
  • 510ebeb feat: Add wayland plugin to default config
  • 3cc3e92 docker: Add nvidia build arg
  • 67ecfc1 docs: Clarify zero-copy situation
  • d5a44c9 feat: wayland: Use correct age
  • ef4830c feat: wayland: Implement frame pacing
  • e2013ef feat: wayland: Add support for absolute mouse movement
  • ba02ebf feat: wayland: properly handle client cursors

📊 Changes

137 files changed (+8664 additions, -1673 deletions)

View changed files

📝 .dockerignore (+4 -1)
➕ .github/workflows/clang-format.yml (+26 -0)
📝 .github/workflows/docker-build.yml (+19 -4)
📝 .github/workflows/linux-build-test.yml (+16 -1)
📝 .gitignore (+2 -0)
➕ 85-wolf.rules (+3 -0)
📝 CMakeLists.txt (+21 -3)
➕ Cargo.toml (+8 -0)
📝 README.md (+34 -2)
➕ cmake/CMakeCargo.cmake (+74 -0)
➕ cmake/CMakeDetermineRustCompiler.cmake (+25 -0)
➕ cmake/CMakeRustCompiler.cmake.in (+15 -0)
➕ cmake/CMakeRustInformation.cmake (+106 -0)
➕ cmake/CMakeTestRustCompiler.cmake (+3 -0)
➕ cmake/CargoLink.cmake (+64 -0)
➕ cmake/FindLibxkbcommon.cmake (+70 -0)
➖ cmake/FindPipeWire.cmake (+0 -122)
➕ cmake/FindPulseAudio.cmake (+72 -0)
➕ cmake/FindRust.cmake (+73 -0)
➕ cmake/FindWaylandServer.cmake (+12 -0)

...and 80 more files

📄 Description

TODO

  • run wayland compositor outside gstreamer in order to support pause/resume
  • avoid flooding of IDR requests
  • remove thread pool
  • add proper startup script to the Dockerfile
    • Download additional Nvidia drivers if required
  • Allow changing the docker-socket path via ENV
  • Change config.toml
    • Add all current GOW apps as default apps
    • Change the gstreamer pipelines to be a hierarchy of encoders (ex: nvenc -> vaapi -> software) so that we can automatically plug the right one at runtime
    • Add ability to change the render node per app

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/wolf/pull/18 **Author:** [@ABeltramo](https://github.com/ABeltramo) **Created:** 2/11/2023 **Status:** ✅ Merged **Merged:** 6/13/2023 **Merged by:** [@ABeltramo](https://github.com/ABeltramo) **Base:** `stable` ← **Head:** `dev-wayland` --- ### 📝 Commits (10+) - [`2b2ab70`](https://github.com/games-on-whales/wolf/commit/2b2ab7023f79c8e9699d5a30dbc5df79dfce1b91) feat: basic wayland docs, updated Sunrise - [`861b9ca`](https://github.com/games-on-whales/wolf/commit/861b9caea078bd4fa3773c25cfc24a4ff0e97612) feat: Add waylanddisplaysrc plugin - [`89e77f0`](https://github.com/games-on-whales/wolf/commit/89e77f027480cadb1a5575ed80d267f32e77d5db) docker: Add wayland plugin to Dockerfile - [`510ebeb`](https://github.com/games-on-whales/wolf/commit/510ebebdf43c4ebbd4b747638964595e2ac2fb9a) feat: Add wayland plugin to default config - [`3cc3e92`](https://github.com/games-on-whales/wolf/commit/3cc3e92cf1d84802531f7f6db65f2123fa949bb1) docker: Add nvidia build arg - [`67ecfc1`](https://github.com/games-on-whales/wolf/commit/67ecfc15350a53d43ed6bde57d7361dc7b0d40e2) docs: Clarify zero-copy situation - [`d5a44c9`](https://github.com/games-on-whales/wolf/commit/d5a44c955aa8a4bf9f53d2c3b656198abc06d179) feat: wayland: Use correct age - [`ef4830c`](https://github.com/games-on-whales/wolf/commit/ef4830cd12d66d929828d5a40100b5cc54599d2f) feat: wayland: Implement frame pacing - [`e2013ef`](https://github.com/games-on-whales/wolf/commit/e2013efc76cbddc9f5b8d668b483f841a2ece586) feat: wayland: Add support for absolute mouse movement - [`ba02ebf`](https://github.com/games-on-whales/wolf/commit/ba02ebfda2d31cd8df36a0855813cb19a9cec8c8) feat: wayland: properly handle client cursors ### 📊 Changes **137 files changed** (+8664 additions, -1673 deletions) <details> <summary>View changed files</summary> 📝 `.dockerignore` (+4 -1) ➕ `.github/workflows/clang-format.yml` (+26 -0) 📝 `.github/workflows/docker-build.yml` (+19 -4) 📝 `.github/workflows/linux-build-test.yml` (+16 -1) 📝 `.gitignore` (+2 -0) ➕ `85-wolf.rules` (+3 -0) 📝 `CMakeLists.txt` (+21 -3) ➕ `Cargo.toml` (+8 -0) 📝 `README.md` (+34 -2) ➕ `cmake/CMakeCargo.cmake` (+74 -0) ➕ `cmake/CMakeDetermineRustCompiler.cmake` (+25 -0) ➕ `cmake/CMakeRustCompiler.cmake.in` (+15 -0) ➕ `cmake/CMakeRustInformation.cmake` (+106 -0) ➕ `cmake/CMakeTestRustCompiler.cmake` (+3 -0) ➕ `cmake/CargoLink.cmake` (+64 -0) ➕ `cmake/FindLibxkbcommon.cmake` (+70 -0) ➖ `cmake/FindPipeWire.cmake` (+0 -122) ➕ `cmake/FindPulseAudio.cmake` (+72 -0) ➕ `cmake/FindRust.cmake` (+73 -0) ➕ `cmake/FindWaylandServer.cmake` (+12 -0) _...and 80 more files_ </details> ### 📄 Description # TODO - [x] run wayland compositor outside gstreamer in order to support pause/resume - [x] avoid flooding of IDR requests - [x] remove thread pool - [x] add proper startup script to the Dockerfile - [x] Download additional Nvidia drivers if required - [x] Allow changing the docker-socket path via ENV - [x] Change `config.toml` - [x] Add all current GOW apps as default apps - [x] Change the gstreamer pipelines to be a hierarchy of encoders (ex: `nvenc -> vaapi -> software`) so that we can automatically plug the right one at runtime - [x] Add ability to change the render node per app --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:59:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/wolf#336
No description provided.