[GH-ISSUE #73] Running Wolf inside an LXC container #50

Closed
opened 2026-10-15 12:55:25 +00:00 by bsakaguchi · 15 comments
Owner

Originally created by @jefflewis on GitHub (Jun 4, 2024).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/73

I'm attempting to set up a wolf deployment on an LXC container in Proxmox. I have the v550 Nvidia drivers installed and all the required devices configured on the container. The system does run, but will often disconnect the moonlight client with either a termination error or a UDP port error. When the launch does succeed, I can install games and the steam app UI is very responsive. Sound and gamepad controls work just as expected.

When I launch a game, I only get a black screen. The GPU lists wolf as a process, and when I set WOLF_RENDER_NODE to use /dev/dri/renderD129, it lists many other processes as well. (There is an integrated intel GPU available as well).

In the container logs, I see many errors around inputs. Could this be part of the flakiness of the connection? I see no errors logged when the screen goes black. What can I do to further troubleshoot what is wrong with my setup?

wolf-wolf-1  | 22:40:17.673815539 INFO  | [DOCKER] Starting container: /WolfSteam_17432744545756172703
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event19)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event19
wolf-wolf-1  | 1:18:02.316807954     1 0x70b02400c290 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc3> error reading data -1 (reason: Success), skipping segment
wolf-wolf-1  | 23:38:26.619393300 INFO  | RTP server started on port: 48100
wolf-wolf-1  | 23:38:26.619709651 INFO  | RTP server started on port: 48200
wolf-wolf-1  | 1:18:05.279971655     1 0x70b040001340 WARN        cudaconvertscale gstcudaconvertscale.c:1265:gst_cuda_base_convert_set_info:<cudaconvertscale6> Can't calculate borders
wolf-wolf-1  | 1:18:05.374750564     1 0x70b045045a20 WARN                  appsrc gstappsrc.c:2610:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x70b01ca4e6e0, pts 0:00:00.066666664, dts 0:00:00.066666664, dur 0:00:00.016666666, size 3686400, offset none, offset_end none, flags 0x0
wolf-wolf-1  | 1:19:23.753439042     1 0x70b0780013f0 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc4> error reading data -1 (reason: Success), skipping segment

docker-compose

version: "3.8"
services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    environment:
      - XDG_RUNTIME_DIR=/tmp/sockets
      - NVIDIA_DRIVER_VOLUME_NAME=nvidia-driver-vol
      - HOST_APPS_STATE_FOLDER=/etc/wolf
      - WOLF_RENDER_NODE=/dev/dri/renderD129
    volumes:
      - /etc/wolf/:/etc/wolf:rw
      - /tmp/sockets:/tmp/sockets:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/shm:/dev/shm:rw
      - /dev/input:/dev/input:rw
      - /run/udev:/run/udev:rw
      - nvidia-driver-vol:/usr/nvidia:rw
    devices:
      - /dev/dri
      - /dev/uinput
      - /dev/nvidia-uvm
      - /dev/nvidia-uvm-tools
      - /dev/nvidia-caps/nvidia-cap1
      - /dev/nvidia-caps/nvidia-cap2
      - /dev/nvidiactl
      - /dev/nvidia0
      - /dev/nvidia-modeset
    device_cgroup_rules:
      - c 13:* rmw
    network_mode: host
    restart: unless-stopped
volumes:
  nvidia-driver-vol:
    external: true
networks: {}

lxc conf

arch: amd64
cores: 2
features: nesting=1
hostname: dockge
memory: 2048
net0: name=eth0,bridge=vmbr0,hwaddr=BC:24:11:3B:C4:02,ip=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: local-zfs-2:subvol-307-disk-0,size=318G
swap: 512
tags: proxmox-helper-scripts
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id  dev/serial/by-id  none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0       dev/ttyUSB0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1       dev/ttyUSB1       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0       dev/ttyACM0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1       dev/ttyACM1       none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD129 dev/dri/renderD129 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,optional,create=dir
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
lxc.cgroup2.devices.allow: c 10:223 rwm
lxc.mount.entry: /dev/uinput dev/uinput none bind,optional,create=file
lxc.mount.entry: /dev/input dev/input none bind,optional,create=dir
lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 506:* rwm
lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-caps/ dev/nvidia-caps none bind,optional,create=dir
lxc.mount.entry: /dev/nvidia-caps/nvidia-cap1 dev/nvidia-caps/nvidia-cap1 none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-caps/nvidia-cap2 dev/nvidia-caps/nvidia-cap2 none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file

nvidia-smi

root@pve1:/dev/dri# nvidia-smi
Tue Jun  4 19:57:07 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.78                 Driver Version: 550.78         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA RTX A2000 12GB          Off |   00000000:01:00.0  On |                  Off |
| 50%   77C    P2             30W /   70W |     399MiB /  12282MiB |      8%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A    493382    C+G   /wolf/wolf                                    172MiB |
|    0   N/A  N/A    494482    C+G   /usr/games/gamescope                           33MiB |
|    0   N/A  N/A    494533      G   Xwayland                                       26MiB |
|    0   N/A  N/A    494550      G   mangoapp                                       20MiB |
|    0   N/A  N/A    494705      G   ...bian-installation/ubuntu12_32/steam          3MiB |
|    0   N/A  N/A    495115      G   ./steamwebhelper                               20MiB |
|    0   N/A  N/A    495136      G   ...atal,SpareRendererForSitePerProcess         96MiB |
+-----------------------------------------------------------------------------------------+
Originally created by @jefflewis on GitHub (Jun 4, 2024). Original GitHub issue: https://github.com/games-on-whales/wolf/issues/73 I'm attempting to set up a wolf deployment on an LXC container in Proxmox. I have the v550 Nvidia drivers installed and all the required devices configured on the container. The system does run, but will often disconnect the moonlight client with either a termination error or a UDP port error. When the launch does succeed, I can install games and the steam app UI is very responsive. Sound and gamepad controls work just as expected. When I launch a game, I only get a black screen. The GPU lists wolf as a process, and when I set WOLF_RENDER_NODE to use `/dev/dri/renderD129`, it lists many other processes as well. (There is an integrated intel GPU available as well). In the container logs, I see many errors around inputs. Could this be part of the flakiness of the connection? I see no errors logged when the screen goes black. What can I do to further troubleshoot what is wrong with my setup? ``` wolf-wolf-1 | 22:40:17.673815539 INFO | [DOCKER] Starting container: /WolfSteam_17432744545756172703 wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event19) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event19 wolf-wolf-1 | 1:18:02.316807954 1 0x70b02400c290 WARN audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc3> error reading data -1 (reason: Success), skipping segment wolf-wolf-1 | 23:38:26.619393300 INFO | RTP server started on port: 48100 wolf-wolf-1 | 23:38:26.619709651 INFO | RTP server started on port: 48200 wolf-wolf-1 | 1:18:05.279971655 1 0x70b040001340 WARN cudaconvertscale gstcudaconvertscale.c:1265:gst_cuda_base_convert_set_info:<cudaconvertscale6> Can't calculate borders wolf-wolf-1 | 1:18:05.374750564 1 0x70b045045a20 WARN appsrc gstappsrc.c:2610:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x70b01ca4e6e0, pts 0:00:00.066666664, dts 0:00:00.066666664, dur 0:00:00.016666666, size 3686400, offset none, offset_end none, flags 0x0 wolf-wolf-1 | 1:19:23.753439042 1 0x70b0780013f0 WARN audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc4> error reading data -1 (reason: Success), skipping segment ``` docker-compose ```yaml version: "3.8" services: wolf: image: ghcr.io/games-on-whales/wolf:stable environment: - XDG_RUNTIME_DIR=/tmp/sockets - NVIDIA_DRIVER_VOLUME_NAME=nvidia-driver-vol - HOST_APPS_STATE_FOLDER=/etc/wolf - WOLF_RENDER_NODE=/dev/dri/renderD129 volumes: - /etc/wolf/:/etc/wolf:rw - /tmp/sockets:/tmp/sockets:rw - /var/run/docker.sock:/var/run/docker.sock:rw - /dev/shm:/dev/shm:rw - /dev/input:/dev/input:rw - /run/udev:/run/udev:rw - nvidia-driver-vol:/usr/nvidia:rw devices: - /dev/dri - /dev/uinput - /dev/nvidia-uvm - /dev/nvidia-uvm-tools - /dev/nvidia-caps/nvidia-cap1 - /dev/nvidia-caps/nvidia-cap2 - /dev/nvidiactl - /dev/nvidia0 - /dev/nvidia-modeset device_cgroup_rules: - c 13:* rmw network_mode: host restart: unless-stopped volumes: nvidia-driver-vol: external: true networks: {} ``` lxc conf ```conf arch: amd64 cores: 2 features: nesting=1 hostname: dockge memory: 2048 net0: name=eth0,bridge=vmbr0,hwaddr=BC:24:11:3B:C4:02,ip=dhcp,type=veth onboot: 1 ostype: debian rootfs: local-zfs-2:subvol-307-disk-0,size=318G swap: 512 tags: proxmox-helper-scripts lxc.cgroup2.devices.allow: a lxc.cap.drop: lxc.cgroup2.devices.allow: c 188:* rwm lxc.cgroup2.devices.allow: c 189:* rwm lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=file lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file lxc.cgroup2.devices.allow: c 226:0 rwm lxc.cgroup2.devices.allow: c 226:128 rwm lxc.cgroup2.devices.allow: c 29:0 rwm lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file lxc.mount.entry: /dev/dri/renderD129 dev/dri/renderD129 none bind,optional,create=file lxc.cgroup2.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net dev/net none bind,optional,create=dir lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file lxc.cgroup2.devices.allow: c 10:223 rwm lxc.mount.entry: /dev/uinput dev/uinput none bind,optional,create=file lxc.mount.entry: /dev/input dev/input none bind,optional,create=dir lxc.cgroup2.devices.allow: c 195:* rwm lxc.cgroup2.devices.allow: c 506:* rwm lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file lxc.mount.entry: /dev/nvidia-caps/ dev/nvidia-caps none bind,optional,create=dir lxc.mount.entry: /dev/nvidia-caps/nvidia-cap1 dev/nvidia-caps/nvidia-cap1 none bind,optional,create=file lxc.mount.entry: /dev/nvidia-caps/nvidia-cap2 dev/nvidia-caps/nvidia-cap2 none bind,optional,create=file lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file ``` nvidia-smi ``` root@pve1:/dev/dri# nvidia-smi Tue Jun 4 19:57:07 2024 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.78 Driver Version: 550.78 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA RTX A2000 12GB Off | 00000000:01:00.0 On | Off | | 50% 77C P2 30W / 70W | 399MiB / 12282MiB | 8% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | 0 N/A N/A 493382 C+G /wolf/wolf 172MiB | | 0 N/A N/A 494482 C+G /usr/games/gamescope 33MiB | | 0 N/A N/A 494533 G Xwayland 26MiB | | 0 N/A N/A 494550 G mangoapp 20MiB | | 0 N/A N/A 494705 G ...bian-installation/ubuntu12_32/steam 3MiB | | 0 N/A N/A 495115 G ./steamwebhelper 20MiB | | 0 N/A N/A 495136 G ...atal,SpareRendererForSitePerProcess 96MiB | +-----------------------------------------------------------------------------------------+ ```
Author
Owner

@ABeltramo commented on GitHub (Jun 5, 2024):

Thanks for the detailed issue, running a Docker container inside an LXC container might get tricky, but I'll try to help where I can.

The system does run, but will often disconnect the moonlight client with either a termination error or a UDP port error.

Wolf will definitely log something here, someone on Discord reported random warnings about binding the RTP port, could that be your case too?

When I launch a game, I only get a black screen

Bear in mind that the very first time you launch a game that is expected since Docker is actually downloading the image (and we don't have an easy way to report that progress, yet). The stream should stay open with a black screen until the app is actually running.

In the container logs, I see many errors around inputs.

From the few log lines that you've posted it seems that our custom compositor is not able to access the virtual devices (mouse and keyboard) that Wolf creates. I've noticed that you have a bunch of lxc.mount.entry in your config; our virtual mouse and keyboard will have major 13 so maybe you should add something like

lxc.cgroup2.devices.allow: c 13:* rwm

What can I do to further troubleshoot what is wrong with my setup?

Generally setting WOLF_LOG_LEVEL=DEBUG is helpful in troubleshooting issues. You can post a full log run here, and I'll try to help you!

<!-- gh-comment-id:2149031219 --> @ABeltramo commented on GitHub (Jun 5, 2024): Thanks for the detailed issue, running a Docker container inside an LXC container might get tricky, but I'll try to help where I can. > The system does run, but will often disconnect the moonlight client with either a termination error or a UDP port error. Wolf will definitely log something here, someone on Discord reported random warnings about binding the RTP port, could that be your case too? > When I launch a game, I only get a black screen Bear in mind that the very first time you launch a game that is expected since Docker is actually downloading the image (and we don't have an easy way to report that progress, yet). The stream should stay open with a black screen until the app is actually running. > In the container logs, I see many errors around inputs. From the few log lines that you've posted it seems that our custom compositor is not able to access the virtual devices (mouse and keyboard) that Wolf creates. I've noticed that you have a bunch of `lxc.mount.entry` in your config; our virtual mouse and keyboard will have major `13` so maybe you should add something like ``` lxc.cgroup2.devices.allow: c 13:* rwm ``` > What can I do to further troubleshoot what is wrong with my setup? Generally setting `WOLF_LOG_LEVEL=DEBUG` is helpful in troubleshooting issues. You can post a full log run here, and I'll try to help you!
Author
Owner

@jefflewis commented on GitHub (Jun 5, 2024):

Thanks so much for the help! I know this is one of the more complex ways to run this. My goal is to be able to share this GPU with other services for when it's not used for game streaming (ML, etc).

Adding the extra conf for control group 13 seemed to let me actually start up into a game further than I had before! I still see the machine drop its connection and not be able to resume. When I've seen it launch to a black screen, it seems more than a "loading" state, as I've let it sit for 30 minutes and it just stays. I

I looked at the host machine's /dev/input directory, and it is in fact missing any event > 16, which are all events that fail in the wolf logs. I don't know what those events correlate to or why they are missing on the host.

root@pve1:~# ls -al /dev/input
total 0
drwxr-xr-x  4 root root     440 Jun  5 08:17 .
drwxr-xr-x 21 root root    5340 Jun  4 13:25 ..
drwxr-xr-x  2 root root      80 Jun  4 12:57 by-id
drwxr-xr-x  2 root root     100 Jun  4 12:57 by-path
crw-rw----  1 root input 13, 64 Jun  4 12:57 event0
crw-rw----  1 root input 13, 65 Jun  4 12:57 event1
crw-rw----  1 root input 13, 74 Jun  4 12:57 event10
crw-rw----  1 root input 13, 75 Jun  4 12:57 event11
crw-rw----  1 root input 13, 76 Jun  4 12:57 event12
crw-rw----  1 root input 13, 77 Jun  4 12:57 event13
crw-rw----  1 root input 13, 78 Jun  4 12:57 event14
crw-rw----  1 root input 13, 79 Jun  4 12:57 event15
crw-rw----  1 root input 13, 80 Jun  4 12:57 event16
crw-rw----  1 root input 13, 66 Jun  4 12:57 event2
crw-rw----  1 root input 13, 67 Jun  4 12:57 event3
crw-rw----  1 root input 13, 68 Jun  4 12:57 event4
crw-rw----  1 root input 13, 69 Jun  4 12:57 event5
crw-rw----  1 root input 13, 70 Jun  4 12:57 event6
crw-rw----  1 root input 13, 71 Jun  4 12:57 event7
crw-rw----  1 root input 13, 72 Jun  4 12:57 event8
crw-rw----  1 root input 13, 73 Jun  4 12:57 event9
crw-rw----  1 root input 13, 63 Jun  4 12:57 mice

Here's an example launch session log with the connection being terminated before steam ever launches:

wolf-wolf-1  | 12:16:48.602991894 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/launch
wolf-wolf-1  | 12:16:48.603068404 DEBUG | Host app state folder: /etc/wolf/1782870069566224235/Steam, creating paths
wolf-wolf-1  | 12:16:48.605797557 DEBUG | [STREAM_SESSION] Create virtual audio sink
wolf-wolf-1  | 12:16:48.605832738 DEBUG | [STREAM_SESSION] Create wayland compositor
wolf-wolf-1  | 12:16:48.605842558 DEBUG | [WAYLAND] Creating wayland display
wolf-wolf-1  | 12:16:48.606208759 DEBUG | [PULSE] Created virtual sink: 19
wolf-wolf-1  | 12:16:48.620569332 DEBUG | [RTSP] received command OPTIONS
wolf-wolf-1  | 12:16:48.631846205 DEBUG | [RTSP] received command DESCRIBE
wolf-wolf-1  | 12:16:48.633157134 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-2
wolf-wolf-1  | 12:16:48.641026876 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation
wolf-wolf-1  | 12:16:48.641046713 INFO  | Mounting nvidia driver nvidia-driver-vol:/usr/nvidia
wolf-wolf-1  | 12:16:48.648119580 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 12:16:48.649374917 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation
wolf-wolf-1  | 12:16:48.649412762 DEBUG | [DOCKER] Using fake-udev, creating /etc/wolf/1782870069566224235/Steam/udev/data
wolf-wolf-1  | 12:16:48.663863475 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 12:16:48.679351545 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 12:16:48.692810576 DEBUG | [RTSP] received command ANNOUNCE
wolf-wolf-1  | 12:16:48.692867929 DEBUG | [RTSP] Moonlight requested video format HEVC
wolf-wolf-1  | 12:16:48.692897189 INFO  | RTP server started on port: 48101
wolf-wolf-1  | 12:16:48.692961287 INFO  | RTP server started on port: 48201
wolf-wolf-1  | 12:16:48.692975070 DEBUG | Video session 1782870069566224235, waiting for PING...
wolf-wolf-1  | 12:16:48.693023555 DEBUG | Audio session 1782870069566224235, waiting for PING...
wolf-wolf-1  | 12:16:48.704036330 DEBUG | [RTSP] received command PLAY
wolf-wolf-1  | 12:16:48.706543945 DEBUG | [ENET] connected client: 10.0.0.157:57838
wolf-wolf-1  | 12:16:48.706763482 DEBUG | RTP server on port: 48101 stopped
wolf-wolf-1  | 12:16:48.706839662 DEBUG | Starting video pipeline: appsrc name=wolf_wayland_source is-live=true block=false format=3 stream-type=0 ! queue ! cudaupload ! cudaconvertscale !
wolf-wolf-1  | video/x-raw(memory:CUDAMemory), width=1280, height=720,
wolf-wolf-1  | chroma-site=mpeg2, format=NV12, colorimetry=bt601, pixel-aspect-ratio=1/1
wolf-wolf-1  |  ! nvh265enc preset=low-latency-hq zerolatency=true gop-size=-1 rc-mode=cbr-ld-hq bitrate=7500 aud=false !
wolf-wolf-1  | h265parse !
wolf-wolf-1  | video/x-h265, profile=main, stream-format=byte-stream
wolf-wolf-1  |  ! rtpmoonlightpay_video name=moonlight_pay
wolf-wolf-1  | payload_size=1392 fec_percentage=20 min_required_fec_packets=2 !
wolf-wolf-1  | udpsink bind-port=48101 host=10.0.0.157 port=56881 sync=true
wolf-wolf-1  | 
wolf-wolf-1  | 12:16:48.788078387 DEBUG | Setting up wolf_wayland_source
wolf-wolf-1  | 12:16:48.788787508 WARN  | [GSTREAMER] cudaconvertscale - Can't calculate borders ../subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvertscale.c:gst_cuda_base_convert_set_info:1265
wolf-wolf-1  | 12:16:49.184964437 DEBUG | RTP server on port: 48201 stopped
wolf-wolf-1  | 12:16:49.185280407 DEBUG | Starting audio pipeline: pulsesrc device="virtual_sink_1782870069566224235.monitor" server="/tmp/sockets/pulse-socket"
wolf-wolf-1  |  ! audio/x-raw, channels=2 ! opusenc bitrate=48000 bitrate-type=constrained-vbr frame-size=5 bandwidth=fullband
wolf-wolf-1  | audio-type=restricted-lowdelay max-payload-size=1400
wolf-wolf-1  |  ! rtpmoonlightpay_audio name=moonlight_pay packet_duration=5 encrypt=true
wolf-wolf-1  | aes_key="7ebf8a965d4b89de5a3176bc7ff0831b" aes_iv="241433879"  !
wolf-wolf-1  | udpsink bind-port=48201 host=10.0.0.157 port=59460 sync=true
wolf-wolf-1  | 
wolf-wolf-1  | 12:16:49.561243103 DEBUG | [GSTREAMER] Forcing IDR
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event20)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event20
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event21)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event21
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event22)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event22
wolf-wolf-1  | 12:16:55.061484464 DEBUG | [GSTREAMER] Forcing IDR
wolf-wolf-1  | 12:16:58.163225248 INFO  | [DOCKER] Starting container: /WolfSteam_1782870069566224235
wolf-wolf-1  | 12:16:58.163286934 DEBUG | [DOCKER] Starting container: {
wolf-wolf-1  |  id: c8ecfab9644ff0391d8fd5ac186bf23d68565edfa1584b70eb42c43efb73bbe1
wolf-wolf-1  |  name: /WolfSteam_1782870069566224235
wolf-wolf-1  |  image: ghcr.io/games-on-whales/steam:edge
wolf-wolf-1  |  status: 0
wolf-wolf-1  |  ports: []
wolf-wolf-1  |  mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-2:/tmp/sockets/wayland-2:rw, /etc/wolf/1782870069566224235/Steam:/home/retro:rw, nvidia-driver-vol:/usr/nvidia:rw, /etc/wolf/1782870069566224235/Steam/udev:/run/udev/:rw, /etc/wolf/fake-udev:/usr/bin/fake-udev:ro]
wolf-wolf-1  |  devices: [/dev/dri/card2:/dev/dri/card2:mrw, /dev/dri/renderD129:/dev/dri/renderD129:mrw, /dev/dri/card2:/dev/dri/card2:mrw, /dev/nvidia0:/dev/nvidia0:mrw, /dev/nvidia-modeset:/dev/nvidia-modeset:mrw, /dev/nvidia-uvm:/dev/nvidia-uvm:mrw, /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools:mrw, /dev/nvidiactl:/dev/nvidiactl:mrw]
wolf-wolf-1  |  env: ["PROTON_LOG=1", "RUN_GAMESCOPE=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_1782870069566224235.monitor", "GAMESCOPE_REFRESH=60", "PULSE_SINK=virtual_sink_1782870069566224235", "WAYLAND_DISPLAY=wayland-2", "GAMESCOPE_HEIGHT=720", "PULSE_SERVER=/tmp/sockets/pulse-socket", "XDG_RUNTIME_DIR=/tmp/sockets", "GAMESCOPE_WIDTH=1280", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PUID=1000", "PGID=1000", "UMASK=000", "UNAME=retro", "HOME=/home/retro", "TZ=Europe/London", "DEBIAN_FRONTEND=noninteractive", "NEEDRESTART_SUSPEND=1", "GAMESCOPE_VERSION=3.12.5", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"]
wolf-wolf-1  | }
wolf-wolf-1  | 12:16:58.163330790 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/1782870069566224235/Steam/udev/data/c13:84
wolf-wolf-1  | 12:16:58.163469153 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/1782870069566224235/Steam/udev/data/c13:85
wolf-wolf-1  | 12:16:58.163577960 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event20 c 13 84 && chmod 777 /dev/input/event20 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDIwAERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyMy9ldmVudDIwAElEX0lOUFVUPTEASURfSU5QVVRfTU9VU0U9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODQAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTg5ODE4AA==
wolf-wolf-1  | 12:16:58.209594187 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event21 c 13 85 && chmod 777 /dev/input/event21 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDIxAERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyNC9ldmVudDIxAElEX0lOUFVUPTEASURfSU5QVVRfVE9VQ0hQQUQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODUAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTg5ODE4AA==
wolf-wolf-1  | 12:16:58.244738381 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/1782870069566224235/Steam/udev/data/c13:86
wolf-wolf-1  | 12:16:58.244867471 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event22 c 13 86 && chmod 777 /dev/input/event22 && fake-udev -m LklOUFVUX0NMQVNTPWtleWJvYXJkAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDIyAERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyNS9ldmVudDIyAElEX0lOUFVUPTEASURfSU5QVVRfS0VZQk9BUkQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODYAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTg5ODE4AA==
wolf-wolf-1 exited with code 0

Here's a session log of when I receive a UDP port error on launch:

wolf-wolf-1  | 12:31:11.668767081 DEBUG | 10.0.0.35 [GET] HTTPS://10.0.0.9/launch
wolf-wolf-1  | 12:31:11.669022775 DEBUG | Host app state folder: /etc/wolf/14937286610247286775/Steam, creating paths
wolf-wolf-1  | 12:31:11.669443783 DEBUG | [STREAM_SESSION] Create virtual audio sink
wolf-wolf-1  | 12:31:11.673464846 DEBUG | [STREAM_SESSION] Create wayland compositor
wolf-wolf-1  | 12:31:11.673571369 DEBUG | [WAYLAND] Creating wayland display
wolf-wolf-1  | 12:31:11.682773724 DEBUG | [PULSE] Created virtual sink: 4
wolf-wolf-1  | 12:31:11.712636070 DEBUG | [RTSP] received command OPTIONS
wolf-wolf-1  | 12:31:11.716347773 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-1
wolf-wolf-1  | 12:31:11.728017913 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation
wolf-wolf-1  | 12:31:11.728181892 INFO  | Mounting nvidia driver nvidia-driver-vol:/usr/nvidia
wolf-wolf-1  | 12:31:11.729260258 DEBUG | [RTSP] received command DESCRIBE
wolf-wolf-1  | 12:31:11.734292101 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation
wolf-wolf-1  | 12:31:11.734497443 DEBUG | [DOCKER] Using fake-udev, creating /etc/wolf/14937286610247286775/Steam/udev/data
wolf-wolf-1  | 12:31:11.747819040 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 12:31:11.759162748 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 12:31:11.780531658 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 12:31:11.798914598 DEBUG | [RTSP] received command ANNOUNCE
wolf-wolf-1  | 12:31:11.799223080 WARN  | [RTSP] Received unparsable value ("a", "x-nv-aqo")
wolf-wolf-1  | 12:31:11.799371207 DEBUG | [RTSP] Moonlight requested video format HEVC
wolf-wolf-1  | 12:31:11.800392597 WARN  | [RTP] Unable to start RTP server on 48100: bind: Address already in use [system:98 at /usr/include/boost/asio/detail/reactive_socket_service.hpp:161:33 in function 'bind']
wolf-wolf-1  | 12:31:11.800686103 INFO  | RTP server started on port: 48200
wolf-wolf-1  | 12:31:11.801213466 DEBUG | Video session 14937286610247286775, waiting for PING...
wolf-wolf-1  | 12:31:11.801423058 DEBUG | Audio session 14937286610247286775, waiting for PING...
wolf-wolf-1  | 12:31:12.011626033 INFO  | [DOCKER] Starting container: /WolfSteam_14937286610247286775
wolf-wolf-1  | 12:31:12.011807802 DEBUG | [DOCKER] Starting container: {
wolf-wolf-1  |  id: 51d426ba70fb89c8a4d2248946f0e409901959fce161e0075a0c61630d346140
wolf-wolf-1  |  name: /WolfSteam_14937286610247286775
wolf-wolf-1  |  image: ghcr.io/games-on-whales/steam:edge
wolf-wolf-1  |  status: 0
wolf-wolf-1  |  ports: []
wolf-wolf-1  |  mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-1:/tmp/sockets/wayland-1:rw, /etc/wolf/14937286610247286775/Steam:/home/retro:rw, nvidia-driver-vol:/usr/nvidia:rw, /etc/wolf/14937286610247286775/Steam/udev:/run/udev/:rw, /etc/wolf/fake-udev:/usr/bin/fake-udev:ro]
wolf-wolf-1  |  devices: [/dev/dri/card2:/dev/dri/card2:mrw, /dev/dri/renderD129:/dev/dri/renderD129:mrw, /dev/dri/card2:/dev/dri/card2:mrw, /dev/nvidia0:/dev/nvidia0:mrw, /dev/nvidia-modeset:/dev/nvidia-modeset:mrw, /dev/nvidia-uvm:/dev/nvidia-uvm:mrw, /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools:mrw, /dev/nvidiactl:/dev/nvidiactl:mrw]
wolf-wolf-1  |  env: ["PROTON_LOG=1", "RUN_GAMESCOPE=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_14937286610247286775.monitor", "GAMESCOPE_REFRESH=60", "PULSE_SINK=virtual_sink_14937286610247286775", "WAYLAND_DISPLAY=wayland-1", "GAMESCOPE_HEIGHT=720", "PULSE_SERVER=/tmp/sockets/pulse-socket", "XDG_RUNTIME_DIR=/tmp/sockets", "GAMESCOPE_WIDTH=1280", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PUID=1000", "PGID=1000", "UMASK=000", "UNAME=retro", "HOME=/home/retro", "TZ=Europe/London", "DEBIAN_FRONTEND=noninteractive", "NEEDRESTART_SUSPEND=1", "GAMESCOPE_VERSION=3.12.5", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"]
wolf-wolf-1  | }
wolf-wolf-1  | 12:31:12.012503957 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14937286610247286775/Steam/udev/data/c13:81
wolf-wolf-1  | 12:31:12.012625777 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14937286610247286775/Steam/udev/data/c13:82
wolf-wolf-1  | 12:31:12.012736633 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event17 c 13 81 && chmod 777 /dev/input/event17 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE3AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyOS9ldmVudDE3AElEX0lOUFVUPTEASURfSU5QVVRfTU9VU0U9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODEAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTkwNjcyAA==
wolf-wolf-1  | 12:31:12.064908663 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event18 c 13 82 && chmod 777 /dev/input/event18 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE4AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMzMC9ldmVudDE4AElEX0lOUFVUPTEASURfSU5QVVRfVE9VQ0hQQUQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODIAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTkwNjcyAA==
wolf-wolf-1  | 12:31:12.119997538 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14937286610247286775/Steam/udev/data/c13:83
wolf-wolf-1  | 12:31:12.120167384 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event19 c 13 83 && chmod 777 /dev/input/event19 && fake-udev -m LklOUFVUX0NMQVNTPWtleWJvYXJkAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE5AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMzMS9ldmVudDE5AElEX0lOUFVUPTEASURfSU5QVVRfS0VZQk9BUkQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODMAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTkwNjcyAA==
wolf-wolf-1  | 12:31:13.379512460 DEBUG | 10.0.0.157 [GET] HTTP://10.0.0.9/serverinfo
wolf-wolf-1  | 12:31:13.561317481 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/serverinfo
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event17)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event17
wolf-wolf-1  | 12:31:15.685738881 DEBUG | [DOCKER] Container logs: 
wolf-wolf-1  | [2024-06-05 13:31:12] 
wolf-wolf-1  | J[2024-06-05 13:31:12] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
wolf-wolf-1  | 7[2024-06-05 13:31:12] **** Configure default user ****
wolf-wolf-1  | K[2024-06-05 13:31:12] Setting default user uid=1000(retro) gid=1000(retro)
wolf-wolf-1  | 8userdel: ubuntu mail spool (/var/mail/ubuntu) not found
wolf-wolf-1  | Auseradd: warning: the home directory /home/retro already exists.
wolf-wolf-1  | ;useradd: Not copying any file from skel directory into it.
wolf-wolf-1  | +[2024-06-05 13:31:12] Setting umask to 000
wolf-wolf-1  | >[2024-06-05 13:31:12] Ensure retro home directory is writable
wolf-wolf-1  | 9[2024-06-05 13:31:12] Ensure XDG_RUNTIME_DIR is writable
wolf-wolf-1  |  DONE
wolf-wolf-1  | [2024-06-05 13:31:12] 
wolf-wolf-1  | M[2024-06-05 13:31:12] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
wolf-wolf-1  | 2[2024-06-05 13:31:12] **** Configure devices ****
wolf-wolf-1  | )[2024-06-05 13:31:12] Exec device groups
wolf-wolf-1  | L[2024-06-05 13:31:12] Adding user 'retro' to groups: gow-gid-104,video,root
wolf-wolf-1  |  DONE
wolf-wolf-1  | [2024-06-05 13:31:12] 
wolf-wolf-1  | F[2024-06-05 13:31:12] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
wolf-wolf-1  | -[2024-06-05 13:31:12] Nvidia driver detected
wolf-wolf-1  | .[2024-06-05 13:31:12] [nvidia] Add Vulkan ICD
wolf-wolf-1  | 9[2024-06-05 13:31:12] [nvidia] Add EGL external platform
wolf-wolf-1  | .[2024-06-05 13:31:12] [nvidia] Add egl-vendor
wolf-wolf-1  | /[2024-06-05 13:31:12] [nvidia] Add gbm backend
wolf-wolf-1  | [2024-06-05 13:31:12] 
wolf-wolf-1  | [2024-06-05 13:31:12] 
wolf-wolf-1  | K[2024-06-05 13:31:12] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
wolf-wolf-1  | 5[2024-06-05 13:31:12] **** Setting up Gamescope ****
wolf-wolf-1  | [2024-06-05 13:31:12] 
wolf-wolf-1  | L[2024-06-05 13:31:12] [ /etc/cont-init.d/system-services.sh: executing... ]
wolf-wolf-1  | *** DBus started ***
wolf-wolf-1  | *** Bluez started ***
wolf-wolf-1  | 'bluetoothd[169]: Bluetooth daemon 5.72
wolf-wolf-1  | Tbluetoothd[169]: src/adapter.c:adapter_init() Failed to access management interface
wolf-wolf-1  | Jbluetoothd[169]: src/main.c:main() Adapter handling initialization failed
wolf-wolf-1  | *** NetworkManager started ***
wolf-wolf-1  | O[2024-06-05 13:31:12] Launching the container's startup script as user 'retro'
wolf-wolf-1  | 3[2024-06-05 13:31:12] Starting Steam with DISPLAY=
wolf-wolf-1  | IClaimed global gamescope stats session at "/tmp/sockets/gamescope-stats"
wolf-wolf-1  | GNo CAP_SYS_NICE, falling back to regular-priority compute and threads.
wolf-wolf-1  | Performance will be affected.
wolf-wolf-1  | Dwlserver: [backend/headless/backend.c:68] Creating headless backend
wolf-wolf-1  | gamescope failed
wolf-wolf-1  | 
wolf-wolf-1  | 12:31:15.685755410 DEBUG | [DOCKER] Stopping container: /WolfSteam_14937286610247286775
wolf-wolf-1  | 12:31:15.697608515 INFO  | Stopped container: /WolfSteam_14937286610247286775
wolf-wolf-1  | 12:31:15.697828455 DEBUG | [STREAM_SESSION] Remove virtual audio sink
wolf-wolf-1  | 12:31:15.701483896 DEBUG | [PULSE] Removed virtual sink, status: 1
wolf-wolf-1  | 12:31:15.701797202 DEBUG | Deleting WaylandSession 14937286610247286775
wolf-wolf-1  | 12:31:15.701945120 DEBUG | [ENET] Unable to find enet client 14937286610247286775
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event18)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event18
wolf-wolf-1  | 12:31:16.660778850 DEBUG | 10.0.0.157 [GET] HTTP://10.0.0.9/serverinfo
wolf-wolf-1  | 12:31:16.820182561 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/serverinfo
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event19)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event19
wolf-wolf-1  | 12:31:19.889003808 DEBUG | 10.0.0.157 [GET] HTTP://10.0.0.9/serverinfo
wolf-wolf-1  | 12:31:20.023180637 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/serverinfo
<!-- gh-comment-id:2149790984 --> @jefflewis commented on GitHub (Jun 5, 2024): Thanks so much for the help! I know this is one of the more complex ways to run this. My goal is to be able to share this GPU with other services for when it's not used for game streaming (ML, etc). Adding the extra conf for control group 13 seemed to let me actually start up into a game further than I had before! I still see the machine drop its connection and not be able to resume. When I've seen it launch to a black screen, it seems more than a "loading" state, as I've let it sit for 30 minutes and it just stays. I I looked at the host machine's `/dev/input` directory, and it is in fact missing any event > 16, which are all events that fail in the wolf logs. I don't know what those events correlate to or why they are missing on the host. ```sh root@pve1:~# ls -al /dev/input total 0 drwxr-xr-x 4 root root 440 Jun 5 08:17 . drwxr-xr-x 21 root root 5340 Jun 4 13:25 .. drwxr-xr-x 2 root root 80 Jun 4 12:57 by-id drwxr-xr-x 2 root root 100 Jun 4 12:57 by-path crw-rw---- 1 root input 13, 64 Jun 4 12:57 event0 crw-rw---- 1 root input 13, 65 Jun 4 12:57 event1 crw-rw---- 1 root input 13, 74 Jun 4 12:57 event10 crw-rw---- 1 root input 13, 75 Jun 4 12:57 event11 crw-rw---- 1 root input 13, 76 Jun 4 12:57 event12 crw-rw---- 1 root input 13, 77 Jun 4 12:57 event13 crw-rw---- 1 root input 13, 78 Jun 4 12:57 event14 crw-rw---- 1 root input 13, 79 Jun 4 12:57 event15 crw-rw---- 1 root input 13, 80 Jun 4 12:57 event16 crw-rw---- 1 root input 13, 66 Jun 4 12:57 event2 crw-rw---- 1 root input 13, 67 Jun 4 12:57 event3 crw-rw---- 1 root input 13, 68 Jun 4 12:57 event4 crw-rw---- 1 root input 13, 69 Jun 4 12:57 event5 crw-rw---- 1 root input 13, 70 Jun 4 12:57 event6 crw-rw---- 1 root input 13, 71 Jun 4 12:57 event7 crw-rw---- 1 root input 13, 72 Jun 4 12:57 event8 crw-rw---- 1 root input 13, 73 Jun 4 12:57 event9 crw-rw---- 1 root input 13, 63 Jun 4 12:57 mice ``` Here's an example launch session log with the connection being terminated before steam ever launches: ``` wolf-wolf-1 | 12:16:48.602991894 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/launch wolf-wolf-1 | 12:16:48.603068404 DEBUG | Host app state folder: /etc/wolf/1782870069566224235/Steam, creating paths wolf-wolf-1 | 12:16:48.605797557 DEBUG | [STREAM_SESSION] Create virtual audio sink wolf-wolf-1 | 12:16:48.605832738 DEBUG | [STREAM_SESSION] Create wayland compositor wolf-wolf-1 | 12:16:48.605842558 DEBUG | [WAYLAND] Creating wayland display wolf-wolf-1 | 12:16:48.606208759 DEBUG | [PULSE] Created virtual sink: 19 wolf-wolf-1 | 12:16:48.620569332 DEBUG | [RTSP] received command OPTIONS wolf-wolf-1 | 12:16:48.631846205 DEBUG | [RTSP] received command DESCRIBE wolf-wolf-1 | 12:16:48.633157134 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-2 wolf-wolf-1 | 12:16:48.641026876 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation wolf-wolf-1 | 12:16:48.641046713 INFO | Mounting nvidia driver nvidia-driver-vol:/usr/nvidia wolf-wolf-1 | 12:16:48.648119580 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 12:16:48.649374917 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation wolf-wolf-1 | 12:16:48.649412762 DEBUG | [DOCKER] Using fake-udev, creating /etc/wolf/1782870069566224235/Steam/udev/data wolf-wolf-1 | 12:16:48.663863475 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 12:16:48.679351545 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 12:16:48.692810576 DEBUG | [RTSP] received command ANNOUNCE wolf-wolf-1 | 12:16:48.692867929 DEBUG | [RTSP] Moonlight requested video format HEVC wolf-wolf-1 | 12:16:48.692897189 INFO | RTP server started on port: 48101 wolf-wolf-1 | 12:16:48.692961287 INFO | RTP server started on port: 48201 wolf-wolf-1 | 12:16:48.692975070 DEBUG | Video session 1782870069566224235, waiting for PING... wolf-wolf-1 | 12:16:48.693023555 DEBUG | Audio session 1782870069566224235, waiting for PING... wolf-wolf-1 | 12:16:48.704036330 DEBUG | [RTSP] received command PLAY wolf-wolf-1 | 12:16:48.706543945 DEBUG | [ENET] connected client: 10.0.0.157:57838 wolf-wolf-1 | 12:16:48.706763482 DEBUG | RTP server on port: 48101 stopped wolf-wolf-1 | 12:16:48.706839662 DEBUG | Starting video pipeline: appsrc name=wolf_wayland_source is-live=true block=false format=3 stream-type=0 ! queue ! cudaupload ! cudaconvertscale ! wolf-wolf-1 | video/x-raw(memory:CUDAMemory), width=1280, height=720, wolf-wolf-1 | chroma-site=mpeg2, format=NV12, colorimetry=bt601, pixel-aspect-ratio=1/1 wolf-wolf-1 | ! nvh265enc preset=low-latency-hq zerolatency=true gop-size=-1 rc-mode=cbr-ld-hq bitrate=7500 aud=false ! wolf-wolf-1 | h265parse ! wolf-wolf-1 | video/x-h265, profile=main, stream-format=byte-stream wolf-wolf-1 | ! rtpmoonlightpay_video name=moonlight_pay wolf-wolf-1 | payload_size=1392 fec_percentage=20 min_required_fec_packets=2 ! wolf-wolf-1 | udpsink bind-port=48101 host=10.0.0.157 port=56881 sync=true wolf-wolf-1 | wolf-wolf-1 | 12:16:48.788078387 DEBUG | Setting up wolf_wayland_source wolf-wolf-1 | 12:16:48.788787508 WARN | [GSTREAMER] cudaconvertscale - Can't calculate borders ../subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvertscale.c:gst_cuda_base_convert_set_info:1265 wolf-wolf-1 | 12:16:49.184964437 DEBUG | RTP server on port: 48201 stopped wolf-wolf-1 | 12:16:49.185280407 DEBUG | Starting audio pipeline: pulsesrc device="virtual_sink_1782870069566224235.monitor" server="/tmp/sockets/pulse-socket" wolf-wolf-1 | ! audio/x-raw, channels=2 ! opusenc bitrate=48000 bitrate-type=constrained-vbr frame-size=5 bandwidth=fullband wolf-wolf-1 | audio-type=restricted-lowdelay max-payload-size=1400 wolf-wolf-1 | ! rtpmoonlightpay_audio name=moonlight_pay packet_duration=5 encrypt=true wolf-wolf-1 | aes_key="7ebf8a965d4b89de5a3176bc7ff0831b" aes_iv="241433879" ! wolf-wolf-1 | udpsink bind-port=48201 host=10.0.0.157 port=59460 sync=true wolf-wolf-1 | wolf-wolf-1 | 12:16:49.561243103 DEBUG | [GSTREAMER] Forcing IDR wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event20) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event20 wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event21) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event21 wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event22) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event22 wolf-wolf-1 | 12:16:55.061484464 DEBUG | [GSTREAMER] Forcing IDR wolf-wolf-1 | 12:16:58.163225248 INFO | [DOCKER] Starting container: /WolfSteam_1782870069566224235 wolf-wolf-1 | 12:16:58.163286934 DEBUG | [DOCKER] Starting container: { wolf-wolf-1 | id: c8ecfab9644ff0391d8fd5ac186bf23d68565edfa1584b70eb42c43efb73bbe1 wolf-wolf-1 | name: /WolfSteam_1782870069566224235 wolf-wolf-1 | image: ghcr.io/games-on-whales/steam:edge wolf-wolf-1 | status: 0 wolf-wolf-1 | ports: [] wolf-wolf-1 | mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-2:/tmp/sockets/wayland-2:rw, /etc/wolf/1782870069566224235/Steam:/home/retro:rw, nvidia-driver-vol:/usr/nvidia:rw, /etc/wolf/1782870069566224235/Steam/udev:/run/udev/:rw, /etc/wolf/fake-udev:/usr/bin/fake-udev:ro] wolf-wolf-1 | devices: [/dev/dri/card2:/dev/dri/card2:mrw, /dev/dri/renderD129:/dev/dri/renderD129:mrw, /dev/dri/card2:/dev/dri/card2:mrw, /dev/nvidia0:/dev/nvidia0:mrw, /dev/nvidia-modeset:/dev/nvidia-modeset:mrw, /dev/nvidia-uvm:/dev/nvidia-uvm:mrw, /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools:mrw, /dev/nvidiactl:/dev/nvidiactl:mrw] wolf-wolf-1 | env: ["PROTON_LOG=1", "RUN_GAMESCOPE=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_1782870069566224235.monitor", "GAMESCOPE_REFRESH=60", "PULSE_SINK=virtual_sink_1782870069566224235", "WAYLAND_DISPLAY=wayland-2", "GAMESCOPE_HEIGHT=720", "PULSE_SERVER=/tmp/sockets/pulse-socket", "XDG_RUNTIME_DIR=/tmp/sockets", "GAMESCOPE_WIDTH=1280", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PUID=1000", "PGID=1000", "UMASK=000", "UNAME=retro", "HOME=/home/retro", "TZ=Europe/London", "DEBIAN_FRONTEND=noninteractive", "NEEDRESTART_SUSPEND=1", "GAMESCOPE_VERSION=3.12.5", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"] wolf-wolf-1 | } wolf-wolf-1 | 12:16:58.163330790 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/1782870069566224235/Steam/udev/data/c13:84 wolf-wolf-1 | 12:16:58.163469153 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/1782870069566224235/Steam/udev/data/c13:85 wolf-wolf-1 | 12:16:58.163577960 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event20 c 13 84 && chmod 777 /dev/input/event20 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDIwAERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyMy9ldmVudDIwAElEX0lOUFVUPTEASURfSU5QVVRfTU9VU0U9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODQAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTg5ODE4AA== wolf-wolf-1 | 12:16:58.209594187 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event21 c 13 85 && chmod 777 /dev/input/event21 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDIxAERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyNC9ldmVudDIxAElEX0lOUFVUPTEASURfSU5QVVRfVE9VQ0hQQUQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODUAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTg5ODE4AA== wolf-wolf-1 | 12:16:58.244738381 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/1782870069566224235/Steam/udev/data/c13:86 wolf-wolf-1 | 12:16:58.244867471 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event22 c 13 86 && chmod 777 /dev/input/event22 && fake-udev -m LklOUFVUX0NMQVNTPWtleWJvYXJkAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDIyAERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyNS9ldmVudDIyAElEX0lOUFVUPTEASURfSU5QVVRfS0VZQk9BUkQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODYAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTg5ODE4AA== wolf-wolf-1 exited with code 0 ``` Here's a session log of when I receive a UDP port error on launch: ``` wolf-wolf-1 | 12:31:11.668767081 DEBUG | 10.0.0.35 [GET] HTTPS://10.0.0.9/launch wolf-wolf-1 | 12:31:11.669022775 DEBUG | Host app state folder: /etc/wolf/14937286610247286775/Steam, creating paths wolf-wolf-1 | 12:31:11.669443783 DEBUG | [STREAM_SESSION] Create virtual audio sink wolf-wolf-1 | 12:31:11.673464846 DEBUG | [STREAM_SESSION] Create wayland compositor wolf-wolf-1 | 12:31:11.673571369 DEBUG | [WAYLAND] Creating wayland display wolf-wolf-1 | 12:31:11.682773724 DEBUG | [PULSE] Created virtual sink: 4 wolf-wolf-1 | 12:31:11.712636070 DEBUG | [RTSP] received command OPTIONS wolf-wolf-1 | 12:31:11.716347773 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-1 wolf-wolf-1 | 12:31:11.728017913 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation wolf-wolf-1 | 12:31:11.728181892 INFO | Mounting nvidia driver nvidia-driver-vol:/usr/nvidia wolf-wolf-1 | 12:31:11.729260258 DEBUG | [RTSP] received command DESCRIBE wolf-wolf-1 | 12:31:11.734292101 DEBUG | /dev/dri/renderD129 vendor: NVIDIA Corporation wolf-wolf-1 | 12:31:11.734497443 DEBUG | [DOCKER] Using fake-udev, creating /etc/wolf/14937286610247286775/Steam/udev/data wolf-wolf-1 | 12:31:11.747819040 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 12:31:11.759162748 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 12:31:11.780531658 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 12:31:11.798914598 DEBUG | [RTSP] received command ANNOUNCE wolf-wolf-1 | 12:31:11.799223080 WARN | [RTSP] Received unparsable value ("a", "x-nv-aqo") wolf-wolf-1 | 12:31:11.799371207 DEBUG | [RTSP] Moonlight requested video format HEVC wolf-wolf-1 | 12:31:11.800392597 WARN | [RTP] Unable to start RTP server on 48100: bind: Address already in use [system:98 at /usr/include/boost/asio/detail/reactive_socket_service.hpp:161:33 in function 'bind'] wolf-wolf-1 | 12:31:11.800686103 INFO | RTP server started on port: 48200 wolf-wolf-1 | 12:31:11.801213466 DEBUG | Video session 14937286610247286775, waiting for PING... wolf-wolf-1 | 12:31:11.801423058 DEBUG | Audio session 14937286610247286775, waiting for PING... wolf-wolf-1 | 12:31:12.011626033 INFO | [DOCKER] Starting container: /WolfSteam_14937286610247286775 wolf-wolf-1 | 12:31:12.011807802 DEBUG | [DOCKER] Starting container: { wolf-wolf-1 | id: 51d426ba70fb89c8a4d2248946f0e409901959fce161e0075a0c61630d346140 wolf-wolf-1 | name: /WolfSteam_14937286610247286775 wolf-wolf-1 | image: ghcr.io/games-on-whales/steam:edge wolf-wolf-1 | status: 0 wolf-wolf-1 | ports: [] wolf-wolf-1 | mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-1:/tmp/sockets/wayland-1:rw, /etc/wolf/14937286610247286775/Steam:/home/retro:rw, nvidia-driver-vol:/usr/nvidia:rw, /etc/wolf/14937286610247286775/Steam/udev:/run/udev/:rw, /etc/wolf/fake-udev:/usr/bin/fake-udev:ro] wolf-wolf-1 | devices: [/dev/dri/card2:/dev/dri/card2:mrw, /dev/dri/renderD129:/dev/dri/renderD129:mrw, /dev/dri/card2:/dev/dri/card2:mrw, /dev/nvidia0:/dev/nvidia0:mrw, /dev/nvidia-modeset:/dev/nvidia-modeset:mrw, /dev/nvidia-uvm:/dev/nvidia-uvm:mrw, /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools:mrw, /dev/nvidiactl:/dev/nvidiactl:mrw] wolf-wolf-1 | env: ["PROTON_LOG=1", "RUN_GAMESCOPE=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_14937286610247286775.monitor", "GAMESCOPE_REFRESH=60", "PULSE_SINK=virtual_sink_14937286610247286775", "WAYLAND_DISPLAY=wayland-1", "GAMESCOPE_HEIGHT=720", "PULSE_SERVER=/tmp/sockets/pulse-socket", "XDG_RUNTIME_DIR=/tmp/sockets", "GAMESCOPE_WIDTH=1280", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PUID=1000", "PGID=1000", "UMASK=000", "UNAME=retro", "HOME=/home/retro", "TZ=Europe/London", "DEBIAN_FRONTEND=noninteractive", "NEEDRESTART_SUSPEND=1", "GAMESCOPE_VERSION=3.12.5", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"] wolf-wolf-1 | } wolf-wolf-1 | 12:31:12.012503957 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14937286610247286775/Steam/udev/data/c13:81 wolf-wolf-1 | 12:31:12.012625777 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14937286610247286775/Steam/udev/data/c13:82 wolf-wolf-1 | 12:31:12.012736633 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event17 c 13 81 && chmod 777 /dev/input/event17 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE3AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMyOS9ldmVudDE3AElEX0lOUFVUPTEASURfSU5QVVRfTU9VU0U9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODEAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTkwNjcyAA== wolf-wolf-1 | 12:31:12.064908663 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event18 c 13 82 && chmod 777 /dev/input/event18 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE4AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMzMC9ldmVudDE4AElEX0lOUFVUPTEASURfSU5QVVRfVE9VQ0hQQUQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODIAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTkwNjcyAA== wolf-wolf-1 | 12:31:12.119997538 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14937286610247286775/Steam/udev/data/c13:83 wolf-wolf-1 | 12:31:12.120167384 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event19 c 13 83 && chmod 777 /dev/input/event19 && fake-udev -m LklOUFVUX0NMQVNTPWtleWJvYXJkAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE5AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDMzMS9ldmVudDE5AElEX0lOUFVUPTEASURfSU5QVVRfS0VZQk9BUkQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODMAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NTkwNjcyAA== wolf-wolf-1 | 12:31:13.379512460 DEBUG | 10.0.0.157 [GET] HTTP://10.0.0.9/serverinfo wolf-wolf-1 | 12:31:13.561317481 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/serverinfo wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event17) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event17 wolf-wolf-1 | 12:31:15.685738881 DEBUG | [DOCKER] Container logs: wolf-wolf-1 | [2024-06-05 13:31:12] wolf-wolf-1 | J[2024-06-05 13:31:12] [ /etc/cont-init.d/10-setup_user.sh: executing... ] wolf-wolf-1 | 7[2024-06-05 13:31:12] **** Configure default user **** wolf-wolf-1 | K[2024-06-05 13:31:12] Setting default user uid=1000(retro) gid=1000(retro) wolf-wolf-1 | 8userdel: ubuntu mail spool (/var/mail/ubuntu) not found wolf-wolf-1 | Auseradd: warning: the home directory /home/retro already exists. wolf-wolf-1 | ;useradd: Not copying any file from skel directory into it. wolf-wolf-1 | +[2024-06-05 13:31:12] Setting umask to 000 wolf-wolf-1 | >[2024-06-05 13:31:12] Ensure retro home directory is writable wolf-wolf-1 | 9[2024-06-05 13:31:12] Ensure XDG_RUNTIME_DIR is writable wolf-wolf-1 | DONE wolf-wolf-1 | [2024-06-05 13:31:12] wolf-wolf-1 | M[2024-06-05 13:31:12] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] wolf-wolf-1 | 2[2024-06-05 13:31:12] **** Configure devices **** wolf-wolf-1 | )[2024-06-05 13:31:12] Exec device groups wolf-wolf-1 | L[2024-06-05 13:31:12] Adding user 'retro' to groups: gow-gid-104,video,root wolf-wolf-1 | DONE wolf-wolf-1 | [2024-06-05 13:31:12] wolf-wolf-1 | F[2024-06-05 13:31:12] [ /etc/cont-init.d/30-nvidia.sh: executing... ] wolf-wolf-1 | -[2024-06-05 13:31:12] Nvidia driver detected wolf-wolf-1 | .[2024-06-05 13:31:12] [nvidia] Add Vulkan ICD wolf-wolf-1 | 9[2024-06-05 13:31:12] [nvidia] Add EGL external platform wolf-wolf-1 | .[2024-06-05 13:31:12] [nvidia] Add egl-vendor wolf-wolf-1 | /[2024-06-05 13:31:12] [nvidia] Add gbm backend wolf-wolf-1 | [2024-06-05 13:31:12] wolf-wolf-1 | [2024-06-05 13:31:12] wolf-wolf-1 | K[2024-06-05 13:31:12] [ /etc/cont-init.d/init-gamescope.sh: executing... ] wolf-wolf-1 | 5[2024-06-05 13:31:12] **** Setting up Gamescope **** wolf-wolf-1 | [2024-06-05 13:31:12] wolf-wolf-1 | L[2024-06-05 13:31:12] [ /etc/cont-init.d/system-services.sh: executing... ] wolf-wolf-1 | *** DBus started *** wolf-wolf-1 | *** Bluez started *** wolf-wolf-1 | 'bluetoothd[169]: Bluetooth daemon 5.72 wolf-wolf-1 | Tbluetoothd[169]: src/adapter.c:adapter_init() Failed to access management interface wolf-wolf-1 | Jbluetoothd[169]: src/main.c:main() Adapter handling initialization failed wolf-wolf-1 | *** NetworkManager started *** wolf-wolf-1 | O[2024-06-05 13:31:12] Launching the container's startup script as user 'retro' wolf-wolf-1 | 3[2024-06-05 13:31:12] Starting Steam with DISPLAY= wolf-wolf-1 | IClaimed global gamescope stats session at "/tmp/sockets/gamescope-stats" wolf-wolf-1 | GNo CAP_SYS_NICE, falling back to regular-priority compute and threads. wolf-wolf-1 | Performance will be affected. wolf-wolf-1 | Dwlserver: [backend/headless/backend.c:68] Creating headless backend wolf-wolf-1 | gamescope failed wolf-wolf-1 | wolf-wolf-1 | 12:31:15.685755410 DEBUG | [DOCKER] Stopping container: /WolfSteam_14937286610247286775 wolf-wolf-1 | 12:31:15.697608515 INFO | Stopped container: /WolfSteam_14937286610247286775 wolf-wolf-1 | 12:31:15.697828455 DEBUG | [STREAM_SESSION] Remove virtual audio sink wolf-wolf-1 | 12:31:15.701483896 DEBUG | [PULSE] Removed virtual sink, status: 1 wolf-wolf-1 | 12:31:15.701797202 DEBUG | Deleting WaylandSession 14937286610247286775 wolf-wolf-1 | 12:31:15.701945120 DEBUG | [ENET] Unable to find enet client 14937286610247286775 wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event18) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event18 wolf-wolf-1 | 12:31:16.660778850 DEBUG | 10.0.0.157 [GET] HTTP://10.0.0.9/serverinfo wolf-wolf-1 | 12:31:16.820182561 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/serverinfo wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event19) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event19 wolf-wolf-1 | 12:31:19.889003808 DEBUG | 10.0.0.157 [GET] HTTP://10.0.0.9/serverinfo wolf-wolf-1 | 12:31:20.023180637 DEBUG | 10.0.0.157 [GET] HTTPS://10.0.0.9/serverinfo ```
Author
Owner

@ABeltramo commented on GitHub (Jun 5, 2024):

I think there are two different issues here:

UDP bind error

I've just pushed an update that should fix this. Make sure to update the Wolf Docker image by downloading the latest with:

docker pull ghcr.io/games-on-whales/wolf:stable

Virtual devices

There's something in that LXC container that is blocking creating and/or accessing the virtual devices that Wolf needs to create in order to relay the remote inputs.

I looked at the host machine's /dev/input directory, and it is in fact missing any event > 16, which are all events that fail in the wolf logs. I don't know what those events correlate to or why they are missing on the host.

If they are missing from the host it probably means that Wolf is not able to access /dev/uinput (notice the u): normally when you start a session from Moonlight, Wolf will create the necessary virtual devices (mouse, keyboard, joypad, ...) and they'll be visible under /dev/input but in your case you get the error message:

libinput error: libinput bug: udev device never initialized

Now one thing I noticed is that you've missed the LXC mount for /run/udev, which is required, but I don't think that's going to fix this. We have to figure out why uinput doesn't work inside your container..

Can I suggest trying out with a privileged LXC container first and then, if that works, trying to drop the privileges?

<!-- gh-comment-id:2150818906 --> @ABeltramo commented on GitHub (Jun 5, 2024): I think there are two different issues here: ## UDP bind error I've just pushed an update that should fix this. Make sure to update the Wolf Docker image by downloading the latest with: ``` docker pull ghcr.io/games-on-whales/wolf:stable ``` ## Virtual devices There's something in that LXC container that is blocking creating and/or accessing the virtual devices that Wolf needs to create in order to relay the remote inputs. > I looked at the host machine's /dev/input directory, and it is in fact missing any event > 16, which are all events that fail in the wolf logs. I don't know what those events correlate to or why they are missing on the host. If they are missing from the host it probably means that Wolf is not able to access `/dev/uinput` (notice the `u`): normally when you start a session from Moonlight, Wolf will create the necessary virtual devices (mouse, keyboard, joypad, ...) and they'll be visible under `/dev/input` but in your case you get the error message: ``` libinput error: libinput bug: udev device never initialized ``` Now one thing I noticed is that you've missed the LXC mount for `/run/udev`, which is required, but I don't think that's going to fix this. We have to figure out why `uinput` doesn't work inside your container.. Can I suggest trying out with a **privileged** LXC container first and then, if that works, trying to drop the privileges?
Author
Owner

@jefflewis commented on GitHub (Jun 5, 2024):

The latest stable container image seems to have cleared up the UDP errors, thanks!

I am running a privileged container (I planned to try it unprivileged once I got a known container working 😅)

I may have mispoken for the "host". By that I meant physical Proxmox install is missing those inputs. Without them in the root Debian install, they are naturally missing from being passed into the container.

For missing /dev/uinput... that is odd. That file is mounted in the container config and has the appropriate major allow group. I'll note that when running on an android tablet with a gamepad, the gamepad controls do control the steam library UI. I've not yet gotten any game past the launch screens, but it feels so close.

I'd love to be able to add a setup wiki page for running wolf on proxmox, as if this can get to be working well feels very slick. I really love all that you've done with wolf and gow ❤️

<!-- gh-comment-id:2151007103 --> @jefflewis commented on GitHub (Jun 5, 2024): The latest stable container image seems to have cleared up the UDP errors, thanks! I am running a privileged container (I planned to try it unprivileged once I got a known container working 😅) I may have mispoken for the "host". By that I meant physical Proxmox install is missing those inputs. Without them in the root Debian install, they are naturally missing from being passed into the container. For missing `/dev/uinput`... that is odd. That file is mounted in the container config and has the appropriate major allow group. I'll note that when running on an android tablet with a gamepad, the gamepad controls do control the steam library UI. I've not yet gotten any game past the launch screens, but it feels _so_ close. I'd love to be able to add a setup wiki page for running wolf on proxmox, as if this can get to be working well feels _very_ slick. I really love all that you've done with `wolf` and `gow` ❤️
Author
Owner

@jefflewis commented on GitHub (Jun 5, 2024):

Here's a log with the updated container and mounted /run/udev directory. I started the container and immediately attempted to run with a connected moonlight client. The connection started and then terminated with code -1 on the client display, and with these associated server logs.

wolf-wolf-1  | [2024-06-05 22:59:32] 
wolf-wolf-1  | [2024-06-05 22:59:32] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
wolf-wolf-1  | [2024-06-05 22:59:32] **** Configure default user ****
wolf-wolf-1  | [2024-06-05 22:59:32] Container running as root. Nothing to do.
wolf-wolf-1  | [2024-06-05 22:59:32] DONE
wolf-wolf-1  | [2024-06-05 22:59:32] 
wolf-wolf-1  | [2024-06-05 22:59:32] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
wolf-wolf-1  | [2024-06-05 22:59:32] **** Configure devices ****
wolf-wolf-1  | [2024-06-05 22:59:32] Exec device groups
wolf-wolf-1  | [2024-06-05 22:59:32] Adding user 'root' to groups: messagebus,root
wolf-wolf-1  | [2024-06-05 22:59:32] DONE
wolf-wolf-1  | [2024-06-05 22:59:32] 
wolf-wolf-1  | [2024-06-05 22:59:32] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
wolf-wolf-1  | [2024-06-05 22:59:32] 
wolf-wolf-1  | [2024-06-05 22:59:32] 
wolf-wolf-1  | [2024-06-05 22:59:32] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
wolf-wolf-1  | [2024-06-05 22:59:32] **** Setting up Gamescope ****
wolf-wolf-1  | [2024-06-05 22:59:32] Launching the container's startup script as user 'root'
wolf-wolf-1  | 0:00:00.009385205   138 0x57f8983b1d80 WARN                 default gstvaapi.c:231:plugin_init: Cannot create a VA display
wolf-wolf-1  | 0:00:00.027512692   138 0x57f8983b1d80 WARN      GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
wolf-wolf-1  | 0:00:00.056010479   138 0x57f8983b1d80 WARN               vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: unknown libva error
wolf-wolf-1  | libva info: VA-API version 1.20.0
wolf-wolf-1  | libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
wolf-wolf-1  | libva info: Found init function __vaDriverInit_1_20
wolf-wolf-1  | libva info: va_openDriver() returns 0
wolf-wolf-1  | 0:00:00.100863608   138 0x57f8983b1d80 WARN                 default ges-meta-container.c:236:_set_value:<GESAsset@0x57f898fcafb0> Could not set value on item: format-version
wolf-wolf-1  | 0:00:00.100880203   138 0x57f8983b1d80 WARN                 default ges-meta-container.c:236:_set_value:<GESAsset@0x57f8987c5470> Could not set value on item: format-version
wolf-wolf-1  | 0:00:00.100886291   138 0x57f8983b1d80 WARN                 default ges-meta-container.c:236:_set_value:<GESAsset@0x57f8987c5a50> Could not set value on item: format-version
wolf-wolf-1  | 0:00:00.101235724   138 0x57f8983b1d80 WARN               structure gststructure.c:2334:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
wolf-wolf-1  | 0:00:00.128988250   138 0x57f8983b1d80 WARN               vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm3> vaInitialize: unknown libva error
wolf-wolf-1  | 0:00:00.167945231   138 0x57f8983b1d80 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
wolf-wolf-1  | 0:00:00.168024286   138 0x57f8983b1d80 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
wolf-wolf-1  | 0:00:00.168092991   138 0x57f8983b1d80 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
wolf-wolf-1  | 0:00:00.170253699   138 0x57f8983b1d80 WARN              cudaloader gstcudaloader.c:169:gst_cuda_load_library: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory
wolf-wolf-1  | 0:00:00.170264236   138 0x57f8983b1d80 WARN                 nvcodec plugin.c:94:plugin_init: Failed to load cuda library
wolf-wolf-1  | 0:00:00.171671127   138 0x57f8983b1d80 WARN      GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise
wolf-wolf-1  | 0:00:00.173227875     1 0x6312cbbd2880 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
wolf-wolf-1  | 0:00:00.172445233   138 0x57f8983b1d80 WARN      GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
wolf-wolf-1  | 0:00:00.174358726   138 0x57f8983b1d80 WARN      GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise
wolf-wolf-1  | 0:00:00.178258417     1 0x6312cbbd2880 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
wolf-wolf-1  | 21:59:32.502100427 INFO  | Gstreamer version: 1.22.7-0
wolf-wolf-1  | 21:59:32.502620807 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
wolf-wolf-1  | 21:59:32.502639402 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
wolf-wolf-1  | 0:00:00.197511555     1 0x6312cbbd2880 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "nvh264enc"!
wolf-wolf-1  | 0:00:00.202697989     1 0x6312cbbd2880 WARN               vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: unknown libva error
wolf-wolf-1  | libva info: VA-API version 1.20.0
wolf-wolf-1  | libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
wolf-wolf-1  | libva info: Found init function __vaDriverInit_1_20
wolf-wolf-1  | libva info: va_openDriver() returns 0
wolf-wolf-1  | 0:00:00.235484814     1 0x6312cbbd2880 WARN               vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm3> vaInitialize: unknown libva error
wolf-wolf-1  | 21:59:32.582727372 INFO  | Selected H264 encoder: qsv
wolf-wolf-1  | 0:00:00.266739674     1 0x6312cbbd2880 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "nvh265enc"!
wolf-wolf-1  | 21:59:32.582833239 INFO  | Selected HEVC encoder: qsv
wolf-wolf-1  | 21:59:32.583319799 DEBUG | Loading server certificates from disk: /etc/wolf/cfg/cert.pem /etc/wolf/cfg/key.pem
wolf-wolf-1  | XDG_RUNTIME_DIR (/tmp/sockets) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
wolf-wolf-1  | 21:59:32.584289755 DEBUG | [PULSE] Connecting...
wolf-wolf-1  | 21:59:32.584325229 DEBUG | [PULSE] Context failed
wolf-wolf-1  | 21:59:32.584331060 WARN  | [PULSE] Unable to connect, Access denied
wolf-wolf-1  | 21:59:32.585532818 INFO  | HTTPS server listening on port: 47984 
wolf-wolf-1  | 21:59:32.585581331 INFO  | RTSP server started on port: 48010
wolf-wolf-1  | 21:59:32.585620624 INFO  | Starting PulseAudio docker container
wolf-wolf-1  | 21:59:32.585829004 INFO  | HTTP server listening on port: 47989 
wolf-wolf-1  | 21:59:32.586240304 WARN  | [DOCKER] Container WolfPulseAudio already present, removing first
wolf-wolf-1  | 21:59:32.586290837 INFO  | Control server started on port: 47999
wolf-wolf-1  | 21:59:37.423338824 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:37.442336138 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:37.446177807 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:37.449550508 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:37.462442403 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/applist
wolf-wolf-1  | 21:59:37.469193613 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:37.469204876 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:37.481402554 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:39.093541514 DEBUG | [PULSE] Connecting...
wolf-wolf-1  | 21:59:39.094028014 DEBUG | [PULSE] Pulse connection ready
wolf-wolf-1  | 21:59:39.494129519 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:39.527234154 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:40.055703726 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo
wolf-wolf-1  | 21:59:40.072419078 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/launch
wolf-wolf-1  | 21:59:40.072487611 DEBUG | Host app state folder: /etc/wolf/14820504867156543389/Steam, creating paths
wolf-wolf-1  | 21:59:40.073294291 DEBUG | [STREAM_SESSION] Create virtual audio sink
wolf-wolf-1  | 21:59:40.073365623 INFO  | RTP server started on port: 48200
wolf-wolf-1  | 21:59:40.073436597 INFO  | RTP server started on port: 48100
wolf-wolf-1  | 21:59:40.073544581 DEBUG | [STREAM_SESSION] Create wayland compositor
wolf-wolf-1  | 21:59:40.073555095 DEBUG | [WAYLAND] Creating wayland display
wolf-wolf-1  | 21:59:40.074014780 DEBUG | [PULSE] Created virtual sink: 3
wolf-wolf-1  | 21:59:40.085770090 DEBUG | [RTSP] received command OPTIONS
wolf-wolf-1  | 21:59:40.090013942 DEBUG | [RTSP] received command DESCRIBE
wolf-wolf-1  | 21:59:40.096758785 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 21:59:40.106370729 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 21:59:40.112910215 DEBUG | [RTSP] received command SETUP
wolf-wolf-1  | 21:59:40.118985545 DEBUG | [RTSP] received command ANNOUNCE
wolf-wolf-1  | 21:59:40.119049727 DEBUG | [RTSP] Moonlight requested video format HEVC
wolf-wolf-1  | 21:59:40.119184185 DEBUG | Video session 14820504867156543389, waiting for PING...
wolf-wolf-1  | 21:59:40.119292163 DEBUG | Audio session 14820504867156543389, waiting for PING...
wolf-wolf-1  | 21:59:40.123922404 DEBUG | [RTSP] received command PLAY
wolf-wolf-1  | 21:59:40.125611952 DEBUG | [ENET] connected client: 10.0.20.204:34295
wolf-wolf-1  | 21:59:40.145043885 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-1
wolf-wolf-1  | 21:59:40.145251026 DEBUG | Starting video pipeline: appsrc name=wolf_wayland_source is-live=true block=false format=3 stream-type=0 ! queue !
wolf-wolf-1  | vapostproc !
wolf-wolf-1  | video/x-raw(memory:VAMemory), chroma-site=mpeg2, width=1920,
wolf-wolf-1  | height=1080, format=NV12, colorimetry=bt601
wolf-wolf-1  |  ! qsvh265enc low-latency=true b-frames=0 gop-size=0 idr-interval=1 ref-frames=1 bitrate=100000 !
wolf-wolf-1  | h265parse !
wolf-wolf-1  | video/x-h265, profile=main, stream-format=byte-stream
wolf-wolf-1  |  ! rtpmoonlightpay_video name=moonlight_pay
wolf-wolf-1  | payload_size=1024 fec_percentage=20 min_required_fec_packets=2 !
wolf-wolf-1  | udpsink bind-port=48100 host=10.0.20.204 port=53141 sync=true
wolf-wolf-1  | 
wolf-wolf-1  | 21:59:40.145314513 DEBUG | /proc/driver/nvidia/gpus/0000:00:02.0/information doesn't exists, this might be normal if the GPU is not Nvidia
wolf-wolf-1  | 21:59:40.152484499 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
wolf-wolf-1  | 21:59:40.169315772 DEBUG | Setting up wolf_wayland_source
wolf-wolf-1  | 21:59:40.172106920 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
wolf-wolf-1  | 21:59:40.172416800 DEBUG | [DOCKER] Using fake-udev, creating /etc/wolf/14820504867156543389/Steam/udev/data
wolf-wolf-1  | 21:59:40.174538532 DEBUG | [WAYLAND] Start feeding app-src
wolf-wolf-1  | 21:59:40.631811001 DEBUG | Starting audio pipeline: pulsesrc device="virtual_sink_14820504867156543389.monitor" server="/tmp/sockets/pulse-socket"
wolf-wolf-1  |  ! audio/x-raw, channels=2 ! opusenc bitrate=48000 bitrate-type=constrained-vbr frame-size=5 bandwidth=fullband
wolf-wolf-1  | audio-type=restricted-lowdelay max-payload-size=1400
wolf-wolf-1  |  ! rtpmoonlightpay_audio name=moonlight_pay packet_duration=5 encrypt=true
wolf-wolf-1  | aes_key="6D9100B578A1A830DD190EF8386AD22F" aes_iv="-857191049"  !
wolf-wolf-1  | udpsink bind-port=48200 host=10.0.20.204 port=61444 sync=true
wolf-wolf-1  | 
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event17)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event17
wolf-wolf-1  | 21:59:44.074931020 DEBUG | RTP server on port: 48100 stopped
wolf-wolf-1  | 21:59:44.075358761 DEBUG | RTP server on port: 48200 stopped
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event18)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event18
wolf-wolf-1  | libinput error: libinput bug: udev device never initialized (/dev/input/event19)
wolf-wolf-1  | libinput error: client bug: Invalid path /dev/input/event19
wolf-wolf-1  | 21:59:48.246218354 DEBUG | [GSTREAMER] Forcing IDR
wolf-wolf-1  | 21:59:48.753205805 INFO  | [DOCKER] Starting container: /WolfSteam_14820504867156543389
wolf-wolf-1  | 21:59:48.753725113 DEBUG | [DOCKER] Starting container: {
wolf-wolf-1  |  id: 51d250ad79785a0b6018b7d57a0750ae3254cc5dcc6f89a8cd58cb4c3ba8fd14
wolf-wolf-1  |  name: /WolfSteam_14820504867156543389
wolf-wolf-1  |  image: ghcr.io/games-on-whales/steam:edge
wolf-wolf-1  |  status: 0
wolf-wolf-1  |  ports: []
wolf-wolf-1  |  mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-1:/tmp/sockets/wayland-1:rw, /etc/wolf/14820504867156543389/Steam:/home/retro:rw, /etc/wolf/14820504867156543389/Steam/udev:/run/udev/:rw, /etc/wolf/fake-udev:/usr/bin/fake-udev:ro]
wolf-wolf-1  |  devices: [/dev/dri/card1:/dev/dri/card1:mrw, /dev/dri/renderD128:/dev/dri/renderD128:mrw, /dev/dri/card1:/dev/dri/card1:mrw]
wolf-wolf-1  |  env: ["PROTON_LOG=1", "RUN_GAMESCOPE=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_14820504867156543389.monitor", "GAMESCOPE_REFRESH=60", "INTEL_DEBUG=norbc", "PULSE_SINK=virtual_sink_14820504867156543389", "WAYLAND_DISPLAY=wayland-1", "GAMESCOPE_HEIGHT=1080", "PULSE_SERVER=/tmp/sockets/pulse-socket", "XDG_RUNTIME_DIR=/tmp/sockets", "GAMESCOPE_WIDTH=1920", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PUID=1000", "PGID=1000", "UMASK=000", "UNAME=retro", "HOME=/home/retro", "TZ=Europe/London", "DEBIAN_FRONTEND=noninteractive", "NEEDRESTART_SUSPEND=1", "GAMESCOPE_VERSION=3.12.5", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"]
wolf-wolf-1  | }
wolf-wolf-1  | 21:59:48.754321646 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14820504867156543389/Steam/udev/data/c13:81
wolf-wolf-1  | 21:59:48.754529415 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14820504867156543389/Steam/udev/data/c13:82
wolf-wolf-1  | 21:59:48.754700025 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event17 c 13 81 && chmod 777 /dev/input/event17 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE3AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDQ5OC9ldmVudDE3AElEX0lOUFVUPTEASURfSU5QVVRfTU9VU0U9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODEAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NjI0Nzg4AA==
wolf-wolf-1  | 21:59:48.808000208 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event18 c 13 82 && chmod 777 /dev/input/event18 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE4AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDQ5OS9ldmVudDE4AElEX0lOUFVUPTEASURfSU5QVVRfVE9VQ0hQQUQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODIAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NjI0Nzg4AA==
wolf-wolf-1  | 21:59:48.844326878 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14820504867156543389/Steam/udev/data/c13:83
wolf-wolf-1  | 21:59:48.844474050 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event19 c 13 83 && chmod 777 /dev/input/event19 && fake-udev -m LklOUFVUX0NMQVNTPWtleWJvYXJkAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE5AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDUwMC9ldmVudDE5AElEX0lOUFVUPTEASURfSU5QVVRfS0VZQk9BUkQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODMAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NjI0Nzg4AA==
wolf-wolf-1  | 22:00:04.452330296 DEBUG | [DOCKER] Container logs: 
wolf-wolf-1  | [2024-06-05 22:59:48] 
wolf-wolf-1  | J[2024-06-05 22:59:48] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
wolf-wolf-1  | 7[2024-06-05 22:59:48] **** Configure default user ****
wolf-wolf-1  | K[2024-06-05 22:59:48] Setting default user uid=1000(retro) gid=1000(retro)
wolf-wolf-1  | 8userdel: ubuntu mail spool (/var/mail/ubuntu) not found
wolf-wolf-1  | Auseradd: warning: the home directory /home/retro already exists.
wolf-wolf-1  | ;useradd: Not copying any file from skel directory into it.
wolf-wolf-1  | +[2024-06-05 22:59:48] Setting umask to 000
wolf-wolf-1  | >[2024-06-05 22:59:48] Ensure retro home directory is writable
wolf-wolf-1  | 9[2024-06-05 22:59:48] Ensure XDG_RUNTIME_DIR is writable
wolf-wolf-1  |  DONE
wolf-wolf-1  | [2024-06-05 22:59:48] 
wolf-wolf-1  | M[2024-06-05 22:59:48] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
wolf-wolf-1  | 2[2024-06-05 22:59:48] **** Configure devices ****
wolf-wolf-1  | )[2024-06-05 22:59:48] Exec device groups
wolf-wolf-1  | :[2024-06-05 22:59:48] Path '/dev/nvidia*' is not present.
wolf-wolf-1  | L[2024-06-05 22:59:48] Adding user 'retro' to groups: gow-gid-104,video,root
wolf-wolf-1  |  DONE
wolf-wolf-1  | [2024-06-05 22:59:49] 
wolf-wolf-1  | F[2024-06-05 22:59:49] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
wolf-wolf-1  | [2024-06-05 22:59:49] 
wolf-wolf-1  | [2024-06-05 22:59:49] 
wolf-wolf-1  | K[2024-06-05 22:59:49] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
wolf-wolf-1  | 5[2024-06-05 22:59:49] **** Setting up Gamescope ****
wolf-wolf-1  | [2024-06-05 22:59:49] 
wolf-wolf-1  | L[2024-06-05 22:59:49] [ /etc/cont-init.d/system-services.sh: executing... ]
wolf-wolf-1  | *** DBus started ***
wolf-wolf-1  | *** Bluez started ***
wolf-wolf-1  | 'bluetoothd[131]: Bluetooth daemon 5.72
wolf-wolf-1  | Tbluetoothd[131]: src/adapter.c:adapter_init() Failed to access management interface
wolf-wolf-1  | Jbluetoothd[131]: src/main.c:main() Adapter handling initialization failed
wolf-wolf-1  | *** NetworkManager started ***
wolf-wolf-1  | O[2024-06-05 22:59:49] Launching the container's startup script as user 'retro'
wolf-wolf-1  | 3[2024-06-05 22:59:49] Starting Steam with DISPLAY=
wolf-wolf-1  | IClaimed global gamescope stats session at "/tmp/sockets/gamescope-stats"
wolf-wolf-1  | GNo CAP_SYS_NICE, falling back to regular-priority compute and threads.
wolf-wolf-1  | Performance will be affected.
wolf-wolf-1  | Dwlserver: [backend/headless/backend.c:68] Creating headless backend
wolf-wolf-1  | :Couldn't open plugin directory: No such file or directory
wolf-wolf-1  | 1No plugins found, falling back on no decorations
wolf-wolf-1  | pvulkan: physical device 8086:a7a0 compute queue doesn't support presenting on our surface, using graphics queue
wolf-wolf-1  | Nvulkan: selecting physical device 'Intel(R) Graphics (RPL-P)': queue family 0
wolf-wolf-1  | 6vulkan: physical device supports DRM format modifiers
wolf-wolf-1  | 2vulkan: supported DRM formats for sampling usage:
wolf-wolf-1  | vulkan:   AR24 (0x34325241)
wolf-wolf-1  | vulkan:   XR24 (0x34325258)
wolf-wolf-1  | vulkan:   AB24 (0x34324241)
wolf-wolf-1  | vulkan:   XB24 (0x34324258)
wolf-wolf-1  | vulkan:   NV12 (0x3231564E)
wolf-wolf-1  | vulkan:   AB4H (0x48344241)
wolf-wolf-1  | vulkan:   XB4H (0x48344258)
wolf-wolf-1  | vulkan:   AB48 (0x38344241)
wolf-wolf-1  | vulkan:   XB48 (0x38344258)
wolf-wolf-1  | vulkan:   AB30 (0x30334241)
wolf-wolf-1  | vulkan:   XB30 (0x30334258)
wolf-wolf-1  | vulkan:   AR30 (0x30335241)
wolf-wolf-1  | vulkan:   XR30 (0x30335258)
wolf-wolf-1  | >wlserver: Running compositor on wayland display 'gamescope-0'
wolf-wolf-1  | Dwlserver: [backend/headless/backend.c:16] Starting headless backend
wolf-wolf-1  | �wlserver: [xwayland/sockets.c:118] Created /tmp/.X11-unix ourselves -- other users will be unable to create X11 UNIX sockets of their own
wolf-wolf-1  | :wlserver: [xwayland/server.c:108] Starting Xwayland on :0
wolf-wolf-1  | 1The XKEYBOARD keymap compiler (xkbcomp) reports:
wolf-wolf-1  | D> Warning:          Could not resolve keysym XF86CameraAccessEnable
wolf-wolf-1  | E> Warning:          Could not resolve keysym XF86CameraAccessDisable
wolf-wolf-1  | D> Warning:          Could not resolve keysym XF86CameraAccessToggle
wolf-wolf-1  | => Warning:          Could not resolve keysym XF86NextElement
wolf-wolf-1  | A> Warning:          Could not resolve keysym XF86PreviousElement
wolf-wolf-1  | G> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86MarkWaypoint
wolf-wolf-1  | 5> Warning:          Could not resolve keysym XF86Sos
wolf-wolf-1  | :> Warning:          Could not resolve keysym XF86NavChart
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86FishingChart
wolf-wolf-1  | B> Warning:          Could not resolve keysym XF86SingleRangeRadar
wolf-wolf-1  | @> Warning:          Could not resolve keysym XF86DualRangeRadar
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86RadarOverlay
wolf-wolf-1  | B> Warning:          Could not resolve keysym XF86TraditionalSonar
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86ClearvuSonar
wolf-wolf-1  | => Warning:          Could not resolve keysym XF86SidevuSonar
wolf-wolf-1  | 9> Warning:          Could not resolve keysym XF86NavInfo
wolf-wolf-1  | 2Errors from xkbcomp are not fatal to the X server
wolf-wolf-1  | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a9251c0 (res 0x61ab9a8ff210)
wolf-wolf-1  | 3wlserver: [xwayland/server.c:273] Xserver is ready
wolf-wolf-1  | ;xwm: Failed to load host cursor. Falling back to left_ptr.
wolf-wolf-1  | 4steam.sh[197]: Running Steam on ubuntu 24.04 64-bit
wolf-wolf-1  | 6steam.sh[197]: STEAM_RUNTIME is enabled automatically
wolf-wolf-1  | 5setup.sh[267]: Steam runtime environment up-to-date!
wolf-wolf-1  | 9steam.sh[197]: Steam client's requirements are satisfied
wolf-wolf-1  | 506/05 22:59:49 minidumps folder is set to /tmp/dumps
wolf-wolf-1  | i06/05 22:59:49 Init: Installing breakpad exception handler for appid(steam)/version(1716584667)/tid(332)
wolf-wolf-1  | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a906810 (res 0x61ab9a901ba0)
wolf-wolf-1  | [[2024-06-05 22:59:49.486] [info] [config.cpp:123] parsing config: '/tmp/mangohud.tdgWYRnZ'
wolf-wolf-1  | T[2024-06-05 22:59:49.514] [error] [cpu.cpp:568] Failed to initialize CPU power data
wolf-wolf-1  | �[2024-06-05 22:59:49.514] [error] [loader_nvctrl.cpp:39] Failed to open 64bit libXNVCtrl.so.0: libXNVCtrl.so.0: cannot open shared object file: No such file or directory
wolf-wolf-1  | P[2024-06-05 22:59:49.514] [error] [nvctrl.cpp:45] XNVCtrl loader failed to load
wolf-wolf-1  | �[2024-06-05 22:59:49.514] [error] [file_utils.cpp:46] Error opening directory '/sys/class/drm/card0/device/hwmon/': No such file or directory
wolf-wolf-1  | ][2024-06-05 22:59:49.514] [info] [overlay.cpp:808] Uploading is disabled (permit_upload = 0)
wolf-wolf-1  | =xwm: Rejecting WM_CHANGE_STATE to ICONIC for window 0x400007
wolf-wolf-1  | �dbus-daemon[196]: [session uid=1000 pid=196] Activating service name='org.freedesktop.portal.IBus' requested by ':1.0' (uid=1000 pid=332 comm="/home/retro/.steam/debian-installation/ubuntu12_32" label="unconfined")
wolf-wolf-1  | jdbus-daemon[196]: [session uid=1000 pid=196] Successfully activated service 'org.freedesktop.portal.IBus'
wolf-wolf-1  | =steamwebhelper.sh[387]: === Wed Jun  5 22:59:50 BST 2024 ===
wolf-wolf-1  | �steamwebhelper.sh[387]: Starting steamwebhelper under bootstrap sniper steam runtime at /home/retro/.steam/debian-installation/ubuntu12_64/steam-runtime-sniper
wolf-wolf-1  | dWARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
wolf-wolf-1  | C[2024-06-05 22:59:49] Startup - updater built May 24 2024 20:46:19
wolf-wolf-1  | �[2024-06-05 22:59:49] Startup - Steam Client launched with: '/home/retro/.steam/debian-installation/ubuntu12_32/steam' '-nominidumps' '-nobreakpad' '-bigpicture'
wolf-wolf-1  | �[2024-06-05 22:59:49] Loading cached metrics from disk (/home/retro/.steam/debian-installation/package/steam_client_metrics.bin)
wolf-wolf-1  | r[2024-06-05 22:59:49] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
wolf-wolf-1  | W[2024-06-05 22:59:49] Using the following download hosts for Public, Realm steamglobal
wolf-wolf-1  | w[2024-06-05 22:59:49] 1. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
wolf-wolf-1  | 0[2024-06-05 22:59:49] Verifying installation...
wolf-wolf-1  | ,[2024-06-05 22:59:49] Verification complete
wolf-wolf-1  | UpdateUI: skip show logo
wolf-wolf-1  | RSteam logging initialized: directory: /home/retro/.steam/debian-installation/logs
wolf-wolf-1  | 
wolf-wolf-1  | KXRRGetOutputInfo Workaround: initialized with override: 1 real: 0xe201e370
wolf-wolf-1  | IXRRGetCrtcInfo Workaround: initialized with override: 1 real: 0xe201ccc0
wolf-wolf-1  | BCAppInfoCacheReadFromDiskThread took 0 milliseconds to initialize
wolf-wolf-1  | �flock /sys/power/suspend_stats/success LOCK_SH failed. errno = 13Steam Runtime Launch Service: starting steam-runtime-launcher-service
wolf-wolf-1  | PSteam Runtime Launch Service: steam-runtime-launcher-service is running pid 472
wolf-wolf-1  | >bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
wolf-wolf-1  | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a8f9770 (res 0x61ab9a919490)
wolf-wolf-1  | Jxwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_MAXIMIZED_VERT
wolf-wolf-1  | Jxwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_MAXIMIZED_HORZ
wolf-wolf-1  | 4xwm: got the same buffer committed twice, ignoring.
wolf-wolf-1  | 1The XKEYBOARD keymap compiler (xkbcomp) reports:
wolf-wolf-1  | ?> Warning:          Unsupported maximum keycode 708, clipping.
wolf-wolf-1  | ;>                   X11 cannot support keycodes above 255.
wolf-wolf-1  | D> Warning:          Could not resolve keysym XF86CameraAccessEnable
wolf-wolf-1  | E> Warning:          Could not resolve keysym XF86CameraAccessDisable
wolf-wolf-1  | D> Warning:          Could not resolve keysym XF86CameraAccessToggle
wolf-wolf-1  | => Warning:          Could not resolve keysym XF86NextElement
wolf-wolf-1  | A> Warning:          Could not resolve keysym XF86PreviousElement
wolf-wolf-1  | G> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86MarkWaypoint
wolf-wolf-1  | 5> Warning:          Could not resolve keysym XF86Sos
wolf-wolf-1  | :> Warning:          Could not resolve keysym XF86NavChart
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86FishingChart
wolf-wolf-1  | B> Warning:          Could not resolve keysym XF86SingleRangeRadar
wolf-wolf-1  | @> Warning:          Could not resolve keysym XF86DualRangeRadar
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86RadarOverlay
wolf-wolf-1  | B> Warning:          Could not resolve keysym XF86TraditionalSonar
wolf-wolf-1  | >> Warning:          Could not resolve keysym XF86ClearvuSonar
wolf-wolf-1  | => Warning:          Could not resolve keysym XF86SidevuSonar
wolf-wolf-1  | 9> Warning:          Could not resolve keysym XF86NavInfo
wolf-wolf-1  | 2Errors from xkbcomp are not fatal to the X server
wolf-wolf-1  | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a9087a0 (res 0x61ab9a91bb60)
wolf-wolf-1  | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a908b00 (res 0x61ab9a91c580)
wolf-wolf-1  | Qxwm: error 3: BadWindow (invalid Window parameter) request 8 minor 0 serial 2017
wolf-wolf-1  | 4xwm: got the same buffer committed twice, ignoring.
wolf-wolf-1  | 4xwm: got the same buffer committed twice, ignoring.
wolf-wolf-1  | Rxwm: error 3: BadWindow (invalid Window parameter) request 41 minor 0 serial 2246
wolf-wolf-1  | Rxwm: error 3: BadWindow (invalid Window parameter) request 20 minor 0 serial 2804
wolf-wolf-1  | [2024-06-05 23:00:02] Shutdown
wolf-wolf-1  | 
wolf-wolf-1  | 22:00:04.452351707 DEBUG | [DOCKER] Stopping container: /WolfSteam_14820504867156543389
wolf-wolf-1  | 22:00:04.463823110 INFO  | Stopped container: /WolfSteam_14820504867156543389
wolf-wolf-1  | 22:00:04.465738429 DEBUG | [STREAM_SESSION] Remove virtual audio sink
wolf-wolf-1  | 22:00:04.466375306 DEBUG | [PULSE] Removed virtual sink, status: 1
wolf-wolf-1  | 22:00:04.466441935 DEBUG | [GSTREAMER] Stopping pipeline: 14820504867156543389
wolf-wolf-1  | 22:00:04.466465811 DEBUG | [GSTREAMER] Stopping pipeline: 14820504867156543389
wolf-wolf-1  | 22:00:04.466505931 DEBUG | Deleting WaylandSession 14820504867156543389
wolf-wolf-1  | 0:00:32.151299683     1 0x74d974001a60 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc0> error reading data -1 (reason: Success), skipping segment
wolf-wolf-1  | 22:00:04.493897486 WARN  | [ENET] Received packet from unrecognised client 10.0.20.204:34295

<!-- gh-comment-id:2151034927 --> @jefflewis commented on GitHub (Jun 5, 2024): Here's a log with the updated container and mounted `/run/udev` directory. I started the container and immediately attempted to run with a connected moonlight client. The connection started and then terminated with code -1 on the client display, and with these associated server logs. ```log wolf-wolf-1 | [2024-06-05 22:59:32] wolf-wolf-1 | [2024-06-05 22:59:32] [ /etc/cont-init.d/10-setup_user.sh: executing... ] wolf-wolf-1 | [2024-06-05 22:59:32] **** Configure default user **** wolf-wolf-1 | [2024-06-05 22:59:32] Container running as root. Nothing to do. wolf-wolf-1 | [2024-06-05 22:59:32] DONE wolf-wolf-1 | [2024-06-05 22:59:32] wolf-wolf-1 | [2024-06-05 22:59:32] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] wolf-wolf-1 | [2024-06-05 22:59:32] **** Configure devices **** wolf-wolf-1 | [2024-06-05 22:59:32] Exec device groups wolf-wolf-1 | [2024-06-05 22:59:32] Adding user 'root' to groups: messagebus,root wolf-wolf-1 | [2024-06-05 22:59:32] DONE wolf-wolf-1 | [2024-06-05 22:59:32] wolf-wolf-1 | [2024-06-05 22:59:32] [ /etc/cont-init.d/30-nvidia.sh: executing... ] wolf-wolf-1 | [2024-06-05 22:59:32] wolf-wolf-1 | [2024-06-05 22:59:32] wolf-wolf-1 | [2024-06-05 22:59:32] [ /etc/cont-init.d/init-gamescope.sh: executing... ] wolf-wolf-1 | [2024-06-05 22:59:32] **** Setting up Gamescope **** wolf-wolf-1 | [2024-06-05 22:59:32] Launching the container's startup script as user 'root' wolf-wolf-1 | 0:00:00.009385205 138 0x57f8983b1d80 WARN default gstvaapi.c:231:plugin_init: Cannot create a VA display wolf-wolf-1 | 0:00:00.027512692 138 0x57f8983b1d80 WARN GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise wolf-wolf-1 | 0:00:00.056010479 138 0x57f8983b1d80 WARN vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: unknown libva error wolf-wolf-1 | libva info: VA-API version 1.20.0 wolf-wolf-1 | libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so wolf-wolf-1 | libva info: Found init function __vaDriverInit_1_20 wolf-wolf-1 | libva info: va_openDriver() returns 0 wolf-wolf-1 | 0:00:00.100863608 138 0x57f8983b1d80 WARN default ges-meta-container.c:236:_set_value:<GESAsset@0x57f898fcafb0> Could not set value on item: format-version wolf-wolf-1 | 0:00:00.100880203 138 0x57f8983b1d80 WARN default ges-meta-container.c:236:_set_value:<GESAsset@0x57f8987c5470> Could not set value on item: format-version wolf-wolf-1 | 0:00:00.100886291 138 0x57f8983b1d80 WARN default ges-meta-container.c:236:_set_value:<GESAsset@0x57f8987c5a50> Could not set value on item: format-version wolf-wolf-1 | 0:00:00.101235724 138 0x57f8983b1d80 WARN structure gststructure.c:2334:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype wolf-wolf-1 | 0:00:00.128988250 138 0x57f8983b1d80 WARN vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm3> vaInitialize: unknown libva error wolf-wolf-1 | 0:00:00.167945231 138 0x57f8983b1d80 WARN adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library wolf-wolf-1 | 0:00:00.168024286 138 0x57f8983b1d80 WARN adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library wolf-wolf-1 | 0:00:00.168092991 138 0x57f8983b1d80 WARN adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library wolf-wolf-1 | 0:00:00.170253699 138 0x57f8983b1d80 WARN cudaloader gstcudaloader.c:169:gst_cuda_load_library: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory wolf-wolf-1 | 0:00:00.170264236 138 0x57f8983b1d80 WARN nvcodec plugin.c:94:plugin_init: Failed to load cuda library wolf-wolf-1 | 0:00:00.171671127 138 0x57f8983b1d80 WARN GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise wolf-wolf-1 | 0:00:00.173227875 1 0x6312cbbd2880 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) wolf-wolf-1 | 0:00:00.172445233 138 0x57f8983b1d80 WARN GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise wolf-wolf-1 | 0:00:00.174358726 138 0x57f8983b1d80 WARN GST_PLUGIN_LOADING gstplugin.c:534:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise wolf-wolf-1 | 0:00:00.178258417 1 0x6312cbbd2880 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) wolf-wolf-1 | 21:59:32.502100427 INFO | Gstreamer version: 1.22.7-0 wolf-wolf-1 | 21:59:32.502620807 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets wolf-wolf-1 | 21:59:32.502639402 INFO | Reading config file from: /etc/wolf/cfg/config.toml wolf-wolf-1 | 0:00:00.197511555 1 0x6312cbbd2880 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "nvh264enc"! wolf-wolf-1 | 0:00:00.202697989 1 0x6312cbbd2880 WARN vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: unknown libva error wolf-wolf-1 | libva info: VA-API version 1.20.0 wolf-wolf-1 | libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so wolf-wolf-1 | libva info: Found init function __vaDriverInit_1_20 wolf-wolf-1 | libva info: va_openDriver() returns 0 wolf-wolf-1 | 0:00:00.235484814 1 0x6312cbbd2880 WARN vadisplay gstvadisplay.c:316:gst_va_display_initialize:<vadisplaydrm3> vaInitialize: unknown libva error wolf-wolf-1 | 21:59:32.582727372 INFO | Selected H264 encoder: qsv wolf-wolf-1 | 0:00:00.266739674 1 0x6312cbbd2880 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "nvh265enc"! wolf-wolf-1 | 21:59:32.582833239 INFO | Selected HEVC encoder: qsv wolf-wolf-1 | 21:59:32.583319799 DEBUG | Loading server certificates from disk: /etc/wolf/cfg/cert.pem /etc/wolf/cfg/key.pem wolf-wolf-1 | XDG_RUNTIME_DIR (/tmp/sockets) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.) wolf-wolf-1 | 21:59:32.584289755 DEBUG | [PULSE] Connecting... wolf-wolf-1 | 21:59:32.584325229 DEBUG | [PULSE] Context failed wolf-wolf-1 | 21:59:32.584331060 WARN | [PULSE] Unable to connect, Access denied wolf-wolf-1 | 21:59:32.585532818 INFO | HTTPS server listening on port: 47984 wolf-wolf-1 | 21:59:32.585581331 INFO | RTSP server started on port: 48010 wolf-wolf-1 | 21:59:32.585620624 INFO | Starting PulseAudio docker container wolf-wolf-1 | 21:59:32.585829004 INFO | HTTP server listening on port: 47989 wolf-wolf-1 | 21:59:32.586240304 WARN | [DOCKER] Container WolfPulseAudio already present, removing first wolf-wolf-1 | 21:59:32.586290837 INFO | Control server started on port: 47999 wolf-wolf-1 | 21:59:37.423338824 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:37.442336138 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:37.446177807 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:37.449550508 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:37.462442403 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/applist wolf-wolf-1 | 21:59:37.469193613 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:37.469204876 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:37.481402554 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:39.093541514 DEBUG | [PULSE] Connecting... wolf-wolf-1 | 21:59:39.094028014 DEBUG | [PULSE] Pulse connection ready wolf-wolf-1 | 21:59:39.494129519 DEBUG | 10.0.20.204 [GET] HTTP://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:39.527234154 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:40.055703726 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/serverinfo wolf-wolf-1 | 21:59:40.072419078 DEBUG | 10.0.20.204 [GET] HTTPS://10.0.20.100/launch wolf-wolf-1 | 21:59:40.072487611 DEBUG | Host app state folder: /etc/wolf/14820504867156543389/Steam, creating paths wolf-wolf-1 | 21:59:40.073294291 DEBUG | [STREAM_SESSION] Create virtual audio sink wolf-wolf-1 | 21:59:40.073365623 INFO | RTP server started on port: 48200 wolf-wolf-1 | 21:59:40.073436597 INFO | RTP server started on port: 48100 wolf-wolf-1 | 21:59:40.073544581 DEBUG | [STREAM_SESSION] Create wayland compositor wolf-wolf-1 | 21:59:40.073555095 DEBUG | [WAYLAND] Creating wayland display wolf-wolf-1 | 21:59:40.074014780 DEBUG | [PULSE] Created virtual sink: 3 wolf-wolf-1 | 21:59:40.085770090 DEBUG | [RTSP] received command OPTIONS wolf-wolf-1 | 21:59:40.090013942 DEBUG | [RTSP] received command DESCRIBE wolf-wolf-1 | 21:59:40.096758785 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 21:59:40.106370729 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 21:59:40.112910215 DEBUG | [RTSP] received command SETUP wolf-wolf-1 | 21:59:40.118985545 DEBUG | [RTSP] received command ANNOUNCE wolf-wolf-1 | 21:59:40.119049727 DEBUG | [RTSP] Moonlight requested video format HEVC wolf-wolf-1 | 21:59:40.119184185 DEBUG | Video session 14820504867156543389, waiting for PING... wolf-wolf-1 | 21:59:40.119292163 DEBUG | Audio session 14820504867156543389, waiting for PING... wolf-wolf-1 | 21:59:40.123922404 DEBUG | [RTSP] received command PLAY wolf-wolf-1 | 21:59:40.125611952 DEBUG | [ENET] connected client: 10.0.20.204:34295 wolf-wolf-1 | 21:59:40.145043885 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-1 wolf-wolf-1 | 21:59:40.145251026 DEBUG | Starting video pipeline: appsrc name=wolf_wayland_source is-live=true block=false format=3 stream-type=0 ! queue ! wolf-wolf-1 | vapostproc ! wolf-wolf-1 | video/x-raw(memory:VAMemory), chroma-site=mpeg2, width=1920, wolf-wolf-1 | height=1080, format=NV12, colorimetry=bt601 wolf-wolf-1 | ! qsvh265enc low-latency=true b-frames=0 gop-size=0 idr-interval=1 ref-frames=1 bitrate=100000 ! wolf-wolf-1 | h265parse ! wolf-wolf-1 | video/x-h265, profile=main, stream-format=byte-stream wolf-wolf-1 | ! rtpmoonlightpay_video name=moonlight_pay wolf-wolf-1 | payload_size=1024 fec_percentage=20 min_required_fec_packets=2 ! wolf-wolf-1 | udpsink bind-port=48100 host=10.0.20.204 port=53141 sync=true wolf-wolf-1 | wolf-wolf-1 | 21:59:40.145314513 DEBUG | /proc/driver/nvidia/gpus/0000:00:02.0/information doesn't exists, this might be normal if the GPU is not Nvidia wolf-wolf-1 | 21:59:40.152484499 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation wolf-wolf-1 | 21:59:40.169315772 DEBUG | Setting up wolf_wayland_source wolf-wolf-1 | 21:59:40.172106920 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation wolf-wolf-1 | 21:59:40.172416800 DEBUG | [DOCKER] Using fake-udev, creating /etc/wolf/14820504867156543389/Steam/udev/data wolf-wolf-1 | 21:59:40.174538532 DEBUG | [WAYLAND] Start feeding app-src wolf-wolf-1 | 21:59:40.631811001 DEBUG | Starting audio pipeline: pulsesrc device="virtual_sink_14820504867156543389.monitor" server="/tmp/sockets/pulse-socket" wolf-wolf-1 | ! audio/x-raw, channels=2 ! opusenc bitrate=48000 bitrate-type=constrained-vbr frame-size=5 bandwidth=fullband wolf-wolf-1 | audio-type=restricted-lowdelay max-payload-size=1400 wolf-wolf-1 | ! rtpmoonlightpay_audio name=moonlight_pay packet_duration=5 encrypt=true wolf-wolf-1 | aes_key="6D9100B578A1A830DD190EF8386AD22F" aes_iv="-857191049" ! wolf-wolf-1 | udpsink bind-port=48200 host=10.0.20.204 port=61444 sync=true wolf-wolf-1 | wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event17) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event17 wolf-wolf-1 | 21:59:44.074931020 DEBUG | RTP server on port: 48100 stopped wolf-wolf-1 | 21:59:44.075358761 DEBUG | RTP server on port: 48200 stopped wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event18) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event18 wolf-wolf-1 | libinput error: libinput bug: udev device never initialized (/dev/input/event19) wolf-wolf-1 | libinput error: client bug: Invalid path /dev/input/event19 wolf-wolf-1 | 21:59:48.246218354 DEBUG | [GSTREAMER] Forcing IDR wolf-wolf-1 | 21:59:48.753205805 INFO | [DOCKER] Starting container: /WolfSteam_14820504867156543389 wolf-wolf-1 | 21:59:48.753725113 DEBUG | [DOCKER] Starting container: { wolf-wolf-1 | id: 51d250ad79785a0b6018b7d57a0750ae3254cc5dcc6f89a8cd58cb4c3ba8fd14 wolf-wolf-1 | name: /WolfSteam_14820504867156543389 wolf-wolf-1 | image: ghcr.io/games-on-whales/steam:edge wolf-wolf-1 | status: 0 wolf-wolf-1 | ports: [] wolf-wolf-1 | mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-1:/tmp/sockets/wayland-1:rw, /etc/wolf/14820504867156543389/Steam:/home/retro:rw, /etc/wolf/14820504867156543389/Steam/udev:/run/udev/:rw, /etc/wolf/fake-udev:/usr/bin/fake-udev:ro] wolf-wolf-1 | devices: [/dev/dri/card1:/dev/dri/card1:mrw, /dev/dri/renderD128:/dev/dri/renderD128:mrw, /dev/dri/card1:/dev/dri/card1:mrw] wolf-wolf-1 | env: ["PROTON_LOG=1", "RUN_GAMESCOPE=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_14820504867156543389.monitor", "GAMESCOPE_REFRESH=60", "INTEL_DEBUG=norbc", "PULSE_SINK=virtual_sink_14820504867156543389", "WAYLAND_DISPLAY=wayland-1", "GAMESCOPE_HEIGHT=1080", "PULSE_SERVER=/tmp/sockets/pulse-socket", "XDG_RUNTIME_DIR=/tmp/sockets", "GAMESCOPE_WIDTH=1920", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "PUID=1000", "PGID=1000", "UMASK=000", "UNAME=retro", "HOME=/home/retro", "TZ=Europe/London", "DEBIAN_FRONTEND=noninteractive", "NEEDRESTART_SUSPEND=1", "GAMESCOPE_VERSION=3.12.5", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"] wolf-wolf-1 | } wolf-wolf-1 | 21:59:48.754321646 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14820504867156543389/Steam/udev/data/c13:81 wolf-wolf-1 | 21:59:48.754529415 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14820504867156543389/Steam/udev/data/c13:82 wolf-wolf-1 | 21:59:48.754700025 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event17 c 13 81 && chmod 777 /dev/input/event17 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE3AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDQ5OC9ldmVudDE3AElEX0lOUFVUPTEASURfSU5QVVRfTU9VU0U9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODEAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NjI0Nzg4AA== wolf-wolf-1 | 21:59:48.808000208 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event18 c 13 82 && chmod 777 /dev/input/event18 && fake-udev -m LklOUFVUX0NMQVNTPW1vdXNlAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE4AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDQ5OS9ldmVudDE4AElEX0lOUFVUPTEASURfSU5QVVRfVE9VQ0hQQUQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODIAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NjI0Nzg4AA== wolf-wolf-1 | 21:59:48.844326878 DEBUG | [DOCKER] Writing hwdb file: /etc/wolf/14820504867156543389/Steam/udev/data/c13:83 wolf-wolf-1 | 21:59:48.844474050 DEBUG | [DOCKER] Executing command: mkdir -p /dev/input && mknod /dev/input/event19 c 13 83 && chmod 777 /dev/input/event19 && fake-udev -m LklOUFVUX0NMQVNTPWtleWJvYXJkAEFDVElPTj1hZGQAQ1VSUkVOVF9UQUdTPTpzZWF0OnVhY2Nlc3M6AERFVk5BTUU9L2Rldi9pbnB1dC9ldmVudDE5AERFVlBBVEg9L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDUwMC9ldmVudDE5AElEX0lOUFVUPTEASURfSU5QVVRfS0VZQk9BUkQ9MQBJRF9TRVJJQUw9bm9zZXJpYWwATUFKT1I9MTMATUlOT1I9ODMAU0VRTlVNPTcAU1VCU1lTVEVNPWlucHV0AFRBR1M9OnNlYXQ6dWFjY2VzczoAVVNFQ19JTklUSUFMSVpFRD0xNzE3NjI0Nzg4AA== wolf-wolf-1 | 22:00:04.452330296 DEBUG | [DOCKER] Container logs: wolf-wolf-1 | [2024-06-05 22:59:48] wolf-wolf-1 | J[2024-06-05 22:59:48] [ /etc/cont-init.d/10-setup_user.sh: executing... ] wolf-wolf-1 | 7[2024-06-05 22:59:48] **** Configure default user **** wolf-wolf-1 | K[2024-06-05 22:59:48] Setting default user uid=1000(retro) gid=1000(retro) wolf-wolf-1 | 8userdel: ubuntu mail spool (/var/mail/ubuntu) not found wolf-wolf-1 | Auseradd: warning: the home directory /home/retro already exists. wolf-wolf-1 | ;useradd: Not copying any file from skel directory into it. wolf-wolf-1 | +[2024-06-05 22:59:48] Setting umask to 000 wolf-wolf-1 | >[2024-06-05 22:59:48] Ensure retro home directory is writable wolf-wolf-1 | 9[2024-06-05 22:59:48] Ensure XDG_RUNTIME_DIR is writable wolf-wolf-1 | DONE wolf-wolf-1 | [2024-06-05 22:59:48] wolf-wolf-1 | M[2024-06-05 22:59:48] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] wolf-wolf-1 | 2[2024-06-05 22:59:48] **** Configure devices **** wolf-wolf-1 | )[2024-06-05 22:59:48] Exec device groups wolf-wolf-1 | :[2024-06-05 22:59:48] Path '/dev/nvidia*' is not present. wolf-wolf-1 | L[2024-06-05 22:59:48] Adding user 'retro' to groups: gow-gid-104,video,root wolf-wolf-1 | DONE wolf-wolf-1 | [2024-06-05 22:59:49] wolf-wolf-1 | F[2024-06-05 22:59:49] [ /etc/cont-init.d/30-nvidia.sh: executing... ] wolf-wolf-1 | [2024-06-05 22:59:49] wolf-wolf-1 | [2024-06-05 22:59:49] wolf-wolf-1 | K[2024-06-05 22:59:49] [ /etc/cont-init.d/init-gamescope.sh: executing... ] wolf-wolf-1 | 5[2024-06-05 22:59:49] **** Setting up Gamescope **** wolf-wolf-1 | [2024-06-05 22:59:49] wolf-wolf-1 | L[2024-06-05 22:59:49] [ /etc/cont-init.d/system-services.sh: executing... ] wolf-wolf-1 | *** DBus started *** wolf-wolf-1 | *** Bluez started *** wolf-wolf-1 | 'bluetoothd[131]: Bluetooth daemon 5.72 wolf-wolf-1 | Tbluetoothd[131]: src/adapter.c:adapter_init() Failed to access management interface wolf-wolf-1 | Jbluetoothd[131]: src/main.c:main() Adapter handling initialization failed wolf-wolf-1 | *** NetworkManager started *** wolf-wolf-1 | O[2024-06-05 22:59:49] Launching the container's startup script as user 'retro' wolf-wolf-1 | 3[2024-06-05 22:59:49] Starting Steam with DISPLAY= wolf-wolf-1 | IClaimed global gamescope stats session at "/tmp/sockets/gamescope-stats" wolf-wolf-1 | GNo CAP_SYS_NICE, falling back to regular-priority compute and threads. wolf-wolf-1 | Performance will be affected. wolf-wolf-1 | Dwlserver: [backend/headless/backend.c:68] Creating headless backend wolf-wolf-1 | :Couldn't open plugin directory: No such file or directory wolf-wolf-1 | 1No plugins found, falling back on no decorations wolf-wolf-1 | pvulkan: physical device 8086:a7a0 compute queue doesn't support presenting on our surface, using graphics queue wolf-wolf-1 | Nvulkan: selecting physical device 'Intel(R) Graphics (RPL-P)': queue family 0 wolf-wolf-1 | 6vulkan: physical device supports DRM format modifiers wolf-wolf-1 | 2vulkan: supported DRM formats for sampling usage: wolf-wolf-1 | vulkan: AR24 (0x34325241) wolf-wolf-1 | vulkan: XR24 (0x34325258) wolf-wolf-1 | vulkan: AB24 (0x34324241) wolf-wolf-1 | vulkan: XB24 (0x34324258) wolf-wolf-1 | vulkan: NV12 (0x3231564E) wolf-wolf-1 | vulkan: AB4H (0x48344241) wolf-wolf-1 | vulkan: XB4H (0x48344258) wolf-wolf-1 | vulkan: AB48 (0x38344241) wolf-wolf-1 | vulkan: XB48 (0x38344258) wolf-wolf-1 | vulkan: AB30 (0x30334241) wolf-wolf-1 | vulkan: XB30 (0x30334258) wolf-wolf-1 | vulkan: AR30 (0x30335241) wolf-wolf-1 | vulkan: XR30 (0x30335258) wolf-wolf-1 | >wlserver: Running compositor on wayland display 'gamescope-0' wolf-wolf-1 | Dwlserver: [backend/headless/backend.c:16] Starting headless backend wolf-wolf-1 | �wlserver: [xwayland/sockets.c:118] Created /tmp/.X11-unix ourselves -- other users will be unable to create X11 UNIX sockets of their own wolf-wolf-1 | :wlserver: [xwayland/server.c:108] Starting Xwayland on :0 wolf-wolf-1 | 1The XKEYBOARD keymap compiler (xkbcomp) reports: wolf-wolf-1 | D> Warning: Could not resolve keysym XF86CameraAccessEnable wolf-wolf-1 | E> Warning: Could not resolve keysym XF86CameraAccessDisable wolf-wolf-1 | D> Warning: Could not resolve keysym XF86CameraAccessToggle wolf-wolf-1 | => Warning: Could not resolve keysym XF86NextElement wolf-wolf-1 | A> Warning: Could not resolve keysym XF86PreviousElement wolf-wolf-1 | G> Warning: Could not resolve keysym XF86AutopilotEngageToggle wolf-wolf-1 | >> Warning: Could not resolve keysym XF86MarkWaypoint wolf-wolf-1 | 5> Warning: Could not resolve keysym XF86Sos wolf-wolf-1 | :> Warning: Could not resolve keysym XF86NavChart wolf-wolf-1 | >> Warning: Could not resolve keysym XF86FishingChart wolf-wolf-1 | B> Warning: Could not resolve keysym XF86SingleRangeRadar wolf-wolf-1 | @> Warning: Could not resolve keysym XF86DualRangeRadar wolf-wolf-1 | >> Warning: Could not resolve keysym XF86RadarOverlay wolf-wolf-1 | B> Warning: Could not resolve keysym XF86TraditionalSonar wolf-wolf-1 | >> Warning: Could not resolve keysym XF86ClearvuSonar wolf-wolf-1 | => Warning: Could not resolve keysym XF86SidevuSonar wolf-wolf-1 | 9> Warning: Could not resolve keysym XF86NavInfo wolf-wolf-1 | 2Errors from xkbcomp are not fatal to the X server wolf-wolf-1 | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a9251c0 (res 0x61ab9a8ff210) wolf-wolf-1 | 3wlserver: [xwayland/server.c:273] Xserver is ready wolf-wolf-1 | ;xwm: Failed to load host cursor. Falling back to left_ptr. wolf-wolf-1 | 4steam.sh[197]: Running Steam on ubuntu 24.04 64-bit wolf-wolf-1 | 6steam.sh[197]: STEAM_RUNTIME is enabled automatically wolf-wolf-1 | 5setup.sh[267]: Steam runtime environment up-to-date! wolf-wolf-1 | 9steam.sh[197]: Steam client's requirements are satisfied wolf-wolf-1 | 506/05 22:59:49 minidumps folder is set to /tmp/dumps wolf-wolf-1 | i06/05 22:59:49 Init: Installing breakpad exception handler for appid(steam)/version(1716584667)/tid(332) wolf-wolf-1 | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a906810 (res 0x61ab9a901ba0) wolf-wolf-1 | [[2024-06-05 22:59:49.486] [info] [config.cpp:123] parsing config: '/tmp/mangohud.tdgWYRnZ' wolf-wolf-1 | T[2024-06-05 22:59:49.514] [error] [cpu.cpp:568] Failed to initialize CPU power data wolf-wolf-1 | �[2024-06-05 22:59:49.514] [error] [loader_nvctrl.cpp:39] Failed to open 64bit libXNVCtrl.so.0: libXNVCtrl.so.0: cannot open shared object file: No such file or directory wolf-wolf-1 | P[2024-06-05 22:59:49.514] [error] [nvctrl.cpp:45] XNVCtrl loader failed to load wolf-wolf-1 | �[2024-06-05 22:59:49.514] [error] [file_utils.cpp:46] Error opening directory '/sys/class/drm/card0/device/hwmon/': No such file or directory wolf-wolf-1 | ][2024-06-05 22:59:49.514] [info] [overlay.cpp:808] Uploading is disabled (permit_upload = 0) wolf-wolf-1 | =xwm: Rejecting WM_CHANGE_STATE to ICONIC for window 0x400007 wolf-wolf-1 | �dbus-daemon[196]: [session uid=1000 pid=196] Activating service name='org.freedesktop.portal.IBus' requested by ':1.0' (uid=1000 pid=332 comm="/home/retro/.steam/debian-installation/ubuntu12_32" label="unconfined") wolf-wolf-1 | jdbus-daemon[196]: [session uid=1000 pid=196] Successfully activated service 'org.freedesktop.portal.IBus' wolf-wolf-1 | =steamwebhelper.sh[387]: === Wed Jun 5 22:59:50 BST 2024 === wolf-wolf-1 | �steamwebhelper.sh[387]: Starting steamwebhelper under bootstrap sniper steam runtime at /home/retro/.steam/debian-installation/ubuntu12_64/steam-runtime-sniper wolf-wolf-1 | dWARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work. wolf-wolf-1 | C[2024-06-05 22:59:49] Startup - updater built May 24 2024 20:46:19 wolf-wolf-1 | �[2024-06-05 22:59:49] Startup - Steam Client launched with: '/home/retro/.steam/debian-installation/ubuntu12_32/steam' '-nominidumps' '-nobreakpad' '-bigpicture' wolf-wolf-1 | �[2024-06-05 22:59:49] Loading cached metrics from disk (/home/retro/.steam/debian-installation/package/steam_client_metrics.bin) wolf-wolf-1 | r[2024-06-05 22:59:49] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults wolf-wolf-1 | W[2024-06-05 22:59:49] Using the following download hosts for Public, Realm steamglobal wolf-wolf-1 | w[2024-06-05 22:59:49] 1. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in' wolf-wolf-1 | 0[2024-06-05 22:59:49] Verifying installation... wolf-wolf-1 | ,[2024-06-05 22:59:49] Verification complete wolf-wolf-1 | UpdateUI: skip show logo wolf-wolf-1 | RSteam logging initialized: directory: /home/retro/.steam/debian-installation/logs wolf-wolf-1 | wolf-wolf-1 | KXRRGetOutputInfo Workaround: initialized with override: 1 real: 0xe201e370 wolf-wolf-1 | IXRRGetCrtcInfo Workaround: initialized with override: 1 real: 0xe201ccc0 wolf-wolf-1 | BCAppInfoCacheReadFromDiskThread took 0 milliseconds to initialize wolf-wolf-1 | �flock /sys/power/suspend_stats/success LOCK_SH failed. errno = 13Steam Runtime Launch Service: starting steam-runtime-launcher-service wolf-wolf-1 | PSteam Runtime Launch Service: steam-runtime-launcher-service is running pid 472 wolf-wolf-1 | >bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam wolf-wolf-1 | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a8f9770 (res 0x61ab9a919490) wolf-wolf-1 | Jxwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_MAXIMIZED_VERT wolf-wolf-1 | Jxwm: Unhandled NET_WM_STATE property change: _NET_WM_STATE_MAXIMIZED_HORZ wolf-wolf-1 | 4xwm: got the same buffer committed twice, ignoring. wolf-wolf-1 | 1The XKEYBOARD keymap compiler (xkbcomp) reports: wolf-wolf-1 | ?> Warning: Unsupported maximum keycode 708, clipping. wolf-wolf-1 | ;> X11 cannot support keycodes above 255. wolf-wolf-1 | D> Warning: Could not resolve keysym XF86CameraAccessEnable wolf-wolf-1 | E> Warning: Could not resolve keysym XF86CameraAccessDisable wolf-wolf-1 | D> Warning: Could not resolve keysym XF86CameraAccessToggle wolf-wolf-1 | => Warning: Could not resolve keysym XF86NextElement wolf-wolf-1 | A> Warning: Could not resolve keysym XF86PreviousElement wolf-wolf-1 | G> Warning: Could not resolve keysym XF86AutopilotEngageToggle wolf-wolf-1 | >> Warning: Could not resolve keysym XF86MarkWaypoint wolf-wolf-1 | 5> Warning: Could not resolve keysym XF86Sos wolf-wolf-1 | :> Warning: Could not resolve keysym XF86NavChart wolf-wolf-1 | >> Warning: Could not resolve keysym XF86FishingChart wolf-wolf-1 | B> Warning: Could not resolve keysym XF86SingleRangeRadar wolf-wolf-1 | @> Warning: Could not resolve keysym XF86DualRangeRadar wolf-wolf-1 | >> Warning: Could not resolve keysym XF86RadarOverlay wolf-wolf-1 | B> Warning: Could not resolve keysym XF86TraditionalSonar wolf-wolf-1 | >> Warning: Could not resolve keysym XF86ClearvuSonar wolf-wolf-1 | => Warning: Could not resolve keysym XF86SidevuSonar wolf-wolf-1 | 9> Warning: Could not resolve keysym XF86NavInfo wolf-wolf-1 | 2Errors from xkbcomp are not fatal to the X server wolf-wolf-1 | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a9087a0 (res 0x61ab9a91bb60) wolf-wolf-1 | [wlserver: [types/wlr_compositor.c:681] New wlr_surface 0x61ab9a908b00 (res 0x61ab9a91c580) wolf-wolf-1 | Qxwm: error 3: BadWindow (invalid Window parameter) request 8 minor 0 serial 2017 wolf-wolf-1 | 4xwm: got the same buffer committed twice, ignoring. wolf-wolf-1 | 4xwm: got the same buffer committed twice, ignoring. wolf-wolf-1 | Rxwm: error 3: BadWindow (invalid Window parameter) request 41 minor 0 serial 2246 wolf-wolf-1 | Rxwm: error 3: BadWindow (invalid Window parameter) request 20 minor 0 serial 2804 wolf-wolf-1 | [2024-06-05 23:00:02] Shutdown wolf-wolf-1 | wolf-wolf-1 | 22:00:04.452351707 DEBUG | [DOCKER] Stopping container: /WolfSteam_14820504867156543389 wolf-wolf-1 | 22:00:04.463823110 INFO | Stopped container: /WolfSteam_14820504867156543389 wolf-wolf-1 | 22:00:04.465738429 DEBUG | [STREAM_SESSION] Remove virtual audio sink wolf-wolf-1 | 22:00:04.466375306 DEBUG | [PULSE] Removed virtual sink, status: 1 wolf-wolf-1 | 22:00:04.466441935 DEBUG | [GSTREAMER] Stopping pipeline: 14820504867156543389 wolf-wolf-1 | 22:00:04.466465811 DEBUG | [GSTREAMER] Stopping pipeline: 14820504867156543389 wolf-wolf-1 | 22:00:04.466505931 DEBUG | Deleting WaylandSession 14820504867156543389 wolf-wolf-1 | 0:00:32.151299683 1 0x74d974001a60 WARN audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<pulsesrc0> error reading data -1 (reason: Success), skipping segment wolf-wolf-1 | 22:00:04.493897486 WARN | [ENET] Received packet from unrecognised client 10.0.20.204:34295 ```
Author
Owner

@jefflewis commented on GitHub (Jun 6, 2024):

After a few config tweaks and lots of reboots, I was able to get multiple clients running and playing games. I had one playing Cyberpunk 2077 at near 60fps 😃. The original container config I had was woefully underpowered, so I suspect some of my issues were from the system trying to do too much. I gave it 26GB of RAM and 12 CPU cores and things seemed to start to be more reliable.

I've still seen lots of immediate disconnects when starting up the app for the first time. But continuing to retry does seem to eventually boot into a valid session. I'll get a good log file showing this soon.

I also haven't seen my keyboard and mouse work when connecting from a PC client (vs the mobile devices with gamepads). Could input events 17+ be those perhaps?

Thanks again for your help and hopefully this can be used to help others get a similar setup running.

<!-- gh-comment-id:2151363350 --> @jefflewis commented on GitHub (Jun 6, 2024): After a few config tweaks and lots of reboots, I was able to get multiple clients running and playing games. I had one playing Cyberpunk 2077 at near 60fps 😃. The original container config I had was woefully underpowered, so I suspect some of my issues were from the system trying to do too much. I gave it 26GB of RAM and 12 CPU cores and things seemed to start to be more reliable. I've still seen lots of immediate disconnects when starting up the app for the first time. But continuing to retry does seem to eventually boot into a valid session. I'll get a good log file showing this soon. I also haven't seen my keyboard and mouse work when connecting from a PC client (vs the mobile devices with gamepads). Could input events 17+ be those perhaps? Thanks again for your help and hopefully this can be used to help others get a similar setup running.
Author
Owner

@ABeltramo commented on GitHub (Jun 8, 2024):

I've still seen lots of immediate disconnects when starting up the app for the first time. But continuing to retry does seem to eventually boot into a valid session. I'll get a good log file showing this soon.

If you could gather those I'd be happy to look into it!

I also haven't seen my keyboard and mouse work when connecting from a PC client (vs the mobile devices with gamepads). Could input events 17+ be those perhaps?

That is very odd.. If gamepads works that means that Wolf is indeed able to create those devices using uinput. They'll too will appear as additional /dev/input/event** and /dev/input/js** in your host, can you check if they are present?

Btw, have you added the /run/udev mount in the LXC container like I've mentioned before?

<!-- gh-comment-id:2155883408 --> @ABeltramo commented on GitHub (Jun 8, 2024): > I've still seen lots of immediate disconnects when starting up the app for the first time. But continuing to retry does seem to eventually boot into a valid session. I'll get a good log file showing this soon. If you could gather those I'd be happy to look into it! > I also haven't seen my keyboard and mouse work when connecting from a PC client (vs the mobile devices with gamepads). Could input events 17+ be those perhaps? That is very odd.. If gamepads works that means that Wolf is indeed able to create those devices using `uinput`. They'll too will appear as additional `/dev/input/event**` and `/dev/input/js**` in your host, can you check if they are present? Btw, have you added the `/run/udev` mount in the LXC container like I've mentioned before?
Author
Owner

@jefflewis commented on GitHub (Jun 10, 2024):

If you could gather those I'd be happy to look into it!

It's hard for me to get a good log set for these... I'll get that soon, but after more use, when this errors is when the app is quit and then restarted. Connections on restart can take quite a few connections to get started. I've not seen mid-session dropouts since boosting the container's resource specs.

That is very odd.. If gamepads works that means that Wolf is indeed able to create those devices using uinput. They'll too will appear as additional /dev/input/event** and /dev/input/js** in your host, can you check if they are present?

Agreed! Here's the listing for /dev and /dev/input for the proxmox host and lxc container

In the proxmox host (pve1):

root@pve1:~# ls /dev/input
by-id    event1   event12  event15  event18  event20  event5  event8  js1     mouse1
by-path  event10  event13  event16  event19  event3   event6  event9  mice
event0   event11  event14  event17  event2   event4   event7  js0     mouse0
root@pve1:~# ls /dev
autofs           i2c-15            nvme0n1    tty15  tty56      udmabuf
block            i2c-16            nvme0n1p1  tty16  tty57      uhid
btrfs-control    i2c-17            nvme0n1p9  tty17  tty58      uinput
bus              i2c-2             nvme1      tty18  tty59      urandom
char             i2c-3             nvme1n1    tty19  tty6       userfaultfd
console          i2c-4             nvme1n1p1  tty2   tty60      userio
core             i2c-5             nvme1n1p9  tty20  tty61      vcs
cpu              i2c-6             nvme2      tty21  tty62      vcs1
cpu_dma_latency  i2c-7             nvme2n1    tty22  tty63      vcs2
cuse             i2c-8             nvme2n1p1  tty23  tty7       vcs3
disk             i2c-9             nvme2n1p2  tty24  tty8       vcs4
dm-0             initctl           nvme2n1p3  tty25  tty9       vcs5
dm-1             input             nvram      tty26  ttyprintk  vcs6
dm-2             iommu             port       tty27  ttyS0      vcsa
dm-3             kmsg              ppp        tty28  ttyS1      vcsa1
dm-4             kvm               pps0       tty29  ttyS10     vcsa2
dm-5             log               pps1       tty3   ttyS11     vcsa3
dm-6             loop0             psaux      tty30  ttyS12     vcsa4
dm-7             loop1             ptmx       tty31  ttyS13     vcsa5
dm-8             loop2             ptp0       tty32  ttyS14     vcsa6
dma_heap         loop3             ptp1       tty33  ttyS15     vcsu
dri              loop4             ptp2       tty34  ttyS16     vcsu1
drm_dp_aux0      loop5             ptp3       tty35  ttyS17     vcsu2
drm_dp_aux1      loop6             pts        tty36  ttyS18     vcsu3
drm_dp_aux2      loop7             pve        tty37  ttyS19     vcsu4
drm_dp_aux3      loop-control      random     tty38  ttyS2      vcsu5
ecryptfs         mapper            rfkill     tty39  ttyS20     vcsu6
fb0              mcelog            rtc        tty4   ttyS21     vfio
fb1              mei0              rtc0       tty40  ttyS22     vga_arbiter
fd               mem               shm        tty41  ttyS23     vhci
full             mqueue            snapshot   tty42  ttyS24     vhost-net
fuse             mtd0              snd        tty43  ttyS25     vhost-vsock
gpiochip0        mtd0ro            stderr     tty44  ttyS26     zd0
hidraw0          net               stdin      tty45  ttyS27     zd16
hidraw1          ng0n1             stdout     tty46  ttyS28     zd16p1
hpet             ng1n1             tpm0       tty47  ttyS29     zd16p2
hugepages        ng2n1             tpmrm0     tty48  ttyS3      zd16p3
hwrng            null              tty        tty49  ttyS30     zero
i2c-0            nvidia0           tty0       tty5   ttyS31     zfs
i2c-1            nvidia-caps       tty1       tty50  ttyS4      zvol
i2c-10           nvidiactl         tty10      tty51  ttyS5
i2c-11           nvidia-modeset    tty11      tty52  ttyS6
i2c-12           nvidia-uvm        tty12      tty53  ttyS7
i2c-13           nvidia-uvm-tools  tty13      tty54  ttyS8
i2c-14           nvme0             tty14      tty55  ttyS9

In the lxc-container running the docker container (dockge):

root@dockge:~# ls /dev/input
by-id    event1   event12  event15  event18  event20  event5  event8  js1     mouse1
by-path  event10  event13  event16  event19  event3   event6  event9  mice
event0   event11  event14  event17  event2   event4   event7  js0     mouse0
root@dockge:~# ls /dev
console  hugepages  null              nvidiactl  stderr  ttyACM0  zero
core     initctl    nvidia-caps       ptmx       stdin   ttyACM1
dri      input      nvidia-modeset    pts        stdout  ttyUSB0
fb0      log        nvidia-uvm        random     tty     ttyUSB1
fd       mqueue     nvidia-uvm-tools  serial     tty1    uinput
full     net        nvidia0           shm        tty2    urandom

Btw, have you added the /run/udev mount in the LXC container like I've mentioned before?

Yep!

Here's the full lxc conf being used:

#<div align='center'><a href='https%3A//Helper-Scripts.com' target='_blank' rel='noopener noreferrer'><img src='https%3A//raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo-81x112.png'/></a>
#
#  # Dockge LXC
#
#  <a href='https%3A//ko-fi.com/D1D7EP4GF'><img src='https%3A//img.shields.io/badge/&#x2615;-Buy me a coffee-blue' /></a>
#  </div>
arch: amd64
cores: 12
features: nesting=1
hostname: dockge
memory: 26624
net0: name=eth0,bridge=vmbr0,hwaddr=BC:24:11:59:13:EA,ip=dhcp,tag=20,type=veth
onboot: 1
ostype: debian
rootfs: local-zfs-2:subvol-306-disk-0,size=300G
swap: 512
tags: proxmox-helper-scripts
lxc.cgroup2.devices.allow: a
lxc.cap.drop: 
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 13:* rwm
lxc.cgroup2.devices.allow: c 189:*
lxc.mount.entry: /dev/serial/by-id  dev/serial/by-id  none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0       dev/ttyUSB0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1       dev/ttyUSB1       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0       dev/ttyACM0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1       dev/ttyACM1       none bind,optional,create=file
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD129 dev/dri/renderD129 none bind,optional,create=file
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,optional,create=dir
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
lxc.cgroup2.devices.allow: c 10:223 rwm
lxc.mount.entry: /dev/uinput dev/uinput none bind,optional,create=file
lxc.mount.entry: /dev/input dev/input none bind,optional,create=dir
lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 506:* rwm
lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-caps/ dev/nvidia-caps none bind,optional,create=dir
lxc.mount.entry: /dev/nvidia-caps/nvidia-cap1 dev/nvidia-caps/nvidia-cap1 none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-caps/nvidia-cap2 dev/nvidia-caps/nvidia-cap2 none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file
lxc.mount.entry: /run/udev run/udev none bind,optional,create=dir
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

And here is the lxc container's /run directory listing:

root@dockge:~# ls /run
agetty.reload  dbus               initctl       network          sudo       utmp
containerd     dhclient.eth0.pid  lock          sendsigs.omit.d  systemd
credentials    docker             log           shm              tailscale
crond.pid      docker.pid         motd.dynamic  sshd             udev
crond.reboot   docker.sock        mount         sshd.pid         user
<!-- gh-comment-id:2158882932 --> @jefflewis commented on GitHub (Jun 10, 2024): >If you could gather those I'd be happy to look into it! It's hard for me to get a good log set for these... I'll get that soon, but after more use, when this errors is when the app is quit and then restarted. Connections on restart can take quite a few connections to get started. I've not seen mid-session dropouts since boosting the container's resource specs. >That is very odd.. If gamepads works that means that Wolf is indeed able to create those devices using uinput. They'll too will appear as additional /dev/input/event** and /dev/input/js** in your host, can you check if they are present? Agreed! Here's the listing for `/dev` and `/dev/input` for the proxmox host and lxc container In the proxmox host (pve1): ``` root@pve1:~# ls /dev/input by-id event1 event12 event15 event18 event20 event5 event8 js1 mouse1 by-path event10 event13 event16 event19 event3 event6 event9 mice event0 event11 event14 event17 event2 event4 event7 js0 mouse0 ``` ``` root@pve1:~# ls /dev autofs i2c-15 nvme0n1 tty15 tty56 udmabuf block i2c-16 nvme0n1p1 tty16 tty57 uhid btrfs-control i2c-17 nvme0n1p9 tty17 tty58 uinput bus i2c-2 nvme1 tty18 tty59 urandom char i2c-3 nvme1n1 tty19 tty6 userfaultfd console i2c-4 nvme1n1p1 tty2 tty60 userio core i2c-5 nvme1n1p9 tty20 tty61 vcs cpu i2c-6 nvme2 tty21 tty62 vcs1 cpu_dma_latency i2c-7 nvme2n1 tty22 tty63 vcs2 cuse i2c-8 nvme2n1p1 tty23 tty7 vcs3 disk i2c-9 nvme2n1p2 tty24 tty8 vcs4 dm-0 initctl nvme2n1p3 tty25 tty9 vcs5 dm-1 input nvram tty26 ttyprintk vcs6 dm-2 iommu port tty27 ttyS0 vcsa dm-3 kmsg ppp tty28 ttyS1 vcsa1 dm-4 kvm pps0 tty29 ttyS10 vcsa2 dm-5 log pps1 tty3 ttyS11 vcsa3 dm-6 loop0 psaux tty30 ttyS12 vcsa4 dm-7 loop1 ptmx tty31 ttyS13 vcsa5 dm-8 loop2 ptp0 tty32 ttyS14 vcsa6 dma_heap loop3 ptp1 tty33 ttyS15 vcsu dri loop4 ptp2 tty34 ttyS16 vcsu1 drm_dp_aux0 loop5 ptp3 tty35 ttyS17 vcsu2 drm_dp_aux1 loop6 pts tty36 ttyS18 vcsu3 drm_dp_aux2 loop7 pve tty37 ttyS19 vcsu4 drm_dp_aux3 loop-control random tty38 ttyS2 vcsu5 ecryptfs mapper rfkill tty39 ttyS20 vcsu6 fb0 mcelog rtc tty4 ttyS21 vfio fb1 mei0 rtc0 tty40 ttyS22 vga_arbiter fd mem shm tty41 ttyS23 vhci full mqueue snapshot tty42 ttyS24 vhost-net fuse mtd0 snd tty43 ttyS25 vhost-vsock gpiochip0 mtd0ro stderr tty44 ttyS26 zd0 hidraw0 net stdin tty45 ttyS27 zd16 hidraw1 ng0n1 stdout tty46 ttyS28 zd16p1 hpet ng1n1 tpm0 tty47 ttyS29 zd16p2 hugepages ng2n1 tpmrm0 tty48 ttyS3 zd16p3 hwrng null tty tty49 ttyS30 zero i2c-0 nvidia0 tty0 tty5 ttyS31 zfs i2c-1 nvidia-caps tty1 tty50 ttyS4 zvol i2c-10 nvidiactl tty10 tty51 ttyS5 i2c-11 nvidia-modeset tty11 tty52 ttyS6 i2c-12 nvidia-uvm tty12 tty53 ttyS7 i2c-13 nvidia-uvm-tools tty13 tty54 ttyS8 i2c-14 nvme0 tty14 tty55 ttyS9 ``` In the lxc-container running the docker container (dockge): ``` root@dockge:~# ls /dev/input by-id event1 event12 event15 event18 event20 event5 event8 js1 mouse1 by-path event10 event13 event16 event19 event3 event6 event9 mice event0 event11 event14 event17 event2 event4 event7 js0 mouse0 ``` ``` root@dockge:~# ls /dev console hugepages null nvidiactl stderr ttyACM0 zero core initctl nvidia-caps ptmx stdin ttyACM1 dri input nvidia-modeset pts stdout ttyUSB0 fb0 log nvidia-uvm random tty ttyUSB1 fd mqueue nvidia-uvm-tools serial tty1 uinput full net nvidia0 shm tty2 urandom ``` > Btw, have you added the /run/udev mount in the LXC container like I've mentioned before? Yep! Here's the full lxc conf being used: ```conf #<div align='center'><a href='https%3A//Helper-Scripts.com' target='_blank' rel='noopener noreferrer'><img src='https%3A//raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo-81x112.png'/></a> # # # Dockge LXC # # <a href='https%3A//ko-fi.com/D1D7EP4GF'><img src='https%3A//img.shields.io/badge/&#x2615;-Buy me a coffee-blue' /></a> # </div> arch: amd64 cores: 12 features: nesting=1 hostname: dockge memory: 26624 net0: name=eth0,bridge=vmbr0,hwaddr=BC:24:11:59:13:EA,ip=dhcp,tag=20,type=veth onboot: 1 ostype: debian rootfs: local-zfs-2:subvol-306-disk-0,size=300G swap: 512 tags: proxmox-helper-scripts lxc.cgroup2.devices.allow: a lxc.cap.drop: lxc.cgroup2.devices.allow: c 188:* rwm lxc.cgroup2.devices.allow: c 13:* rwm lxc.cgroup2.devices.allow: c 189:* lxc.mount.entry: /dev/serial/by-id dev/serial/by-id none bind,optional,create=dir lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file lxc.mount.entry: /dev/ttyUSB1 dev/ttyUSB1 none bind,optional,create=file lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file lxc.cgroup2.devices.allow: c 226:0 rwm lxc.cgroup2.devices.allow: c 226:128 rwm lxc.cgroup2.devices.allow: c 29:0 rwm lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file lxc.mount.entry: /dev/dri/renderD129 dev/dri/renderD129 none bind,optional,create=file lxc.cgroup2.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net dev/net none bind,optional,create=dir lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file lxc.cgroup2.devices.allow: c 10:223 rwm lxc.mount.entry: /dev/uinput dev/uinput none bind,optional,create=file lxc.mount.entry: /dev/input dev/input none bind,optional,create=dir lxc.cgroup2.devices.allow: c 195:* rwm lxc.cgroup2.devices.allow: c 506:* rwm lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file lxc.mount.entry: /dev/nvidia-caps/ dev/nvidia-caps none bind,optional,create=dir lxc.mount.entry: /dev/nvidia-caps/nvidia-cap1 dev/nvidia-caps/nvidia-cap1 none bind,optional,create=file lxc.mount.entry: /dev/nvidia-caps/nvidia-cap2 dev/nvidia-caps/nvidia-cap2 none bind,optional,create=file lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file lxc.mount.entry: /run/udev run/udev none bind,optional,create=dir lxc.cgroup2.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file ``` And here is the lxc container's `/run` directory listing: ``` root@dockge:~# ls /run agetty.reload dbus initctl network sudo utmp containerd dhclient.eth0.pid lock sendsigs.omit.d systemd credentials docker log shm tailscale crond.pid docker.pid motd.dynamic sshd udev crond.reboot docker.sock mount sshd.pid user ```
Author
Owner

@ABeltramo commented on GitHub (Jun 11, 2024):

I can see that the list of devices under /dev/input is the same in the host and in the LXC container but are those mouse0 and mouse1 the virtual devices from Wolf? Are you checking this whilst running a stream (or at least with an app paused)? Is the same list available inside the Wolf container?
(btw it might be worth continuing this on Discord so that we can go back and forth faster, if you'd like)

<!-- gh-comment-id:2161460155 --> @ABeltramo commented on GitHub (Jun 11, 2024): I can see that the list of devices under `/dev/input` is the same in the host and in the LXC container but are those `mouse0` and `mouse1` the virtual devices from Wolf? Are you checking this whilst running a stream (or at least with an app paused)? Is the same list available inside the `Wolf` container? (btw it might be worth continuing this on Discord so that we can go back and forth faster, if you'd like)
Author
Owner

@jefflewis commented on GitHub (Jun 12, 2024):

Yea! I'll start a message in the moonlight discord #games-on-whales channel. Thanks again for all of your help!

<!-- gh-comment-id:2163856011 --> @jefflewis commented on GitHub (Jun 12, 2024): Yea! I'll start a message in the moonlight discord #games-on-whales channel. Thanks again for all of your help!
Author
Owner

@vinibutturi commented on GitHub (Jun 25, 2024):

Hi guys, I also managed to create a Privileged LXC on Proxmox running Wolf.

This is how I did:

On PVE Host

  • Make sure your Nvidia drivers are properly installed, run nvidia-smi , ls -l /dev/nividia* the output should look like the below images:

nvidia-smi
image

ls -l /dev/nividia*
image

If you are missing some devices when listing ls -l /dev/nividia*, you can follow the first part of this guide "Making Sure the NVIDIA GPU Kernel Modules Are Loaded in Proxmox VE 8 Automatically"

  • Also make sure that the nvidia-drm module has been loaded by running cat /sys/module/nvidia_drm/parameters/modeset, the expected result is Y
    image

If you got an "N", you can enable it by changing the grub config nano /etc/default/grub and adding the "nvidia-drm.modeset=1" to the
GRUB_CMDLINE_LINUX_DEFAULT line

image

Then update-grub and reboot.

  • Don't forget to create the udev rules: nano /etc/udev/rules.d/85-wolf-virtual-inputs.rules and paste the below content (extracted from Wolf's quickstart )
# Allows Wolf to acces /dev/uinput
KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"

# Move virtual keyboard and mouse into a different seat
SUBSYSTEMS=="input", ATTRS{id/vendor}=="ab00", MODE="0660", GROUP="input", ENV{ID_SEAT}="seat9"

# Joypads
SUBSYSTEMS=="input", ATTRS{name}=="Wolf X-Box One (virtual) pad", MODE="0660", GROUP="input"
SUBSYSTEMS=="input", ATTRS{name}=="Wolf PS5 (virtual) pad", MODE="0660", GROUP="input"
SUBSYSTEMS=="input", ATTRS{name}=="Wolf gamepad (virtual) motion sensors", MODE="0660", GROUP="input"
SUBSYSTEMS=="input", ATTRS{name}=="Wolf Nintendo (virtual) pad", MODE="0660", GROUP="input"
  • Create your LXC container with docker, I've used tteck's script to create a privileged docker LXC with Debian 12, make sure you select Y when asked to install docker-compose.

  • Edit you LXC config file nano /etc/pve/lxc/108.conf and remove the following lines (They are for usb passthrough but make no sense to keep them as we'll pass /dev/input to the LXC)

image

  • Add the below lines to your LXC config file
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/input mnt/input none bind,optional,create=dir
lxc.mount.entry: /run/udev mnt/udev none bind,optional,create=dir
dev0: /dev/uinput
dev1: /dev/nvidia0
dev2: /dev/nvidiactl
dev3: /dev/nvidia-modeset
dev4: /dev/nvidia-uvm
dev5: /dev/nvidia-uvm-tools
dev6: /dev/nvidia-caps/nvidia-cap1
dev7: /dev/nvidia-caps/nvidia-cap2

This is what it should look like in the end
image

We are done working on the PVE host, start (or restart your LXC).

On LXC

  • Follow the quickstart to create your nvidia-drivers image

curl https://raw.githubusercontent.com/games-on-whales/gow/master/images/nvidia-driver/Dockerfile | docker build -t gow/nvidia-driver:latest -f - --build-arg NV_VERSION=$(cat /sys/module/nvidia/version) .

and then

docker create --rm --mount source=nvidia-driver-vol,destination=/usr/nvidia gow/nvidia-driver:latest sh

  • create your docker-compose.yml: nano docker-compose.yml and paste the following
services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    environment:
      - XDG_RUNTIME_DIR=/tmp/sockets
      - NVIDIA_DRIVER_VOLUME_NAME=nvidia-driver-vol
      - HOST_APPS_STATE_FOLDER=/etc/wolf
      - WOLF_RENDER_NODE=/dev/dri/renderD129
    volumes:
      - /etc/wolf/:/etc/wolf:rw
      - /tmp/sockets:/tmp/sockets:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/shm:/dev/shm:rw
      - /mnt/input:/dev/input:rw
      - /mnt/udev:/run/udev:rw
      - nvidia-driver-vol:/usr/nvidia:rw
    devices:
      - /dev/dri
      - /dev/uinput
      - /dev/nvidia-uvm
      - /dev/nvidia-uvm-tools
      - /dev/nvidia-caps/nvidia-cap1
      - /dev/nvidia-caps/nvidia-cap2
      - /dev/nvidiactl
      - /dev/nvidia0
      - /dev/nvidia-modeset
    device_cgroup_rules:
      - 'c 13:* rmw'
    network_mode: host
    restart: always

volumes:
  nvidia-driver-vol:
    external: true

pay attention to the highlighted lines, as they differ from the one on the quickstart

image

now a docker compose up should be all that's left for you to enjoy Wolf 😁

Next step is trying to do the same but inside an Unprivileged LXC 🤪

<!-- gh-comment-id:2188451971 --> @vinibutturi commented on GitHub (Jun 25, 2024): Hi guys, I also managed to create a Privileged LXC on Proxmox running Wolf. This is how I did: **On PVE Host** - Make sure your Nvidia drivers are properly installed, run `nvidia-smi` , `ls -l /dev/nividia*` the output should look like the below images: `nvidia-smi` ![image](https://github.com/games-on-whales/wolf/assets/52698274/141e04f6-9dcd-4282-813e-536b148b8e24) `ls -l /dev/nividia*` ![image](https://github.com/games-on-whales/wolf/assets/52698274/e19f9e31-77e3-4fe3-a5e1-9ccb7595bec7) If you are missing some devices when listing `ls -l /dev/nividia*`, you can follow the first part of [this guide](https://www.linuxconsultant.org/how-to-passthrough-nvidia-gpu-to-proxmox-ve-8-containers-for-cuda-ai-acceleration-and-media-transcoding/) "Making Sure the NVIDIA GPU Kernel Modules Are Loaded in Proxmox VE 8 Automatically" - Also make sure that the nvidia-drm module has been loaded by running `cat /sys/module/nvidia_drm/parameters/modeset`, the expected result is Y ![image](https://github.com/games-on-whales/wolf/assets/52698274/92395504-550d-472d-9bb2-84ac132d01dc) If you got an "N", you can enable it by changing the grub config `nano /etc/default/grub` and adding the "nvidia-drm.modeset=1" to the GRUB_CMDLINE_LINUX_DEFAULT line ![image](https://github.com/games-on-whales/wolf/assets/52698274/2d1be752-5570-4926-8dbd-aa1b9d350f7f) Then `update-grub` and `reboot`. - Don't forget to create the udev rules: `nano /etc/udev/rules.d/85-wolf-virtual-inputs.rules` and paste the below content (extracted from Wolf's [quickstart ](https://games-on-whales.github.io/wolf/stable/user/quickstart.html)) ``` # Allows Wolf to acces /dev/uinput KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput" # Move virtual keyboard and mouse into a different seat SUBSYSTEMS=="input", ATTRS{id/vendor}=="ab00", MODE="0660", GROUP="input", ENV{ID_SEAT}="seat9" # Joypads SUBSYSTEMS=="input", ATTRS{name}=="Wolf X-Box One (virtual) pad", MODE="0660", GROUP="input" SUBSYSTEMS=="input", ATTRS{name}=="Wolf PS5 (virtual) pad", MODE="0660", GROUP="input" SUBSYSTEMS=="input", ATTRS{name}=="Wolf gamepad (virtual) motion sensors", MODE="0660", GROUP="input" SUBSYSTEMS=="input", ATTRS{name}=="Wolf Nintendo (virtual) pad", MODE="0660", GROUP="input" ``` - Create your LXC container with docker, I've used [tteck's script](https://tteck.github.io/Proxmox/) to create a privileged docker LXC with Debian 12, make sure you select Y when asked to install docker-compose. - Edit you LXC config file `nano /etc/pve/lxc/108.conf` and remove the following lines (They are for usb passthrough but make no sense to keep them as we'll pass /dev/input to the LXC) ![image](https://github.com/games-on-whales/wolf/assets/52698274/f821ae7b-bffe-4ee4-ac93-12928f289050) - Add the below lines to your LXC config file ``` lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir lxc.mount.entry: /dev/input mnt/input none bind,optional,create=dir lxc.mount.entry: /run/udev mnt/udev none bind,optional,create=dir dev0: /dev/uinput dev1: /dev/nvidia0 dev2: /dev/nvidiactl dev3: /dev/nvidia-modeset dev4: /dev/nvidia-uvm dev5: /dev/nvidia-uvm-tools dev6: /dev/nvidia-caps/nvidia-cap1 dev7: /dev/nvidia-caps/nvidia-cap2 ``` This is what it should look like in the end ![image](https://github.com/games-on-whales/wolf/assets/52698274/8715bcba-9ba0-4367-a63a-05a3fd4506ae) We are done working on the PVE host, start (or restart your LXC). **On LXC** - Follow the [quickstart](https://games-on-whales.github.io/wolf/stable/user/quickstart.html) to create your nvidia-drivers image `curl https://raw.githubusercontent.com/games-on-whales/gow/master/images/nvidia-driver/Dockerfile | docker build -t gow/nvidia-driver:latest -f - --build-arg NV_VERSION=$(cat /sys/module/nvidia/version) .` and then `docker create --rm --mount source=nvidia-driver-vol,destination=/usr/nvidia gow/nvidia-driver:latest sh ` - create your docker-compose.yml: `nano docker-compose.yml` and paste the following ``` services: wolf: image: ghcr.io/games-on-whales/wolf:stable environment: - XDG_RUNTIME_DIR=/tmp/sockets - NVIDIA_DRIVER_VOLUME_NAME=nvidia-driver-vol - HOST_APPS_STATE_FOLDER=/etc/wolf - WOLF_RENDER_NODE=/dev/dri/renderD129 volumes: - /etc/wolf/:/etc/wolf:rw - /tmp/sockets:/tmp/sockets:rw - /var/run/docker.sock:/var/run/docker.sock:rw - /dev/shm:/dev/shm:rw - /mnt/input:/dev/input:rw - /mnt/udev:/run/udev:rw - nvidia-driver-vol:/usr/nvidia:rw devices: - /dev/dri - /dev/uinput - /dev/nvidia-uvm - /dev/nvidia-uvm-tools - /dev/nvidia-caps/nvidia-cap1 - /dev/nvidia-caps/nvidia-cap2 - /dev/nvidiactl - /dev/nvidia0 - /dev/nvidia-modeset device_cgroup_rules: - 'c 13:* rmw' network_mode: host restart: always volumes: nvidia-driver-vol: external: true ``` pay attention to the highlighted lines, as they differ from the one on the quickstart ![image](https://github.com/games-on-whales/wolf/assets/52698274/df6ff986-4bec-4e74-9cb2-f2403179ecd1) now a `docker compose up` should be all that's left for you to enjoy Wolf 😁 Next step is trying to do the same but inside an Unprivileged LXC 🤪
Author
Owner

@jefflewis commented on GitHub (Jul 14, 2024):

@vinibutturi Were you also able to get the mouse and keyboard input working? I was able to run this fine with only joypad support, but anything requiring the other inputs was failing.

<!-- gh-comment-id:2227328426 --> @jefflewis commented on GitHub (Jul 14, 2024): @vinibutturi Were you also able to get the mouse and keyboard input working? I was able to run this fine with only joypad support, but anything requiring the other inputs was failing.
Author
Owner

@vinibutturi commented on GitHub (Jul 14, 2024):

@vinibutturi Were you also able to get the mouse and keyboard input working? I was able to run this fine with only joypad support, but anything requiring the other inputs was failing.

I mainly use Retroarch, so I cannot say about playing games with mouse and keyboard, but they do work on the Retroarch menu. So I would say, yes.

Maybe you're running into permission issues, i have set my LXC to allow acess to all shared devices by adding the below to mey LXC config file:

lxc.cgroup2.devices.allow: a
lxc.cap.drop:

with this you don't need to add individually permissions to the devices by using major and minor ids, etc...

If you still can't figure it out, shout out on the discord group. There's me a another member toying with LXC there and he also had similar behaviour (joypad or but no keyboard/mouse) and we'll try to help you.

<!-- gh-comment-id:2227333293 --> @vinibutturi commented on GitHub (Jul 14, 2024): > @vinibutturi Were you also able to get the mouse and keyboard input working? I was able to run this fine with only joypad support, but anything requiring the other inputs was failing. I mainly use Retroarch, so I cannot say about playing games with mouse and keyboard, but they do work on the Retroarch menu. So I would say, yes. Maybe you're running into permission issues, i have set my LXC to allow acess to all shared devices by adding the below to mey LXC config file: `lxc.cgroup2.devices.allow: a` `lxc.cap.drop:` with this you don't need to add individually permissions to the devices by using major and minor ids, etc... If you still can't figure it out, shout out on the discord group. There's me a another member toying with LXC there and he also had similar behaviour (joypad or but no keyboard/mouse) and we'll try to help you.
Author
Owner

@Cronvs commented on GitHub (Jul 19, 2025):

      - /etc/wolf/:/etc/wolf:rw
      - /tmp/sockets:/tmp/sockets:rw
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/shm:/dev/shm:rw
      - /mnt/input:/dev/input:rw
      - /mnt/udev:/run/udev:rw
      - nvidia-driver-vol:/usr/nvidia:rw

Why does it need write access to udev, and input, isn't write to uinput enough?
Also, isn't giving specific devices in /dev/dri enough?

<!-- gh-comment-id:3092397754 --> @Cronvs commented on GitHub (Jul 19, 2025): ``` - /etc/wolf/:/etc/wolf:rw - /tmp/sockets:/tmp/sockets:rw - /var/run/docker.sock:/var/run/docker.sock:rw - /dev/shm:/dev/shm:rw - /mnt/input:/dev/input:rw - /mnt/udev:/run/udev:rw - nvidia-driver-vol:/usr/nvidia:rw ``` Why does it need write access to udev, and input, isn't write to uinput enough? Also, isn't giving specific devices in /dev/dri enough?
Author
Owner

@ABeltramo commented on GitHub (Jul 19, 2025):

I should write this better in the docs, but here's the rundown:

  • If you only need mouse and keyboard support, there's no need for any of those extra stuff from the host. Our custom micro Wayland compositor will directly pick the events from the Moonlight stream and send them downstream to the running app.
  • In order to create virtual Xbox and Nintendo joypads we need /dev/uinput and /dev/input/ access
  • In order to support hot-plugging them during a stream session we need access to /run/udev
  • In order to fully support virtual DualSense joypads including touchpad, gyro, motion, adaptive triggers, LED and battery we need access to /dev/uhid which will end up creating /dev/input/event* devices and /dev/hidraw* at runtime.

If you are interested in the low level details of how all this works under the hood I've written a bunch of blog posts: Faking udev for containerized apps, When uinput Isn’t Enough: Virtualizing a DualSense controller, Creating a Virtual DualSense Controller via UHID and Beyond USB: Improving Virtual Controller Support in Linux Games

<!-- gh-comment-id:3092405828 --> @ABeltramo commented on GitHub (Jul 19, 2025): I should write this better in the docs, but here's the rundown: - If you only need mouse and keyboard support, there's no need for any of those extra stuff from the host. Our custom micro Wayland compositor will directly pick the events from the Moonlight stream and send them downstream to the running app. - In order to create virtual Xbox and Nintendo joypads we need `/dev/uinput` and `/dev/input/` access - In order to support hot-plugging them during a stream session we need access to `/run/udev` - In order to fully support virtual DualSense joypads including touchpad, gyro, motion, adaptive triggers, LED and battery we need access to `/dev/uhid` which will end up creating `/dev/input/event*` devices **and** `/dev/hidraw*` at runtime. If you are interested in the low level details of how all this works under the hood I've written a bunch of blog posts: [Faking udev for containerized apps](https://abeltra.me/blog/docker-hotplug/), [When uinput Isn’t Enough: Virtualizing a DualSense controller](https://abeltra.me/blog/inputtino-uhid-1/), [Creating a Virtual DualSense Controller via UHID](https://abeltra.me/blog/inputtino-uhid-2/) and [Beyond USB: Improving Virtual Controller Support in Linux Games](https://abeltra.me/blog/inputtino-uhid-3/)
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#50
No description provided.