mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[GH-ISSUE #264] Server side PS5 controller not detected unless Privileged: true #182
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#182
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 @ironoa on GitHub (Oct 10, 2025).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/264
First of all, thanks for this amazing project !
I am having an issue connecting a (ps5) controller on the server, instead of having it streamed from the Moonlight client.
TL;DR, The quick fix to have it working:
config.toml -> Steam's [apps.runner] -> HostConfig -> "Privileged": trueinstead of the default false.But I'm not sure this is the expected way to have it running, plus
Privileged": truenever sounds right I guess.Privileged": false, though that setting acts on the subsequently spawned container only.Privileged": trueis set. => server side controller can be used to play only ifPrivileged": trueis set. Otherwise, js0, js1, event9, event10 don't even show up in/dev/inputs/.Tested with:
ghcr.io/games-on-whales/wolf:stableimage is sha-2984c2bUbuntu 24.04.3 LTS, server, headless,Docker version 28.5.0, build 887030f| NVIDIA-SMI 580.65.06 Driver Version: 580.65.06 CUDA Version: 13.0 |Maybe related, maybe another issue: I noticed that if the server side controller gets disconnected while Steam (and the streaming session) is active, reconnecting the controller won't make it be detected again... one needs to restart Steam unfortunately (basically, the WolfSteam_xxx container needs to die and get recreated)
Maybe related, maybe another issue: if one restarts the WolfSteam_xxx container (
docker restart WolfSteam_xxx) manually/directly, the contents of the..../Steamfolder (i.e./etc/wolf/common/Steam) gets wiped ! tested with both"Privileged": trueand"Privileged": false.@ABeltramo commented on GitHub (Oct 10, 2025):
We've gone to great lengths to properly isolate virtual devices between containers to avoid games picking up joypads that are in other sessions (or on the host) in order to support multiple users, so this is definitely working as intended 😅
Setting a container to
Privilegedwill break all that and will allow the container to access and see the devices on your host, amongst other things..Can you share a bit more about your use case? Why are you plugging the joypad in your server instead of in the client? Maybe we can find a better alternative, so that also hot-plugging will work.
@ironoa commented on GitHub (Oct 10, 2025):
Got it, makes sense. If you tell me that the server side controller is an anti pattern, I can try to avoid that kind of approach.
The input lag is just noticeably better when the controller is connected to the server, so whenever possible I try to go down that route. By better I mean: input lag constantly/reliably almost zero. When passed via Moonlight (tested with mac os client, web os lg tv client), the lag is a bit higher, and with some sudden high delay spikes sometimes. Connection wise:
Furthermore, maybe related, maybe another issue: it happened to me a couple of times only (just tested and I couldn't replicate). When the PS5 controller is passed from Moonlight (detected as
DualSense Wireless Controllerby the Steam Controller settings), if the controller loses connection and then it gets reconnected, it is then detected asPS5 Controller(different name), and all the buttons mappings are flipped/broken/unusable. Even in that case, one needs to restart Steam.In any case thanks, my setup is very usable at the moment, I am just trying to optimize (latency, security, ...) and better understand the project. FYI I just happily migrated away from a Windows 11 VM with Apollo: that setup was working great, but needed Windows 😅
A clarification: is that actually some old documentation that shouldn't be followed anymore ? shall we remove that section then ?
@ABeltramo commented on GitHub (Oct 10, 2025):
It is if you care about the multi-user functionality, if not, you are free to do as you like! 😉
I know what's going on, we just set a random Mac address for our virtual devices. We've recently pushed a fix for Sunshine that I should probably backport to Wolf too; can you open up a different issue for this so that we don't forget about it?
That definitely needs updating, for example we don't create virtual mouse/keyboard devices anymore. Wolf currently runs as root but I would like to go back to an unprivileged user sooner or later and the only way to achieve that is via some good udev rules
@ironoa commented on GitHub (Oct 12, 2025):
I agree, ideally it should run as non root with the udev rules. Let me know if you want me to open a reminder issue even for that topic.
@ABeltramo commented on GitHub (Oct 12, 2025):
There's a bit of discussion about the udev rules here already https://github.com/games-on-whales/wolf/issues/193