mirror of
https://github.com/games-on-whales/LXC2Docker.git
synced 2026-10-15 21:02:07 +00:00
[PR #66] [MERGED] fix(mounts): keep socket/runtime-dir binds shared so Wolf audio works #66
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/LXC2Docker#66
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/LXC2Docker/pull/66
Author: @JBailes
Created: 6/6/2026
Status: ✅ Merged
Merged: 6/6/2026
Merged by: @JBailes
Base:
main← Head:fix/socket-dir-shared-propagation📝 Commits (1)
99ffff7fix(mounts): keep socket/runtime-dir binds shared so Wolf audio works📊 Changes
2 files changed (+9 additions, -5 deletions)
View changed files
📝
internal/lxc/config.go(+6 -2)📝
internal/lxc/config_test.go(+3 -3)📄 Description
Problem
Selecting any app (incl. Wolf UI) in Moonlight crashes the session:
[PULSE] Unable to connect/pulsesrc ... Failed to connect: Connection refused→[GSTREAMER] Pipeline error→ session torn down. On the host, the PulseAudio socket never appears in the shared runtime dir (/run/user/wolfis empty).Cause
#63 added
rprivatepropagation to all daemon-emitted binds, including the runtime-dir and socket-dir binds. Those are exactly how Wolf, the PulseAudio container, and session containers share the pulse (and Wayland) sockets — pre-#63 they inherited the host's shared propagation, so a socket created underXDG_RUNTIME_DIRafter the mount propagated to siblings. Withrprivatethe socket never reaches the session.#63's real goal — stop a container's devpts from clobbering the host's
/dev/pts— only needs the device node/dir binds to berprivate, which this keeps.Fix
Revert just the socket/runtime-dir mounts in
appendSocketMountandappendSocketDirMountto shared propagation. Device node/dir binds stayrprivate. Tests updated to match.Verification
go test ./internal/lxc/passes.pulse-socketreappears in the shared host runtime dir and Wolf UI sessions connect again.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.