mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[GH-ISSUE #325] Feature Request: Switch to PipeWire to enable VR support #226
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#226
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?
Originally created by @macher91 on GitHub (Dec 30, 2025).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/325
I'd like to request a option to switch from PulseAudio to PipeWire to enable VR support on Wolf.
Currently, VR is impossible to run due to the PulseAudio dependency. I’ve verified a working solution using the
Steam-Headless/docker-steam-headlessimage: after updating Mesa to the latest version and swapping the audio backend to PipeWire, VR works perfectly.Implementing these changes in Wolf would unlock VR capabilities out of the box.
Thanks!
@Gylfkxjyjdll commented on GitHub (Dec 30, 2025):
I am very interested in this but Im on holiday until mid-January.
Do you use SteamVR Gamestream or Alvr? I tried it previously and was unsuccessful due to a different subnet between Docker and the host (a simple fix but I was unable to be patient due to work commitments).
Could you share a bit more about how you go about this?
@ABeltramo commented on GitHub (Jan 3, 2026):
Moonlight doesn't support VR streaming. Using something like Alvr with a Wolf session is outside the scope of this project and just "switching to PipeWire" wouldn't enable VR support 😉
@macher91 commented on GitHub (Jan 10, 2026):
Sorry for the late answer. I have a custom steam-headless (josh5) with backport mesa (Trixie) and pipewire, Steam VR beta is working. I didn't say anything about moonlight. So with some adjustments it could work also on wolf images. Alvr is also working. I can share some proofs or I can put my custom steam-headless to GitHub repo. I think switching to edge mesa and pipewire could enable VR features, as Steam VR/alvr has own "streaming" server
@macher91 commented on GitHub (Jan 13, 2026):
@Gylfkxjyjdll @ABeltramo I was able to run Half-Life: Alyx using SteamVR Beta(no alvr) on wolf using pipewire container and custom steam docker image. I tried with default pulse server but its crashing. Also without updated mesa is not working.
Dockerfile:
startup-app.sh:
Only issue is that audio is not passed to moonlight.
@ABeltramo can you consider to reopen this FR? Or maybe you can just guide me how to get audio using custom audio server container?
@ABeltramo commented on GitHub (Jan 14, 2026):
How would you play a VR game with Moonlight? Does Steam turns the VR 3D space into 2D? And how do you pass back the motion and gyro inputs from the headset?
Can you share a screen recording of that?
@macher91 commented on GitHub (Jan 15, 2026):
@ABeltramo To clarify, I don't want to play VR games via Moonlight. I have Wolf running on my home lab server (Unraid), which is headless (no monitors connected). My goal is to launch VR games inside the Wolf Steam container so I can play them remotely on my Quest 3. I understand that Wolf is designed for remote play using Sunshine/Moonlight, but with current setup, I can't get VR games to run at all—even if I just wanted to use Moonlight to view the VR mirror window.
@ABeltramo commented on GitHub (Jan 15, 2026):
So then this is outside the scope of Wolf.
Unfortunately there's not that many contributors and I only have a limited amount of free time to spend on Wolf.
Changing from PulseAudio to Pipewire would be a fairly big change since we have code in Wolf that communicate with the Pulse socket to automatically provision the virtual sinks, set the audio params, encoding pipeline and so on.
If anyone would like to write all the code required PRs are very welcome though.
@macher91 commented on GitHub (Jan 16, 2026):
Fair enough 😅 thanks for answer ;)
@jsw08 commented on GitHub (Apr 1, 2026):
How does this stop you from switching to pipewire? Pipewire-pulse is a drop-in replacement.
@macher91 commented on GitHub (Apr 1, 2026):
can you share example of configuration how to do it "drop-in replacement"?
@jsw08 commented on GitHub (Apr 1, 2026):
The stock configuration of pipewire works fine. All you have to do is to run pipewire, a sessionmanager; preferably wirepulmber and the pipewire-pulse service. The last being a translation layer that provides compatibility with pulseaudio based applications.
Here's a description of pipewire-pulse from their mandoc:
You can run the three using a service manager, launch script or you can configure pipewire to launch them for you.
@winiciuscota commented on GitHub (Apr 14, 2026):
it would be very useful having alvr support for wolf, maybe in a different container
steam-headless worked for me but I was getting a very inconsistent behavior on x11vnc, it would simply stop working sometimes, so I had to revert to using a vm+gpu passtrough on my proxmox/gaming machine