[PR #491] [CLOSED] chore(vulkan): merge current stable into Vulkan image branch #493

Closed
opened 2026-10-15 13:01:00 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/wolf/pull/491
Author: @elibosley
Created: 8/29/2026
Status: ❌ Closed

Base: feat/vulkan-image ← Head: unraid-vulkan-stable-sync


📝 Commits (10+)

  • a9d7c60 fix(lobby): deliver device unplug events to the lobby container
  • d6d41de Merge pull request #452 from kmreisi/fix/lobby-hotplug-reconnect
  • 5b96404 fix(input): isolate Wolf virtual controllers from the host desktop
  • ac068f7 feat(scripts): add wolf-input-diag.sh controller passthrough diagnostic
  • 3f86094 fix(input): address review — tighten udev glob, drop dead keyboard/mouse rule
  • d79e90e fix(input): DualSense battery always reads low
  • 00e16b1 fix(api): keep start_audio_server when deserialising an App
  • 8aec13b docs(input): make 85-wolf.rules the single source of truth for udev rules
  • 5b1d939 Merge pull request #466 from WMP/fix/api-apps-add-start-audio-server
  • c2163e6 Merge pull request #464 from zerofltexx/fix/dualsense-battery-report

📊 Changes

11 files changed (+691 additions, -28 deletions)

View changed files

📝 85-wolf.rules (+22 -12)
➕ AGENTS.md (+151 -0)
➕ CLAUDE.md (+1 -0)
📝 docs/modules/user/pages/quickstart.adoc (+12 -13)
📝 docs/modules/user/pages/troubleshooting.adoc (+43 -0)
➕ scripts/README.adoc (+40 -0)
➕ scripts/wolf-input-diag.sh (+374 -0)
📝 src/moonlight-protocol/moonlight/control.hpp (+3 -1)
📝 src/moonlight-server/events/reflectors.hpp (+1 -0)
📝 src/moonlight-server/sessions/lobbies.cpp (+2 -2)
📝 tests/testWolfAPI.cpp (+42 -0)

📄 Description

Summary

Bring the current stable line into feat/vulkan-image without replacing the Vulkan image or its native encode path.

This merges stable commit 7f416ec0 into Vulkan commit 21ba3ecb, producing b03cf505 with both histories intact.

Why

The Vulkan branch predates recent stable work for controller hotplug, virtual host-input isolation, DualSense battery handling, app audio preservation, and newer diagnostics and repository guidance. Consumers that require the Vulkan image currently have to choose between those fixes and Vulkan support.

Resolution

Merge stable into feat/vulkan-image and retain docker/wolf.vulkan.Dockerfile unchanged. The only manual merge resolution removed duplicate controller-unplug relay and test content because stable now provides the equivalent behavior.

Reviewer considerations

  • This is deliberately a merge commit so the stable and Vulkan ancestry remains visible.
  • No non-Vulkan Dockerfile replaces the Vulkan image.
  • Unraid Beam's 43-patch downstream queue was refreshed against this exact commit and remains at 43 patches.
  • Beam is temporarily consuming refs/pull/491/head as an immutable pin while this PR is under review.

Verification

Run on Unraid's devgen Linux/amd64 Docker builder:

  • The full 43-patch Beam queue applies cleanly, producing patch head 978b2314292108b538b3f2af772fa2c02db44467.
  • The paired GStreamer Vulkan image built successfully.
  • The Wolf Vulkan image built successfully.
  • The focused Wolf regression suite passed, including config persistence, controller unplug, and DRM descriptor lifetime under AddressSanitizer.
  • Runtime RPM/library checks and detached debug-symbol checks passed.
  • Built image provenance reports Wolf revision b03cf50561cc3b0dc316629471373f77beb66f15.

Risk

Moderate. The merge advances a branch with different image and encode behavior, but it preserves that branch's Dockerfile and passed the downstream consumer's complete materialization and image-build gates.


🔄 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/491 **Author:** [@elibosley](https://github.com/elibosley) **Created:** 8/29/2026 **Status:** ❌ Closed **Base:** `feat/vulkan-image` ← **Head:** `unraid-vulkan-stable-sync` --- ### 📝 Commits (10+) - [`a9d7c60`](https://github.com/games-on-whales/wolf/commit/a9d7c60a033b06b991928840a953ce6ce479e69c) fix(lobby): deliver device unplug events to the lobby container - [`d6d41de`](https://github.com/games-on-whales/wolf/commit/d6d41dec9cf758b086768e19a7dc02c20ffce22c) Merge pull request #452 from kmreisi/fix/lobby-hotplug-reconnect - [`5b96404`](https://github.com/games-on-whales/wolf/commit/5b9640448ccc948cd1a51d4885692b52e357806f) fix(input): isolate Wolf virtual controllers from the host desktop - [`ac068f7`](https://github.com/games-on-whales/wolf/commit/ac068f7596a468bea4aaa8649efd8d5a3e92e5a4) feat(scripts): add wolf-input-diag.sh controller passthrough diagnostic - [`3f86094`](https://github.com/games-on-whales/wolf/commit/3f860947e8e1bf09bb3466d105832b313b8d1489) fix(input): address review — tighten udev glob, drop dead keyboard/mouse rule - [`d79e90e`](https://github.com/games-on-whales/wolf/commit/d79e90e729374cdbe5abdd775e18ad02212f60cf) fix(input): DualSense battery always reads low - [`00e16b1`](https://github.com/games-on-whales/wolf/commit/00e16b11699672affc63eb9f3d90d07b1726f459) fix(api): keep start_audio_server when deserialising an App - [`8aec13b`](https://github.com/games-on-whales/wolf/commit/8aec13b647b2bd57e6b2a7f60f5ba51755eb0ce7) docs(input): make 85-wolf.rules the single source of truth for udev rules - [`5b1d939`](https://github.com/games-on-whales/wolf/commit/5b1d939c93a4b48f0d58fa6cc9aa684daf4869e3) Merge pull request #466 from WMP/fix/api-apps-add-start-audio-server - [`c2163e6`](https://github.com/games-on-whales/wolf/commit/c2163e6fb8be1e1611b136a76dd3eac32b528aad) Merge pull request #464 from zerofltexx/fix/dualsense-battery-report ### 📊 Changes **11 files changed** (+691 additions, -28 deletions) <details> <summary>View changed files</summary> 📝 `85-wolf.rules` (+22 -12) ➕ `AGENTS.md` (+151 -0) ➕ `CLAUDE.md` (+1 -0) 📝 `docs/modules/user/pages/quickstart.adoc` (+12 -13) 📝 `docs/modules/user/pages/troubleshooting.adoc` (+43 -0) ➕ `scripts/README.adoc` (+40 -0) ➕ `scripts/wolf-input-diag.sh` (+374 -0) 📝 `src/moonlight-protocol/moonlight/control.hpp` (+3 -1) 📝 `src/moonlight-server/events/reflectors.hpp` (+1 -0) 📝 `src/moonlight-server/sessions/lobbies.cpp` (+2 -2) 📝 `tests/testWolfAPI.cpp` (+42 -0) </details> ### 📄 Description ## Summary Bring the current `stable` line into `feat/vulkan-image` without replacing the Vulkan image or its native encode path. This merges `stable` commit `7f416ec0` into Vulkan commit `21ba3ecb`, producing `b03cf505` with both histories intact. ## Why The Vulkan branch predates recent stable work for controller hotplug, virtual host-input isolation, DualSense battery handling, app audio preservation, and newer diagnostics and repository guidance. Consumers that require the Vulkan image currently have to choose between those fixes and Vulkan support. ## Resolution Merge `stable` into `feat/vulkan-image` and retain `docker/wolf.vulkan.Dockerfile` unchanged. The only manual merge resolution removed duplicate controller-unplug relay and test content because `stable` now provides the equivalent behavior. ## Reviewer considerations - This is deliberately a merge commit so the stable and Vulkan ancestry remains visible. - No non-Vulkan Dockerfile replaces the Vulkan image. - Unraid Beam's 43-patch downstream queue was refreshed against this exact commit and remains at 43 patches. - Beam is temporarily consuming `refs/pull/491/head` as an immutable pin while this PR is under review. ## Verification Run on Unraid's devgen Linux/amd64 Docker builder: - The full 43-patch Beam queue applies cleanly, producing patch head `978b2314292108b538b3f2af772fa2c02db44467`. - The paired GStreamer Vulkan image built successfully. - The Wolf Vulkan image built successfully. - The focused Wolf regression suite passed, including config persistence, controller unplug, and DRM descriptor lifetime under AddressSanitizer. - Runtime RPM/library checks and detached debug-symbol checks passed. - Built image provenance reports Wolf revision `b03cf50561cc3b0dc316629471373f77beb66f15`. ## Risk Moderate. The merge advances a branch with different image and encode behavior, but it preserves that branch's Dockerfile and passed the downstream consumer's complete materialization and image-build gates. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 13:01:00 +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#493
No description provided.