Giter Club home page Giter Club logo

Comments (7)

ABeltramo avatar ABeltramo commented on May 23, 2024

You are right, the error at the end "Failed to connect: Connection refused" is clearly an issue with PulseAudio.
The container will complain about stuff, those error messages in the logs of pulse are absolutely normal and expected; as long as the container is up and running everything should be fine.
There are a couple of things you can check:

  • The pulse container should create a socket under XDG_RUNTIME_DIR, do you see pulse-socket when calling ls -la /tmp/sockets?
  • If you lower down the Wolf log level to debug you might be able to get more info, you can do that by adding the following env variable: WOLF_LOG_LEVEL=DEBUG

from wolf.

solipsist01 avatar solipsist01 commented on May 23, 2024

So, i finally had some free time :)
It looks like the Wolf container starts the wolfpulseaudio container with the wrong environmental variables.

it should be "XDG_RUNTIME_DIR=/tmp/sockets"
it seems it makes two serperate vars.

 "Config": {
            "Hostname": "aab6390f2c18",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "4713/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "XDG_RUNTIME_DIR",
                "/tmp/sockets",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "PUID=1000",
                "PGID=1000",
                "UMASK=000",
                "UNAME=root",
                "HOME=/root",
                "TZ=Europe/London"
            ],
            "Cmd": null,
            "Image": "ghcr.io/games-on-whales/pulseaudio:master",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "org.opencontainers.image.ref.name": "ubuntu",
                "org.opencontainers.image.source": "https://github.com/games-on-whales/gow",
                "org.opencontainers.image.version": "23.04"
            }
        },

from wolf.

ABeltramo avatar ABeltramo commented on May 23, 2024

Well well, you are absolutely right, we are passing two env variables instead of doing XDG_RUNTIME_DIR=<<runtime_dir>>!
I guess that's working because we still mount /tmp/sockets into /tmp/pulse/ which is the default folder in our custom pulseaudio container.

I still don't see how this is not working for you though:

  • When we start the pulseaudio container from Wolf we do mount /tmp/sockets:/tmp/pulse:rw which seems to be missing from your Volumes definition, for some reason..
  • We then try to connect Wolf to /tmp/sockets/pulse-socket which should be there if you've correctly mounted it in the Wolf container.

Do you ever get the line [PULSE] Pulse connection ready in Wolf?

from wolf.

solipsist01 avatar solipsist01 commented on May 23, 2024

i got pulse working. when wolf starts the pulseaudio container, /tmp/sockets is now mounted into /tmp/pulse inside the container, and it connects! :)

14:43:29.028583076 WARN  | [DOCKER] Container WolfPulseAudio already present, removing first
14:43:29.183985882 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo
14:43:29.268542340 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/serverinfo
14:43:30.720364249 DEBUG | [PULSE] Connecting...
14:43:30.721324866 DEBUG | [PULSE] Pulse connection ready
14:43:32.333061363 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo
14:43:32.368541164 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/serverinfo

i activated the pin, and get presented the apps within moonlight.
however, when i launch an application, i get an RTSP handshake error 10054
both when the app is first created, as well as a resume afterwards, when everything exists.
i'm on the same network as the server. no firewall rules or anything, and container is running in host networking mode.
with GOW / Moonshine i don't had RTSP errors going on :), so i'm pretty sure it's not network related
and, i would say rtsp does infact receives data, considering the commands it receives.

What obvious thing am i missing here? :)

14:44:31.033756528 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/launch
14:44:31.033803995 DEBUG | Setting up input handlers for session: 9490163037892816869
14:44:31.034183430 DEBUG | [INPUT] Created virtual mouse /dev/input/event13
14:44:31.034453845 DEBUG | [INPUT] Created virtual touchpad /dev/input/event14
14:44:31.034680082 DEBUG | [INPUT] Created virtual keyboard /dev/input/event15
14:44:31.034961494 DEBUG | [INPUT] Created virtual controller /dev/input/event16
14:44:31.035425020 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input74/event16 - /dev/input/event16
14:44:31.035479800 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input74/js2 - /dev/input/js2
14:44:31.035664900 DEBUG | [INPUT] Created virtual controller /dev/input/event17
14:44:31.036201640 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input75/event17 - /dev/input/event17
14:44:31.036331072 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input75/js3 - /dev/input/js3
14:44:31.036861310 DEBUG | [INPUT] Created virtual controller /dev/input/event18
14:44:31.038133171 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input76/event18 - /dev/input/event18
14:44:31.038287908 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input76/js4 - /dev/input/js4
14:44:31.038749681 DEBUG | [INPUT] Created virtual controller /dev/input/event19
14:44:31.039627137 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input77/event19 - /dev/input/event19
14:44:31.039736282 DEBUG | [INPUT] Found child: /sys/devices/virtual/input/input77/js5 - /dev/input/js5
14:44:31.040099877 DEBUG | Host app state folder: /etc/wolf/9490163037892816869/Firefox, creating paths
14:44:31.041504942 DEBUG | [STREAM_SESSION] Create virtual audio sink
14:44:31.041640503 DEBUG | [STREAM_SESSION] Create wayland compositor
14:44:31.041657113 DEBUG | [WAYLAND] Creating wayland display
14:44:31.042231164 DEBUG | [PULSE] Created virtual sink: 3
14:44:31.059581259 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo
14:44:31.070998507 DEBUG | [RTSP] received command OPTIONS
14:44:31.083923938 DEBUG | [RTSP] received command DESCRIBE
14:44:31.094075590 DEBUG | WAYLAND_DISPLAY=/tmp/sockets/wayland-1
14:44:31.094362576 DEBUG | [RTSP] received command SETUP
14:44:31.094371289 DEBUG | /proc/driver/nvidia/gpus/0000:00:02.0/information doesn't exists, this might be normal if the GPU is not Nvidia
14:44:31.099828309 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
14:44:31.100005861 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/serverinfo
14:44:31.101109911 WARN  | [DOCKER] Container WolfFirefox_9490163037892816869 already present, removing first
14:44:31.107309587 DEBUG | [RTSP] received command SETUP
14:44:31.118038960 DEBUG | [RTSP] received command SETUP
14:44:31.131208213 ERROR | [RTSP] error parsing message
14:44:31.535707154 INFO  | Starting container: /WolfFirefox_9490163037892816869
14:44:31.535754297 DEBUG | Starting container: {
 id: cc41c4e9cebd4438ea77316298feee3dad551918acd0b09098c16f271da1255d
 name: /WolfFirefox_9490163037892816869
 image: ghcr.io/games-on-whales/firefox:edge
 status: 0
 ports: []
 mounts: [/tmp/sockets/pulse-socket:/tmp/sockets/pulse-socket:rw, /tmp/sockets/wayland-1:/tmp/sockets/wayland-1:rw, /etc/wolf/9490163037892816869/Firefox:/home/retro:rw]
 devices: [/dev/input/event13:/dev/input/event13:mrw, /dev/input/event14:/dev/input/event14:mrw, /dev/input/event15:/dev/input/event15:mrw, /dev/input/event16:/dev/input/event16:mrw, /dev/input/js2:/dev/input/js2:mrw, /dev/input/event17:/dev/input/event17:mrw, /dev/input/js3:/dev/input/js3:mrw, /dev/input/event18:/dev/input/event18:mrw, /dev/input/js4:/dev/input/js4:mrw, /dev/input/event19:/dev/input/event19:mrw, /dev/input/js5:/dev/input/js5:mrw, /dev/dri/card0:/dev/dri/card0:mrw, /dev/dri/renderD128:/dev/dri/renderD128:mrw, /dev/dri/card0:/dev/dri/card0:mrw]
 env: ["MOZ_ENABLE_WAYLAND=1", "GOW_REQUIRED_DEVICES=/dev/uinput /dev/input/event* /dev/dri/* /dev/nvidia*", "PULSE_SOURCE=virtual_sink_9490163037892816869.monitor", "GAMESCOPE_REFRESH=60", "PULSE_SINK=virtual_sink_9490163037892816869", "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", "GAMESCOPE_VERSION=3.12.0-beta9", "DEBIAN_FRONTEND=noninteractive", "BUILD_ARCHITECTURE=amd64", "DEB_BUILD_OPTIONS=noddebs"]
}
14:44:34.161185532 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo
14:44:34.205892581 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/serverinfo
14:44:34.234823059 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo

This is logs from a 'resume'

14:55:09.269911614 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/resume
14:55:09.270072508 DEBUG | Host app state folder: /etc/wolf/9490163037892816869/Firefox, creating paths
14:55:09.302177243 DEBUG | [RTSP] received command OPTIONS
14:55:09.313634090 DEBUG | [RTSP] received command DESCRIBE
14:55:09.326071388 DEBUG | [RTSP] received command SETUP
14:55:09.337725550 DEBUG | [RTSP] received command SETUP
14:55:09.346301242 DEBUG | [RTSP] received command SETUP
14:55:09.362838431 ERROR | [RTSP] error parsing message
14:55:11.404459815 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo
14:55:11.447443047 DEBUG | 192.168.10.158 [GET] HTTPS://192.168.10.253/serverinfo
14:55:13.271989100 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo
14:55:13.323213352 DEBUG | 192.168.10.158 [GET] HTTP://192.168.10.253/serverinfo

This is the actual docker-compose.yml file content:

version: "3.8"
services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    environment:
      - XDG_RUNTIME_DIR=/tmp/sockets
      - HOST_APPS_STATE_FOLDER=/etc/wolf
      - WOLF_LOG_LEVEL=DEBUG
    volumes:
      - /etc/wolf/wolf:/wolf/cfg
      - /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
    devices:
      - /dev/dri
      - /dev/uinput
    device_cgroup_rules:
      - 'c 13:* rmw'
    network_mode: host
    restart: unless-stopped

docker inspect wolf


 "Config": {
            "Hostname": "debian",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "47984/tcp": {},
                "47989/tcp": {},
                "47998/udp": {},
                "47999/udp": {},
                "48000/udp": {},
                "48010/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [

the pulse audio log:

[2023-10-14 14:43:29] Removing all files from /root/.config/pulse
[2023-10-14 14:43:29] Starting pulseaudio
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
W: [pulseaudio] authkey.c: Failed to open cookie file '/root/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key '/root/.config/pulse/cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to open cookie file '/root/.pulse-cookie': No such file or directory
W: [pulseaudio] authkey.c: Failed to load authentication key '/root/.pulse-cookie': No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
E: [null-sink] util.c: Failed to connect to system bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory

from wolf.

ABeltramo avatar ABeltramo commented on May 23, 2024

i got pulse working. when wolf starts the pulseaudio container, /tmp/sockets is now mounted into /tmp/pulse inside the container, and it connects!

What have you changed? Are you running the pulse container manually? Wolf should try and set that up automatically when failing to connect to pulseaudio.

when i launch an application, i get an RTSP handshake error 10054

This has been reported by others on Discord but I'm not able to replicate it. Which Moonlight client are you using? Could you please also lower down the WOLF_LOG_LEVEL to TRACE and paste the RTSP messages that Wolf receives?

from wolf.

solipsist01 avatar solipsist01 commented on May 23, 2024

this morning, i wanted to do a trace
now it's working flawlessly
i really don't understand why, though, i hate that.
if i get it again, i will definately provide the trace.

to get pulse working, i did alot of trial and error. so i'm not 100% sure what hit the spot.
i removed all files which are put on several locations. (i was cleaning the config dir only before that)
there's files in the config dir, the /tmp/sockets dir, as well as /bin/something. i tried to cleanout everything, and then it worked.
perhaps some leftovers from GOW or something, or an old version of a toml i don't know :)

from wolf.

Rikiar73574 avatar Rikiar73574 commented on May 23, 2024

just in case, i am facing the same issue and nothing is really working for me.

from wolf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.