[GH-ISSUE #374] Test audio works, app audio doesn't #253

Closed
opened 2026-10-15 12:58:51 +00:00 by bsakaguchi · 12 comments
Owner

Originally created by @eco9898 on GitHub (Mar 28, 2026).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/374

I set up the container yesterday using the quickstart and I have not been able to get audio output. I have tried reading over other issues and applying changes, but most of what I have tried has resulted in no changes.

version: "3"
services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    environment:
      - NVIDIA_DRIVER_CAPABILITIES=all
      - NVIDIA_VISIBLE_DEVICES=all
    volumes:
      - /path/to/my/data:/etc/wolf
      - /var/run/docker.sock:/var/run/docker.sock:rw
      - /dev/:/dev/:rw
      - /run/udev:/run/udev:rw
    device_cgroup_rules:
      - 'c 13:* rmw'
    devices:
      - /dev/dri
      - /dev/uinput
      - /dev/uhid
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    network_mode: host
    restart: unless-stopped
config_version = 6
hostname = 'Steam-Wolf'
uuid = 'XXXXXXXXXXXXXXXXXXXX'

[gstreamer.audio]
default_audio_params = 'queue max-size-buffers=3 leaky=downstream ! audiorate ! audioconvert'
default_opus_encoder = 'opusenc bitrate={bitrate} bitrate-type=cbr frame-size={packet_duration} bandwidth=fullband audio-type=restricted-lowdelay max-payload-size=1400'
default_sink = '''rtpmoonlightpay_audio name=moonlight_pay packet_duration={packet_duration} encrypt={encrypt} aes_key="{aes_key}" aes_iv="{aes_iv}" !
appsink name=wolf_udp_sink'''
default_source = 'interpipesrc name=interpipesrc_{}_audio listen-to={session_id}_audio is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=3 block=false'

[gstreamer.video]
default_sink = '''rtpmoonlightpay_video name=moonlight_pay payload_size={payload_size} fec_percentage={fec_percentage} min_required_fec_packets={min_required_fec_packets} !
appsink sync=false name=wolf_udp_sink
'''
default_source = 'interpipesrc name=interpipesrc_{}_video listen-to={session_id}_video is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=1 leaky-type=downstream'

    [gstreamer.video.defaults.nvcodec]
    video_params = '''cudaupload !
cudaconvertscale add-borders=true !
video/x-raw(memory:CUDAMemory), width={width}, height={height}, chroma-site={color_range}, format=NV12, colorimetry={color_space}, pixel-aspect-ratio=1/1'''
    video_params_zero_copy = '''cudaupload !
cudaconvertscale add-borders=true !
video/x-raw(memory:CUDAMemory),format=NV12, width={width}, height={height}, pixel-aspect-ratio=1/1
'''

    [gstreamer.video.defaults.qsv]
    video_params = '''videoconvertscale !
video/x-raw, chroma-site={color_range}, width={width}, height={height}, format=NV12,
colorimetry={color_space}, pixel-aspect-ratio=1/1'''
    video_params_zero_copy = '''vapostproc add-borders=true !
video/x-raw(memory:VAMemory), format=NV12, width={width}, height={height}, pixel-aspect-ratio=1/1'''

    [gstreamer.video.defaults.va]
    video_params = '''vapostproc add-borders=true !
video/x-raw, chroma-site={color_range}, width={width}, height={height}, format=NV12,
colorimetry={color_space}, pixel-aspect-ratio=1/1'''
    video_params_zero_copy = '''vapostproc add-borders=true !
video/x-raw(memory:VAMemory), format=NV12, width={width}, height={height}, pixel-aspect-ratio=1/1'''

    [[gstreamer.video.av1_encoders]]
    check_elements = [ 'nvav1enc', 'cudaconvertscale', 'cudaupload' ]
    encoder_pipeline = '''nvav1enc gop-size=-1 bitrate={bitrate} rc-mode=cbr zerolatency=true preset=p1 tune=ultra-low-latency multi-pass=two-pass-quarter !
av1parse !
video/x-av1, stream-format=obu-stream, alignment=frame, profile=main'''
    plugin_name = 'nvcodec'

    [[gstreamer.video.av1_encoders]]
    check_elements = [ 'vaav1enc', 'vapostproc' ]
    encoder_pipeline = '''vaav1enc ref-frames=1 bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 !
av1parse !
video/x-av1, stream-format=obu-stream, alignment=frame, profile=main'''
    plugin_name = 'va'

    [[gstreamer.video.av1_encoders]]
    check_elements = [ 'vaav1lpenc', 'vapostproc' ]
    encoder_pipeline = '''vaav1lpenc ref-frames=1 bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 !
av1parse !
video/x-av1, stream-format=obu-stream, alignment=frame, profile=main'''
    plugin_name = 'va'

    [[gstreamer.video.av1_encoders]]
    check_elements = [ 'qsvav1enc', 'vapostproc' ]
    encoder_pipeline = '''qsvav1enc gop-size=0 ref-frames=1 bitrate={bitrate} rate-control=cbr low-latency=1 target-usage=6 !
av1parse !
video/x-av1, stream-format=obu-stream, alignment=frame, profile=main'''
    plugin_name = 'qsv'

    [[gstreamer.video.av1_encoders]]
    check_elements = [ 'av1enc' ]
    encoder_pipeline = '''av1enc usage-profile=realtime end-usage=vbr target-bitrate={bitrate} !
av1parse !
video/x-av1, stream-format=obu-stream, alignment=frame, profile=main'''
    plugin_name = 'aom'
    video_params = '''videoconvertscale !
videorate !
video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420,
chroma-site={color_range}, colorimetry={color_space}'''
    video_params_zero_copy = '''videoconvertscale !
videorate !
video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420,
chroma-site={color_range}, colorimetry={color_space}'''

    [[gstreamer.video.h264_encoders]]
    check_elements = [ 'nvh264enc', 'cudaconvertscale', 'cudaupload' ]
    encoder_pipeline = '''nvh264enc preset=low-latency-hq zerolatency=true gop-size=0 rc-mode=cbr-ld-hq bitrate={bitrate} aud=false !
h264parse !
video/x-h264, profile=main, stream-format=byte-stream'''
    plugin_name = 'nvcodec'

    [[gstreamer.video.h264_encoders]]
    check_elements = [ 'vah264enc', 'vapostproc' ]
    encoder_pipeline = '''vah264enc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 !
h264parse !
video/x-h264, profile=main, stream-format=byte-stream'''
    plugin_name = 'va'

    [[gstreamer.video.h264_encoders]]
    check_elements = [ 'vah264lpenc', 'vapostproc' ]
    encoder_pipeline = '''vah264lpenc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 !
h264parse !
video/x-h264, profile=main, stream-format=byte-stream'''
    plugin_name = 'va'

    [[gstreamer.video.h264_encoders]]
    check_elements = [ 'qsvh264enc', 'vapostproc' ]
    encoder_pipeline = '''qsvh264enc b-frames=0 gop-size=0 idr-interval=1 ref-frames=1 bitrate={bitrate} rate-control=cbr target-usage=6  !
h264parse !
video/x-h264, profile=main, stream-format=byte-stream'''
    plugin_name = 'qsv'

    [[gstreamer.video.h264_encoders]]
    check_elements = [ 'x264enc' ]
    encoder_pipeline = '''x264enc pass=qual tune=zerolatency speed-preset=superfast b-adapt=false bframes=0 ref=1
sliced-threads=true threads={slices_per_frame} option-string="slices={slices_per_frame}:keyint=infinite:open-gop=0"
b-adapt=false bitrate={bitrate} aud=false !
video/x-h264, profile=high, stream-format=byte-stream'''
    plugin_name = 'x264'

    [[gstreamer.video.hevc_encoders]]
    check_elements = [ 'nvh265enc', 'cudaconvertscale', 'cudaupload' ]
    encoder_pipeline = '''nvh265enc gop-size=-1 bitrate={bitrate} aud=false rc-mode=cbr zerolatency=true preset=p1 tune=ultra-low-latency multi-pass=two-pass-quarter !
h265parse !
video/x-h265, profile=main, stream-format=byte-stream'''
    plugin_name = 'nvcodec'

    [[gstreamer.video.hevc_encoders]]
    check_elements = [ 'vah265enc', 'vapostproc' ]
    encoder_pipeline = '''vah265enc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 !
h265parse !
video/x-h265, profile=main, stream-format=byte-stream'''
    plugin_name = 'va'

    [[gstreamer.video.hevc_encoders]]
    check_elements = [ 'qsvh265enc', 'vapostproc' ]
    encoder_pipeline = '''qsvh265enc b-frames=0 gop-size=0 idr-interval=1 ref-frames=1 bitrate={bitrate} rate-control=cbr low-latency=1 target-usage=6 !
h265parse !
video/x-h265, profile=main, stream-format=byte-stream'''
    plugin_name = 'qsv'

    [[gstreamer.video.hevc_encoders]]
    check_elements = [ 'vah265lpenc', 'vapostproc' ]
    encoder_pipeline = '''vah265lpenc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 !
h265parse !
video/x-h265, profile=main, stream-format=byte-stream'''
    plugin_name = 'va'

    [[gstreamer.video.hevc_encoders]]
    check_elements = [ 'x265enc' ]
    encoder_pipeline = '''x265enc tune=zerolatency speed-preset=superfast bitrate={bitrate}
option-string="info=0:keyint=-1:qp=28:repeat-headers=1:slices={slices_per_frame}:aud=0:annexb=1:log-level=3:open-gop=0:bframes=0:intra-refresh=0" !
video/x-h265, profile=main, stream-format=byte-stream'''
    plugin_name = 'x265'
    video_params = '''videoconvertscale !
videorate !
video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420,
chroma-site={color_range}, colorimetry={color_space}'''
    video_params_zero_copy = '''videoconvertscale !
videorate !
video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420,
chroma-site={color_range}, colorimetry={color_space}'''

[[paired_clients]]
app_state_folder = '5808012520907123885'
client_cert = '''-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
'''

    [paired_clients.settings]
    controllers_override = []
    h_scroll_acceleration = 1.0
    mouse_acceleration = 1.0
    run_gid = 1000
    run_uid = 1000
    v_scroll_acceleration = 1.0

[[paired_clients]]
app_state_folder = '15688444711952360678'
client_cert = '''-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
'''

    [paired_clients.settings]
    controllers_override = []
    h_scroll_acceleration = 1.0
    mouse_acceleration = 1.0
    run_gid = 1000
    run_uid = 1000
    v_scroll_acceleration = 1.0

[[paired_clients]]
app_state_folder = '15630495225142109625'
client_cert = '''-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
'''

    [paired_clients.settings]
    controllers_override = []
    h_scroll_acceleration = 1.0
    mouse_acceleration = 1.0
    run_gid = 1000
    run_uid = 1000
    v_scroll_acceleration = 1.0

[[paired_clients]]
app_state_folder = '9773201241745155866'
client_cert = '''-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
'''

    [paired_clients.settings]
    controllers_override = []
    h_scroll_acceleration = 1.0
    mouse_acceleration = 1.0
    run_gid = 1000
    run_uid = 1000
    v_scroll_acceleration = 1.0

[[profiles]]
id = 'moonlight-profile-id'

    [[profiles.apps]]
    icon_png_path = 'https://raw.githubusercontent.com/games-on-whales/wolf-ui/refs/heads/main/src/Icons/wolf_ui_icon.png'
    start_virtual_compositor = true
    title = 'Wolf UI'

        [profiles.apps.runner]
        base_create_json = '''{
      "HostConfig": {
        "IpcMode": "host",
        "CapAdd": ["NET_RAW", "MKNOD", "NET_ADMIN", "SYS_ADMIN", "SYS_NICE"],
        "Privileged": false,
        "DeviceCgroupRules": ["c 13:* rmw", "c 244:* rmw"]
      }
    }'''
        devices = []
        env = [
            'GOW_REQUIRED_DEVICES=/dev/input/event* /dev/dri/* /dev/nvidia*',
            'WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock',
            'WOLF_UI_AUTOUPDATE=False',
            'LOGLEVEL=INFO'
        ]
        image = 'ghcr.io/games-on-whales/wolf-ui:main'
        mounts = [ '/var/run/wolf/wolf.sock:/var/run/wolf/wolf.sock' ]
        name = 'Wolf-UI'
        ports = []
        type = 'docker'

    [[profiles.apps]]
    icon_png_path = 'https://raw.githubusercontent.com/games-on-whales/wolf/refs/heads/stable/docs/images/test_ball_icon.png'
    start_audio_server = false
    start_virtual_compositor = false
    title = 'Test ball'

        [profiles.apps.audio]
        source = 'audiotestsrc wave=ticks is-live=true'

        [profiles.apps.runner]
        run_cmd = "sh -c \"while :; do echo 'running...'; sleep 10; done\""
        type = 'process'

        [profiles.apps.video]
        source = '''videotestsrc pattern=ball flip=true is-live=true !
video/x-raw, framerate={fps}/1
'''

[[profiles]]
id = 'XXXXXXXXXXXXXXXXXXXX'
name = 'XXXXXXXXXXXXXXXXXXXX'

    [[profiles.apps]]
    icon_png_path = 'https://games-on-whales.github.io/wildlife/apps/steam/assets/icon.png'
    start_virtual_compositor = true
    title = 'Steam'

        [profiles.apps.runner]
        base_create_json = '''{
  "HostConfig": {
    "IpcMode": "host",
    "CapAdd": ["SYS_ADMIN", "SYS_NICE", "SYS_PTRACE", "NET_RAW", "MKNOD", "NET_ADMIN"],
    "SecurityOpt": ["seccomp=unconfined", "apparmor=unconfined"],
    "Ulimits": [{"Name":"nofile", "Hard":10240, "Soft":10240}],
    "Privileged": false,
    "DeviceCgroupRules": ["c 13:* rmw", "c 244:* rmw"]
  }
}
'''
        devices = []
        env = [ 'PROTON_LOG=1', 'RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*' ]
        image = 'ghcr.io/games-on-whales/steam:edge'
        mounts = [ '/path/to/steamapps-shared:/home/retro/.steam/steam/steamapps:rw' ]
        name = 'WolfSteam'
        ports = []
        type = 'docker'

    [[profiles.apps]]
    icon_png_path = 'https://games-on-whales.github.io/wildlife/apps/prismlauncher/assets/icon.png'
    start_virtual_compositor = true
    title = 'Prismlauncher'

        [profiles.apps.runner]
        base_create_json = '''{
  "HostConfig": {
    "IpcMode": "host",
    "CapAdd": ["NET_RAW", "MKNOD", "NET_ADMIN", "SYS_ADMIN", "SYS_NICE"],
    "Privileged": false,
    "DeviceCgroupRules": ["c 13:* rmw", "c 244:* rmw"]
  }
}
'''
        devices = []
        env = [ 'RUN_SWAY=1', 'GOW_REQUIRED_DEVICES=/dev/input/event* /dev/dri/* /dev/nvidia* /var/lutris/' ]
        image = 'ghcr.io/games-on-whales/prismlauncher:edge'
        mounts = []
        name = 'Prismlauncher'
        ports = []
        type = 'docker'

pactl list in prism container:


root@40d853596938:~# pactl list
Module #0
        Name: module-native-protocol-unix
        Argument: auth-anonymous=1 socket=/tmp/pulse/pulse-socket
        Usage counter: n/a
        Properties:
                module.author = "Lennart Poettering"
                module.description = "Native protocol (UNIX sockets)"
                module.version = "17.0"

Module #1
        Name: module-always-sink
        Argument: 
        Usage counter: n/a
        Properties:
                module.author = "Colin Guthrie"
                module.description = "Always keeps at least one sink loaded even if it's a null one"
                module.version = "17.0"

Module #2
        Name: module-null-sink
        Argument: sink_name=auto_null sink_properties='device.description="Dummy Output"'
        Usage counter: 1
        Properties:
                module.author = "Lennart Poettering"
                module.description = "Clocked NULL sink"
                module.version = "17.0"

Sink #0
        State: RUNNING
        Name: auto_null
        Description: Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 2
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: auto_null.monitor
        Latency: 14431 usec, configured 20000 usec
        Flags: DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                device.description = "Dummy Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm

Source #0
        State: IDLE
        Name: auto_null.monitor
        Description: Monitor of Dummy Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 2
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor of Sink: auto_null
        Latency: 0 usec, configured 2000000 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                device.description = "Monitor of Dummy Output"
                device.class = "monitor"
                device.icon_name = "audio-input-microphone"
        Formats:
                pcm

Sink Input #5
        Driver: protocol-native.c
        Owner Module: 0
        Client: 36
        Sink: 0
        Sample Specification: float32le 2ch 44100Hz
        Channel Map: front-left,front-right
        Format: pcm, format.sample_format = "\"float32le\""  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
        Corked: no
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Buffer Latency: 60000 usec
        Sink Latency: 14244 usec
        Resample method: copy
        Properties:
                media.name = "Playback Stream"
                application.name = "java"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "35"
                application.process.id = "232"
                application.process.user = "retro"
                application.process.host = "40d853596938"
                application.process.binary = "java"
                application.language = "C"
                window.x11.display = ":0"
                application.process.machine_id = "XXXXXXXXXXXXX"

Client #1
        Driver: protocol-native.c
        Owner Module: 0
        Properties:
                application.name = "Wolf-UI"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "35"
                application.process.id = "1"
                application.process.user = "root"
                application.process.host = "1e066261da27"
                application.process.binary = "wolf-ui"
                application.language = "C"
                application.process.machine_id = "XXXXXXXXXXXXX"

Client #3
        Driver: protocol-native.c
        Owner Module: 0
        Properties:
                application.name = "waybar"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "35"
                application.process.id = "131"
                application.process.user = "retro"
                application.process.host = "40d853596938"
                application.process.binary = "waybar"
                application.language = "C"
                window.x11.display = ":0"
                application.process.machine_id = "XXXXXXXXXXXXX"

Client #36
        Driver: protocol-native.c
        Owner Module: 0
        Properties:
                application.name = "java"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "35"
                application.process.id = "232"
                application.process.user = "retro"
                application.process.host = "40d853596938"
                application.process.binary = "java"
                application.language = "C"
                window.x11.display = ":0"
                application.process.machine_id = "XXXXXXXXXXXXX"

Client #69
        Driver: protocol-native.c
        Owner Module: 0
        Properties:
                application.name = "pactl"
                native-protocol.peer = "UNIX socket client"
                native-protocol.version = "35"
                application.process.id = "730"
                application.process.user = "root"
                application.process.host = "40d853596938"
                application.process.binary = "pactl"
                application.language = "C.UTF-8"
                application.process.machine_id = "XXXXXXXXXXXXX"

This is basically a default config but with paths modified for my steam apps and the wolf profile data to be in a different folder and audio is not working.

I am able to run and play minecraft well, and have had some issues with running proton builds of windows games through steam. I am hoping to test this out more once the audio issues are resolved but do not know where to go from here.

It may be relevant to note this is on a truenas scale installation as that is where my gpu is installed for transcoding purposes. This does mean that pactl is not found on the host, nor is alsamixer.

Originally created by @eco9898 on GitHub (Mar 28, 2026). Original GitHub issue: https://github.com/games-on-whales/wolf/issues/374 I set up the container yesterday using the [quickstart](https://games-on-whales.github.io/wolf/stable/user/quickstart.html) and I have not been able to get audio output. I have tried reading over other issues and applying changes, but most of what I have tried has resulted in no changes. ```yaml version: "3" services: wolf: image: ghcr.io/games-on-whales/wolf:stable environment: - NVIDIA_DRIVER_CAPABILITIES=all - NVIDIA_VISIBLE_DEVICES=all volumes: - /path/to/my/data:/etc/wolf - /var/run/docker.sock:/var/run/docker.sock:rw - /dev/:/dev/:rw - /run/udev:/run/udev:rw device_cgroup_rules: - 'c 13:* rmw' devices: - /dev/dri - /dev/uinput - /dev/uhid deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] network_mode: host restart: unless-stopped ``` ```toml config_version = 6 hostname = 'Steam-Wolf' uuid = 'XXXXXXXXXXXXXXXXXXXX' [gstreamer.audio] default_audio_params = 'queue max-size-buffers=3 leaky=downstream ! audiorate ! audioconvert' default_opus_encoder = 'opusenc bitrate={bitrate} bitrate-type=cbr frame-size={packet_duration} bandwidth=fullband audio-type=restricted-lowdelay max-payload-size=1400' default_sink = '''rtpmoonlightpay_audio name=moonlight_pay packet_duration={packet_duration} encrypt={encrypt} aes_key="{aes_key}" aes_iv="{aes_iv}" ! appsink name=wolf_udp_sink''' default_source = 'interpipesrc name=interpipesrc_{}_audio listen-to={session_id}_audio is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=3 block=false' [gstreamer.video] default_sink = '''rtpmoonlightpay_video name=moonlight_pay payload_size={payload_size} fec_percentage={fec_percentage} min_required_fec_packets={min_required_fec_packets} ! appsink sync=false name=wolf_udp_sink ''' default_source = 'interpipesrc name=interpipesrc_{}_video listen-to={session_id}_video is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=1 leaky-type=downstream' [gstreamer.video.defaults.nvcodec] video_params = '''cudaupload ! cudaconvertscale add-borders=true ! video/x-raw(memory:CUDAMemory), width={width}, height={height}, chroma-site={color_range}, format=NV12, colorimetry={color_space}, pixel-aspect-ratio=1/1''' video_params_zero_copy = '''cudaupload ! cudaconvertscale add-borders=true ! video/x-raw(memory:CUDAMemory),format=NV12, width={width}, height={height}, pixel-aspect-ratio=1/1 ''' [gstreamer.video.defaults.qsv] video_params = '''videoconvertscale ! video/x-raw, chroma-site={color_range}, width={width}, height={height}, format=NV12, colorimetry={color_space}, pixel-aspect-ratio=1/1''' video_params_zero_copy = '''vapostproc add-borders=true ! video/x-raw(memory:VAMemory), format=NV12, width={width}, height={height}, pixel-aspect-ratio=1/1''' [gstreamer.video.defaults.va] video_params = '''vapostproc add-borders=true ! video/x-raw, chroma-site={color_range}, width={width}, height={height}, format=NV12, colorimetry={color_space}, pixel-aspect-ratio=1/1''' video_params_zero_copy = '''vapostproc add-borders=true ! video/x-raw(memory:VAMemory), format=NV12, width={width}, height={height}, pixel-aspect-ratio=1/1''' [[gstreamer.video.av1_encoders]] check_elements = [ 'nvav1enc', 'cudaconvertscale', 'cudaupload' ] encoder_pipeline = '''nvav1enc gop-size=-1 bitrate={bitrate} rc-mode=cbr zerolatency=true preset=p1 tune=ultra-low-latency multi-pass=two-pass-quarter ! av1parse ! video/x-av1, stream-format=obu-stream, alignment=frame, profile=main''' plugin_name = 'nvcodec' [[gstreamer.video.av1_encoders]] check_elements = [ 'vaav1enc', 'vapostproc' ] encoder_pipeline = '''vaav1enc ref-frames=1 bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 ! av1parse ! video/x-av1, stream-format=obu-stream, alignment=frame, profile=main''' plugin_name = 'va' [[gstreamer.video.av1_encoders]] check_elements = [ 'vaav1lpenc', 'vapostproc' ] encoder_pipeline = '''vaav1lpenc ref-frames=1 bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 ! av1parse ! video/x-av1, stream-format=obu-stream, alignment=frame, profile=main''' plugin_name = 'va' [[gstreamer.video.av1_encoders]] check_elements = [ 'qsvav1enc', 'vapostproc' ] encoder_pipeline = '''qsvav1enc gop-size=0 ref-frames=1 bitrate={bitrate} rate-control=cbr low-latency=1 target-usage=6 ! av1parse ! video/x-av1, stream-format=obu-stream, alignment=frame, profile=main''' plugin_name = 'qsv' [[gstreamer.video.av1_encoders]] check_elements = [ 'av1enc' ] encoder_pipeline = '''av1enc usage-profile=realtime end-usage=vbr target-bitrate={bitrate} ! av1parse ! video/x-av1, stream-format=obu-stream, alignment=frame, profile=main''' plugin_name = 'aom' video_params = '''videoconvertscale ! videorate ! video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420, chroma-site={color_range}, colorimetry={color_space}''' video_params_zero_copy = '''videoconvertscale ! videorate ! video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420, chroma-site={color_range}, colorimetry={color_space}''' [[gstreamer.video.h264_encoders]] check_elements = [ 'nvh264enc', 'cudaconvertscale', 'cudaupload' ] encoder_pipeline = '''nvh264enc preset=low-latency-hq zerolatency=true gop-size=0 rc-mode=cbr-ld-hq bitrate={bitrate} aud=false ! h264parse ! video/x-h264, profile=main, stream-format=byte-stream''' plugin_name = 'nvcodec' [[gstreamer.video.h264_encoders]] check_elements = [ 'vah264enc', 'vapostproc' ] encoder_pipeline = '''vah264enc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 ! h264parse ! video/x-h264, profile=main, stream-format=byte-stream''' plugin_name = 'va' [[gstreamer.video.h264_encoders]] check_elements = [ 'vah264lpenc', 'vapostproc' ] encoder_pipeline = '''vah264lpenc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 ! h264parse ! video/x-h264, profile=main, stream-format=byte-stream''' plugin_name = 'va' [[gstreamer.video.h264_encoders]] check_elements = [ 'qsvh264enc', 'vapostproc' ] encoder_pipeline = '''qsvh264enc b-frames=0 gop-size=0 idr-interval=1 ref-frames=1 bitrate={bitrate} rate-control=cbr target-usage=6 ! h264parse ! video/x-h264, profile=main, stream-format=byte-stream''' plugin_name = 'qsv' [[gstreamer.video.h264_encoders]] check_elements = [ 'x264enc' ] encoder_pipeline = '''x264enc pass=qual tune=zerolatency speed-preset=superfast b-adapt=false bframes=0 ref=1 sliced-threads=true threads={slices_per_frame} option-string="slices={slices_per_frame}:keyint=infinite:open-gop=0" b-adapt=false bitrate={bitrate} aud=false ! video/x-h264, profile=high, stream-format=byte-stream''' plugin_name = 'x264' [[gstreamer.video.hevc_encoders]] check_elements = [ 'nvh265enc', 'cudaconvertscale', 'cudaupload' ] encoder_pipeline = '''nvh265enc gop-size=-1 bitrate={bitrate} aud=false rc-mode=cbr zerolatency=true preset=p1 tune=ultra-low-latency multi-pass=two-pass-quarter ! h265parse ! video/x-h265, profile=main, stream-format=byte-stream''' plugin_name = 'nvcodec' [[gstreamer.video.hevc_encoders]] check_elements = [ 'vah265enc', 'vapostproc' ] encoder_pipeline = '''vah265enc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 ! h265parse ! video/x-h265, profile=main, stream-format=byte-stream''' plugin_name = 'va' [[gstreamer.video.hevc_encoders]] check_elements = [ 'qsvh265enc', 'vapostproc' ] encoder_pipeline = '''qsvh265enc b-frames=0 gop-size=0 idr-interval=1 ref-frames=1 bitrate={bitrate} rate-control=cbr low-latency=1 target-usage=6 ! h265parse ! video/x-h265, profile=main, stream-format=byte-stream''' plugin_name = 'qsv' [[gstreamer.video.hevc_encoders]] check_elements = [ 'vah265lpenc', 'vapostproc' ] encoder_pipeline = '''vah265lpenc aud=false b-frames=0 ref-frames=1 num-slices={slices_per_frame} bitrate={bitrate} cpb-size={bitrate} key-int-max=1024 rate-control=cqp target-usage=6 ! h265parse ! video/x-h265, profile=main, stream-format=byte-stream''' plugin_name = 'va' [[gstreamer.video.hevc_encoders]] check_elements = [ 'x265enc' ] encoder_pipeline = '''x265enc tune=zerolatency speed-preset=superfast bitrate={bitrate} option-string="info=0:keyint=-1:qp=28:repeat-headers=1:slices={slices_per_frame}:aud=0:annexb=1:log-level=3:open-gop=0:bframes=0:intra-refresh=0" ! video/x-h265, profile=main, stream-format=byte-stream''' plugin_name = 'x265' video_params = '''videoconvertscale ! videorate ! video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420, chroma-site={color_range}, colorimetry={color_space}''' video_params_zero_copy = '''videoconvertscale ! videorate ! video/x-raw, width={width}, height={height}, framerate={fps}/1, format=I420, chroma-site={color_range}, colorimetry={color_space}''' [[paired_clients]] app_state_folder = '5808012520907123885' client_cert = '''-----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ''' [paired_clients.settings] controllers_override = [] h_scroll_acceleration = 1.0 mouse_acceleration = 1.0 run_gid = 1000 run_uid = 1000 v_scroll_acceleration = 1.0 [[paired_clients]] app_state_folder = '15688444711952360678' client_cert = '''-----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ''' [paired_clients.settings] controllers_override = [] h_scroll_acceleration = 1.0 mouse_acceleration = 1.0 run_gid = 1000 run_uid = 1000 v_scroll_acceleration = 1.0 [[paired_clients]] app_state_folder = '15630495225142109625' client_cert = '''-----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ''' [paired_clients.settings] controllers_override = [] h_scroll_acceleration = 1.0 mouse_acceleration = 1.0 run_gid = 1000 run_uid = 1000 v_scroll_acceleration = 1.0 [[paired_clients]] app_state_folder = '9773201241745155866' client_cert = '''-----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- ''' [paired_clients.settings] controllers_override = [] h_scroll_acceleration = 1.0 mouse_acceleration = 1.0 run_gid = 1000 run_uid = 1000 v_scroll_acceleration = 1.0 [[profiles]] id = 'moonlight-profile-id' [[profiles.apps]] icon_png_path = 'https://raw.githubusercontent.com/games-on-whales/wolf-ui/refs/heads/main/src/Icons/wolf_ui_icon.png' start_virtual_compositor = true title = 'Wolf UI' [profiles.apps.runner] base_create_json = '''{ "HostConfig": { "IpcMode": "host", "CapAdd": ["NET_RAW", "MKNOD", "NET_ADMIN", "SYS_ADMIN", "SYS_NICE"], "Privileged": false, "DeviceCgroupRules": ["c 13:* rmw", "c 244:* rmw"] } }''' devices = [] env = [ 'GOW_REQUIRED_DEVICES=/dev/input/event* /dev/dri/* /dev/nvidia*', 'WOLF_SOCKET_PATH=/var/run/wolf/wolf.sock', 'WOLF_UI_AUTOUPDATE=False', 'LOGLEVEL=INFO' ] image = 'ghcr.io/games-on-whales/wolf-ui:main' mounts = [ '/var/run/wolf/wolf.sock:/var/run/wolf/wolf.sock' ] name = 'Wolf-UI' ports = [] type = 'docker' [[profiles.apps]] icon_png_path = 'https://raw.githubusercontent.com/games-on-whales/wolf/refs/heads/stable/docs/images/test_ball_icon.png' start_audio_server = false start_virtual_compositor = false title = 'Test ball' [profiles.apps.audio] source = 'audiotestsrc wave=ticks is-live=true' [profiles.apps.runner] run_cmd = "sh -c \"while :; do echo 'running...'; sleep 10; done\"" type = 'process' [profiles.apps.video] source = '''videotestsrc pattern=ball flip=true is-live=true ! video/x-raw, framerate={fps}/1 ''' [[profiles]] id = 'XXXXXXXXXXXXXXXXXXXX' name = 'XXXXXXXXXXXXXXXXXXXX' [[profiles.apps]] icon_png_path = 'https://games-on-whales.github.io/wildlife/apps/steam/assets/icon.png' start_virtual_compositor = true title = 'Steam' [profiles.apps.runner] base_create_json = '''{ "HostConfig": { "IpcMode": "host", "CapAdd": ["SYS_ADMIN", "SYS_NICE", "SYS_PTRACE", "NET_RAW", "MKNOD", "NET_ADMIN"], "SecurityOpt": ["seccomp=unconfined", "apparmor=unconfined"], "Ulimits": [{"Name":"nofile", "Hard":10240, "Soft":10240}], "Privileged": false, "DeviceCgroupRules": ["c 13:* rmw", "c 244:* rmw"] } } ''' devices = [] env = [ 'PROTON_LOG=1', 'RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*' ] image = 'ghcr.io/games-on-whales/steam:edge' mounts = [ '/path/to/steamapps-shared:/home/retro/.steam/steam/steamapps:rw' ] name = 'WolfSteam' ports = [] type = 'docker' [[profiles.apps]] icon_png_path = 'https://games-on-whales.github.io/wildlife/apps/prismlauncher/assets/icon.png' start_virtual_compositor = true title = 'Prismlauncher' [profiles.apps.runner] base_create_json = '''{ "HostConfig": { "IpcMode": "host", "CapAdd": ["NET_RAW", "MKNOD", "NET_ADMIN", "SYS_ADMIN", "SYS_NICE"], "Privileged": false, "DeviceCgroupRules": ["c 13:* rmw", "c 244:* rmw"] } } ''' devices = [] env = [ 'RUN_SWAY=1', 'GOW_REQUIRED_DEVICES=/dev/input/event* /dev/dri/* /dev/nvidia* /var/lutris/' ] image = 'ghcr.io/games-on-whales/prismlauncher:edge' mounts = [] name = 'Prismlauncher' ports = [] type = 'docker' ``` pactl list in prism container: ``` root@40d853596938:~# pactl list Module #0 Name: module-native-protocol-unix Argument: auth-anonymous=1 socket=/tmp/pulse/pulse-socket Usage counter: n/a Properties: module.author = "Lennart Poettering" module.description = "Native protocol (UNIX sockets)" module.version = "17.0" Module #1 Name: module-always-sink Argument: Usage counter: n/a Properties: module.author = "Colin Guthrie" module.description = "Always keeps at least one sink loaded even if it's a null one" module.version = "17.0" Module #2 Name: module-null-sink Argument: sink_name=auto_null sink_properties='device.description="Dummy Output"' Usage counter: 1 Properties: module.author = "Lennart Poettering" module.description = "Clocked NULL sink" module.version = "17.0" Sink #0 State: RUNNING Name: auto_null Description: Dummy Output Driver: module-null-sink.c Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 2 Mute: no Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor Source: auto_null.monitor Latency: 14431 usec, configured 20000 usec Flags: DECIBEL_VOLUME LATENCY SET_FORMATS Properties: device.description = "Dummy Output" device.class = "abstract" device.icon_name = "audio-card" Formats: pcm Source #0 State: IDLE Name: auto_null.monitor Description: Monitor of Dummy Output Driver: module-null-sink.c Sample Specification: s16le 2ch 44100Hz Channel Map: front-left,front-right Owner Module: 2 Mute: no Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB Monitor of Sink: auto_null Latency: 0 usec, configured 2000000 usec Flags: DECIBEL_VOLUME LATENCY Properties: device.description = "Monitor of Dummy Output" device.class = "monitor" device.icon_name = "audio-input-microphone" Formats: pcm Sink Input #5 Driver: protocol-native.c Owner Module: 0 Client: 36 Sink: 0 Sample Specification: float32le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"float32le\"" format.channels = "2" format.channel_map = "\"front-left,front-right\"" Corked: no Mute: no Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Buffer Latency: 60000 usec Sink Latency: 14244 usec Resample method: copy Properties: media.name = "Playback Stream" application.name = "java" native-protocol.peer = "UNIX socket client" native-protocol.version = "35" application.process.id = "232" application.process.user = "retro" application.process.host = "40d853596938" application.process.binary = "java" application.language = "C" window.x11.display = ":0" application.process.machine_id = "XXXXXXXXXXXXX" Client #1 Driver: protocol-native.c Owner Module: 0 Properties: application.name = "Wolf-UI" native-protocol.peer = "UNIX socket client" native-protocol.version = "35" application.process.id = "1" application.process.user = "root" application.process.host = "1e066261da27" application.process.binary = "wolf-ui" application.language = "C" application.process.machine_id = "XXXXXXXXXXXXX" Client #3 Driver: protocol-native.c Owner Module: 0 Properties: application.name = "waybar" native-protocol.peer = "UNIX socket client" native-protocol.version = "35" application.process.id = "131" application.process.user = "retro" application.process.host = "40d853596938" application.process.binary = "waybar" application.language = "C" window.x11.display = ":0" application.process.machine_id = "XXXXXXXXXXXXX" Client #36 Driver: protocol-native.c Owner Module: 0 Properties: application.name = "java" native-protocol.peer = "UNIX socket client" native-protocol.version = "35" application.process.id = "232" application.process.user = "retro" application.process.host = "40d853596938" application.process.binary = "java" application.language = "C" window.x11.display = ":0" application.process.machine_id = "XXXXXXXXXXXXX" Client #69 Driver: protocol-native.c Owner Module: 0 Properties: application.name = "pactl" native-protocol.peer = "UNIX socket client" native-protocol.version = "35" application.process.id = "730" application.process.user = "root" application.process.host = "40d853596938" application.process.binary = "pactl" application.language = "C.UTF-8" application.process.machine_id = "XXXXXXXXXXXXX" ``` This is basically a default config but with paths modified for my steam apps and the wolf profile data to be in a different folder and audio is not working. I am able to run and play minecraft well, and have had some issues with running proton builds of windows games through steam. I am hoping to test this out more once the audio issues are resolved but do not know where to go from here. It may be relevant to note this is on a truenas scale installation as that is where my gpu is installed for transcoding purposes. This does mean that pactl is not found on the host, nor is alsamixer.
Author
Owner

@eco9898 commented on GitHub (Mar 28, 2026):

I had hope #169 would help, but the timeout is not the issue as the pulseaudio container does start and connect to the wolf container before I connect via moonlight

<!-- gh-comment-id:4146740345 --> @eco9898 commented on GitHub (Mar 28, 2026): I had hope #169 would help, but the timeout is not the issue as the pulseaudio container does start and connect to the wolf container before I connect via moonlight
Author
Owner

@eco9898 commented on GitHub (Mar 28, 2026):

Sorry, forgot container logs:
wolf

[2026-03-28 03:27:20] 
[2026-03-28 03:27:20] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2026-03-28 03:27:20] **** Configure default user ****
[2026-03-28 03:27:20] Container running as root. Nothing to do.
[2026-03-28 03:27:20] DONE
[2026-03-28 03:27:20] 
[2026-03-28 03:27:20] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2026-03-28 03:27:20] **** Configure devices ****
[2026-03-28 03:27:20] Exec device groups
[2026-03-28 03:27:27] Adding user 'root' to groups: gow-gid-105
[2026-03-28 03:27:31] DONE
[2026-03-28 03:27:31] 
[2026-03-28 03:27:31] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2026-03-28 03:27:31] Nvidia driver detected, assuming it's using the nvidia driver volume
[2026-03-28 03:27:32] Creating json nvidia_icd.json file
[2026-03-28 03:27:32] 
[2026-03-28 03:27:32] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2026-03-28 03:27:33] Launching the container's startup script as user 'root'
0:00:01.154719264   115 0x55706e3c98b0 WARN               vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm0> vaInitialize: unknown libva error
0:00:01.164039097   115 0x55706e3c98b0 WARN      GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
0:00:01.381611656   115 0x55706e3c98b0 WARN               cudanvrtc gstcudanvrtc.cpp:179:gst_cuda_nvrtc_load_library_once: Failed to load 'nvrtcGetCUBINSize', 'nvrtcGetCUBINSize': /usr/local/nvidia/lib/libnvrtc.so: undefined symbol: nvrtcGetCUBINSize
0:00:02.430885596   115 0x55706e3c98b0 WARN            nvav1encoder gstnvav1encoder.cpp:1429:gst_nv_av1_encoder_create_class_data:<cudacontext0> New preset is not supported
0:00:02.744305139   115 0x55706e3c98b0 WARN                 default gstvaapi.c:232:plugin_init: Cannot create a VA display
0:00:02.854916054   115 0x55706e3c98b0 WARN             msdkcontext gstmsdkcontext.c:178:gst_msdk_context_use_vaapi: Couldn't find a drm device node to open
0:00:02.976178417   115 0x55706e3c98b0 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x55706e77ad70> Could not set value on item: format-version
0:00:02.976208855   115 0x55706e3c98b0 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x55706e77b5e0> Could not set value on item: format-version
0:00:02.976219957   115 0x55706e3c98b0 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x55706e77be50> Could not set value on item: format-version
0:00:02.977123587   115 0x55706e3c98b0 WARN               structure gststructure.c:3378:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:02.989562228   115 0x55706e3c98b0 WARN               vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: unknown libva error
0:00:03.371726677   115 0x55706e3c98b0 WARN      GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise
0:00:03.371776063   115 0x55706e3c98b0 WARN      GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
0:00:03.374730424   115 0x55706e3c98b0 WARN      GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise
0:00:03.453091043     1 0x56450ac5d310 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/validate/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so)
03:27:42.103053635 INFO  | Gstreamer version: 1.26.7-0
03:27:42.105206933 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
0:00:05.123435467     1 0x56450ac5d310 WARN               cudanvrtc gstcudanvrtc.cpp:179:gst_cuda_nvrtc_load_library_once: Failed to load 'nvrtcGetCUBINSize', 'nvrtcGetCUBINSize': /usr/local/nvidia/lib/libnvrtc.so: undefined symbol: nvrtcGetCUBINSize
0:00:05.857282296     1 0x56450ac5d310 WARN            nvav1encoder gstnvav1encoder.cpp:1429:gst_nv_av1_encoder_create_class_data:<cudacontext0> New preset is not supported
03:27:43.355213563 INFO  | Using h264 encoder: nvcodec
03:27:43.355463534 INFO  | Using h265 encoder: nvcodec
0:00:06.142790814     1 0x56450ac5d310 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:713:gst_element_factory_make_with_properties: no such element factory "nvav1enc"!
03:27:43.356234228 INFO  | Using av1 encoder: aom
03:27:43.356257224 WARN  | Software av1 encoder detected
03:27:43.356310556 INFO  | Using zero copy pipeline on Nvidia (/dev/dri/renderD128)
03:27:44.180437676 INFO  | Detected mounted /etc/wolf in the host as /mnt/Data/Docker/Wolf/Data
03:27:44.180464437 INFO  | Detected mounted /tmp/runtime-retro in the host as /tmp/runtime-retro
03:27:44.180656808 INFO  | [RTP] Starting RTP ping server on ports 48100 and 48200
03:27:44.180784575 INFO  | RTSP server started on port: 48010
03:27:44.180892293 INFO  | Control server started on port: 47999
03:27:44.180969220 INFO  | Starting Wolf API server on /tmp/runtime-retro/wolf.sock
03:27:44.181022072 INFO  | Starting mDNS service
03:27:44.355429250 INFO  | HTTP server listening on port: 47989 
03:27:44.356664499 WARN  | [PULSE] Unable to connect, Access denied
03:27:44.356769232 INFO  | Starting PulseAudio docker container
03:27:44.512030077 ERROR | mDNS error: Error: Failed to open any client sockets
03:27:44.711557514 INFO  | HTTPS server listening on port: 47984 
03:28:02.126394450 WARN  | [PULSE] Unable to connect, Access denied
03:28:02.126541484 INFO  | [PULSE_ROUTER] Setup complete (handlers registered, PA subscribed)
0:01:29.867002249     1 0x7fd3c8000dd0 WARN                   pulse pulsesrc.c:1622:gst_pulsesrc_prepare:<pulsesrc0> error: Failed to connect stream: No such entity
03:29:07.079822203 ERROR | [GSTREAMER] Pipeline error: Failed to connect stream: No such entity
0:01:29.867377551     1 0x7fd3c8000dd0 WARN                 basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc0> error: Internal data stream error.
0:01:29.867390797     1 0x7fd3c8000dd0 WARN                 basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc0> error: streaming stopped, reason not-negotiated (-4)
03:29:07.714087474 WARN  | [ENET] Unable to find a session that matches the client secret 0, matching by IP
03:29:08.047856608 INFO  | Creating CUDA context for device /dev/dri/renderD128 (detected CUDA device ID: 0)
03:29:08.310776211 WARN  | Received MOUSE_MOVE_REL_PACKET but no mouse device is present
03:29:08.322623212 WARN  | Received MOUSE_MOVE_REL_PACKET but no mouse device is present
0:01:49.130262721     1 0x7fd3d8019c10 WARN                basesink gstbasesink.c:1248:gst_base_sink_query_latency:<15630495225142109625_video> warning: Pipeline construction is invalid, please add queues.
0:01:49.130281256     1 0x7fd3d8019c10 WARN                basesink gstbasesink.c:1248:gst_base_sink_query_latency:<15630495225142109625_video> warning: Not enough buffering available for  the processing deadline of 0:00:00.020000000, add enough queues to buffer  0:00:00.020000000 additional data. Shortening processing latency to 0:00:00.000000000.
03:29:26.343122821 INFO  | Wayland display ready, listening on: wayland-1
0:01:49.140539186     1 0x7fd3c8001030 WARN        cudaconvertscale gstcudaconvertscale.c:1399:gst_cuda_base_convert_set_info:<cudaconvertscale2> Can't calculate borders
03:29:26.406402501 INFO  | NVIDIA_DRIVER_VOLUME_NAME not set, assuming nvidia driver toolkit is installed..
0:01:50.131988547     1 0x7fd3c8001030 WARN                 basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_15630495225142109625_video> segment format mismatched, ignore
0:01:50.373878729     1 0x7fd3c8001030 WARN                 basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_15630495225142109625_video> segment format mismatched, ignore
03:29:27.586707050 INFO  | [GSTREAMER] Pipeline reached End Of Stream
03:30:10.086377787 INFO  | [DOCKER] Starting container: /Wolf-UI_15630495225142109625
03:30:12.875933684 WARN  | [ENET] Unable to find a session that matches the client secret 0, matching by IP
0:02:35.667359920     1 0x7fd3c8001030 WARN        cudaconvertscale gstcudaconvertscale.c:1399:gst_cuda_base_convert_set_info:<cudaconvertscale3> Can't calculate borders
0:02:35.699223540     1 0x7fd3c8001030 WARN                 basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_15630495225142109625_video> segment format mismatched, ignore
03:31:51.309138033 INFO  | [LOBBY] Creating new lobby
0:04:14.098240642     1 0x7fd3c8002010 WARN                   pulse pulsesrc.c:1622:gst_pulsesrc_prepare:<pulsesrc1> error: Failed to connect stream: No such entity
0:04:14.098281691     1 0x7fd3c8002010 WARN                 basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc1> error: Internal data stream error.
0:04:14.098287964     1 0x7fd3c8002010 WARN                 basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc1> error: streaming stopped, reason not-negotiated (-4)
03:31:51.311015119 ERROR | [GSTREAMER] Pipeline error: Failed to connect stream: No such entity
2026-03-28T03:31:51.327413Z  WARN smithay::backend::egl::error: Erroneous EGL call didn't set EGLError
0:04:14.122425080     1 0x7fd354006a90 WARN                basesink gstbasesink.c:1248:gst_base_sink_query_latency:<6f5e0018-5645-48f8-ba9b-e6b64d61496c_video> warning: Pipeline construction is invalid, please add queues.
0:04:14.122439518     1 0x7fd354006a90 WARN                basesink gstbasesink.c:1248:gst_base_sink_query_latency:<6f5e0018-5645-48f8-ba9b-e6b64d61496c_video> warning: Not enough buffering available for  the processing deadline of 0:00:00.020000000, add enough queues to buffer  0:00:00.020000000 additional data. Shortening processing latency to 0:00:00.000000000.
03:31:51.335247258 INFO  | Wayland display ready, listening on: wayland-2
03:31:51.349718385 INFO  | NVIDIA_DRIVER_VOLUME_NAME not set, assuming nvidia driver toolkit is installed..
03:31:51.385598793 INFO  | [LOBBY] Session 15630495225142109625 joining lobby 6f5e0018-5645-48f8-ba9b-e6b64d61496c
0:04:14.179397528     1 0x7fd3c8001570 WARN           basetransform gstbasetransform.c:1371:gst_base_transform_setcaps:<capsfilter7> transform could not transform video/x-raw(memory:CUDAMemory), format=(string)BGRA, width=(int)1920, height=(int)1080, framerate=(fraction)60/1 in anything we support
0:04:14.179417166     1 0x7fd3c8001570 WARN           basetransform gstbasetransform.c:1432:gst_base_transform_reconfigure_unlocked:<capsfilter7> warning: not negotiated
0:04:14.179421054     1 0x7fd3c8001570 WARN           basetransform gstbasetransform.c:1432:gst_base_transform_reconfigure_unlocked:<capsfilter7> warning: not negotiated
03:31:53.106097581 INFO  | [DOCKER] Starting container: /Prismlauncher_6f5e0018-5645-48f8-ba9b-e6b64d61496c
03:36:21.293770705 INFO  | [LOBBY] Moonlight stream 15630495225142109625 over, leaving lobby 6f5e0018-5645-48f8-ba9b-e6b64d61496c
03:36:21.293838595 INFO  | [LOBBY] Session 15630495225142109625 leaving lobby 6f5e0018-5645-48f8-ba9b-e6b64d61496c
03:36:21.397496406 INFO  | [GSTREAMER] Pipeline reached End Of Stream

pulseaudio

[2026-03-28 03:27:51] 
[2026-03-28 03:27:51] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2026-03-28 03:27:51] **** Configure default user ****
[2026-03-28 03:27:51] Setting default user uid=1000(retro) gid=1000(retro)
userdel: ubuntu mail spool (/var/mail/ubuntu) not found
useradd: warning: the home directory /root already exists.
useradd: Not copying any file from skel directory into it.
[2026-03-28 03:28:49] Setting umask to 000
[2026-03-28 03:28:49] Ensure retro home directory is writable
[2026-03-28 03:28:49] Ensure XDG_RUNTIME_DIR is writable
[2026-03-28 03:28:49] DONE
[2026-03-28 03:28:49] 
[2026-03-28 03:28:49] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2026-03-28 03:28:49] **** Configure devices ****
[2026-03-28 03:28:49] Exec device groups
[2026-03-28 03:28:50] Path '/dev/uinput' is not present.
[2026-03-28 03:28:50] Path '/dev/input/event*' is not present.
[2026-03-28 03:28:50] Not modifying user groups ()
[2026-03-28 03:28:50] DONE
[2026-03-28 03:28:50] 
[2026-03-28 03:28:50] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2026-03-28 03:28:50] Launching the container's startup script as user 'retro'
[2026-03-28 03:28:50] Removing all files from /root/.config/pulse
[2026-03-28 03:28:50] Starting pulseaudio
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
<!-- gh-comment-id:4146756635 --> @eco9898 commented on GitHub (Mar 28, 2026): Sorry, forgot container logs: wolf ``` [2026-03-28 03:27:20] [2026-03-28 03:27:20] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2026-03-28 03:27:20] **** Configure default user **** [2026-03-28 03:27:20] Container running as root. Nothing to do. [2026-03-28 03:27:20] DONE [2026-03-28 03:27:20] [2026-03-28 03:27:20] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2026-03-28 03:27:20] **** Configure devices **** [2026-03-28 03:27:20] Exec device groups [2026-03-28 03:27:27] Adding user 'root' to groups: gow-gid-105 [2026-03-28 03:27:31] DONE [2026-03-28 03:27:31] [2026-03-28 03:27:31] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2026-03-28 03:27:31] Nvidia driver detected, assuming it's using the nvidia driver volume [2026-03-28 03:27:32] Creating json nvidia_icd.json file [2026-03-28 03:27:32] [2026-03-28 03:27:32] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2026-03-28 03:27:33] Launching the container's startup script as user 'root' 0:00:01.154719264 115 0x55706e3c98b0 WARN vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm0> vaInitialize: unknown libva error 0:00:01.164039097 115 0x55706e3c98b0 WARN GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise 0:00:01.381611656 115 0x55706e3c98b0 WARN cudanvrtc gstcudanvrtc.cpp:179:gst_cuda_nvrtc_load_library_once: Failed to load 'nvrtcGetCUBINSize', 'nvrtcGetCUBINSize': /usr/local/nvidia/lib/libnvrtc.so: undefined symbol: nvrtcGetCUBINSize 0:00:02.430885596 115 0x55706e3c98b0 WARN nvav1encoder gstnvav1encoder.cpp:1429:gst_nv_av1_encoder_create_class_data:<cudacontext0> New preset is not supported 0:00:02.744305139 115 0x55706e3c98b0 WARN default gstvaapi.c:232:plugin_init: Cannot create a VA display 0:00:02.854916054 115 0x55706e3c98b0 WARN msdkcontext gstmsdkcontext.c:178:gst_msdk_context_use_vaapi: Couldn't find a drm device node to open 0:00:02.976178417 115 0x55706e3c98b0 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x55706e77ad70> Could not set value on item: format-version 0:00:02.976208855 115 0x55706e3c98b0 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x55706e77b5e0> Could not set value on item: format-version 0:00:02.976219957 115 0x55706e3c98b0 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x55706e77be50> Could not set value on item: format-version 0:00:02.977123587 115 0x55706e3c98b0 WARN structure gststructure.c:3378:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype 0:00:02.989562228 115 0x55706e3c98b0 WARN vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: unknown libva error 0:00:03.371726677 115 0x55706e3c98b0 WARN GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise 0:00:03.371776063 115 0x55706e3c98b0 WARN GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise 0:00:03.374730424 115 0x55706e3c98b0 WARN GST_PLUGIN_LOADING gstplugin.c:546:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise 0:00:03.453091043 1 0x56450ac5d310 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/validate/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) 03:27:42.103053635 INFO | Gstreamer version: 1.26.7-0 03:27:42.105206933 INFO | Reading config file from: /etc/wolf/cfg/config.toml 0:00:05.123435467 1 0x56450ac5d310 WARN cudanvrtc gstcudanvrtc.cpp:179:gst_cuda_nvrtc_load_library_once: Failed to load 'nvrtcGetCUBINSize', 'nvrtcGetCUBINSize': /usr/local/nvidia/lib/libnvrtc.so: undefined symbol: nvrtcGetCUBINSize 0:00:05.857282296 1 0x56450ac5d310 WARN nvav1encoder gstnvav1encoder.cpp:1429:gst_nv_av1_encoder_create_class_data:<cudacontext0> New preset is not supported 03:27:43.355213563 INFO | Using h264 encoder: nvcodec 03:27:43.355463534 INFO | Using h265 encoder: nvcodec 0:00:06.142790814 1 0x56450ac5d310 WARN GST_ELEMENT_FACTORY gstelementfactory.c:713:gst_element_factory_make_with_properties: no such element factory "nvav1enc"! 03:27:43.356234228 INFO | Using av1 encoder: aom 03:27:43.356257224 WARN | Software av1 encoder detected 03:27:43.356310556 INFO | Using zero copy pipeline on Nvidia (/dev/dri/renderD128) 03:27:44.180437676 INFO | Detected mounted /etc/wolf in the host as /mnt/Data/Docker/Wolf/Data 03:27:44.180464437 INFO | Detected mounted /tmp/runtime-retro in the host as /tmp/runtime-retro 03:27:44.180656808 INFO | [RTP] Starting RTP ping server on ports 48100 and 48200 03:27:44.180784575 INFO | RTSP server started on port: 48010 03:27:44.180892293 INFO | Control server started on port: 47999 03:27:44.180969220 INFO | Starting Wolf API server on /tmp/runtime-retro/wolf.sock 03:27:44.181022072 INFO | Starting mDNS service 03:27:44.355429250 INFO | HTTP server listening on port: 47989 03:27:44.356664499 WARN | [PULSE] Unable to connect, Access denied 03:27:44.356769232 INFO | Starting PulseAudio docker container 03:27:44.512030077 ERROR | mDNS error: Error: Failed to open any client sockets 03:27:44.711557514 INFO | HTTPS server listening on port: 47984 03:28:02.126394450 WARN | [PULSE] Unable to connect, Access denied 03:28:02.126541484 INFO | [PULSE_ROUTER] Setup complete (handlers registered, PA subscribed) 0:01:29.867002249 1 0x7fd3c8000dd0 WARN pulse pulsesrc.c:1622:gst_pulsesrc_prepare:<pulsesrc0> error: Failed to connect stream: No such entity 03:29:07.079822203 ERROR | [GSTREAMER] Pipeline error: Failed to connect stream: No such entity 0:01:29.867377551 1 0x7fd3c8000dd0 WARN basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc0> error: Internal data stream error. 0:01:29.867390797 1 0x7fd3c8000dd0 WARN basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc0> error: streaming stopped, reason not-negotiated (-4) 03:29:07.714087474 WARN | [ENET] Unable to find a session that matches the client secret 0, matching by IP 03:29:08.047856608 INFO | Creating CUDA context for device /dev/dri/renderD128 (detected CUDA device ID: 0) 03:29:08.310776211 WARN | Received MOUSE_MOVE_REL_PACKET but no mouse device is present 03:29:08.322623212 WARN | Received MOUSE_MOVE_REL_PACKET but no mouse device is present 0:01:49.130262721 1 0x7fd3d8019c10 WARN basesink gstbasesink.c:1248:gst_base_sink_query_latency:<15630495225142109625_video> warning: Pipeline construction is invalid, please add queues. 0:01:49.130281256 1 0x7fd3d8019c10 WARN basesink gstbasesink.c:1248:gst_base_sink_query_latency:<15630495225142109625_video> warning: Not enough buffering available for the processing deadline of 0:00:00.020000000, add enough queues to buffer 0:00:00.020000000 additional data. Shortening processing latency to 0:00:00.000000000. 03:29:26.343122821 INFO | Wayland display ready, listening on: wayland-1 0:01:49.140539186 1 0x7fd3c8001030 WARN cudaconvertscale gstcudaconvertscale.c:1399:gst_cuda_base_convert_set_info:<cudaconvertscale2> Can't calculate borders 03:29:26.406402501 INFO | NVIDIA_DRIVER_VOLUME_NAME not set, assuming nvidia driver toolkit is installed.. 0:01:50.131988547 1 0x7fd3c8001030 WARN basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_15630495225142109625_video> segment format mismatched, ignore 0:01:50.373878729 1 0x7fd3c8001030 WARN basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_15630495225142109625_video> segment format mismatched, ignore 03:29:27.586707050 INFO | [GSTREAMER] Pipeline reached End Of Stream 03:30:10.086377787 INFO | [DOCKER] Starting container: /Wolf-UI_15630495225142109625 03:30:12.875933684 WARN | [ENET] Unable to find a session that matches the client secret 0, matching by IP 0:02:35.667359920 1 0x7fd3c8001030 WARN cudaconvertscale gstcudaconvertscale.c:1399:gst_cuda_base_convert_set_info:<cudaconvertscale3> Can't calculate borders 0:02:35.699223540 1 0x7fd3c8001030 WARN basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_15630495225142109625_video> segment format mismatched, ignore 03:31:51.309138033 INFO | [LOBBY] Creating new lobby 0:04:14.098240642 1 0x7fd3c8002010 WARN pulse pulsesrc.c:1622:gst_pulsesrc_prepare:<pulsesrc1> error: Failed to connect stream: No such entity 0:04:14.098281691 1 0x7fd3c8002010 WARN basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc1> error: Internal data stream error. 0:04:14.098287964 1 0x7fd3c8002010 WARN basesrc gstbasesrc.c:3187:gst_base_src_loop:<pulsesrc1> error: streaming stopped, reason not-negotiated (-4) 03:31:51.311015119 ERROR | [GSTREAMER] Pipeline error: Failed to connect stream: No such entity 2026-03-28T03:31:51.327413Z WARN smithay::backend::egl::error: Erroneous EGL call didn't set EGLError 0:04:14.122425080 1 0x7fd354006a90 WARN basesink gstbasesink.c:1248:gst_base_sink_query_latency:<6f5e0018-5645-48f8-ba9b-e6b64d61496c_video> warning: Pipeline construction is invalid, please add queues. 0:04:14.122439518 1 0x7fd354006a90 WARN basesink gstbasesink.c:1248:gst_base_sink_query_latency:<6f5e0018-5645-48f8-ba9b-e6b64d61496c_video> warning: Not enough buffering available for the processing deadline of 0:00:00.020000000, add enough queues to buffer 0:00:00.020000000 additional data. Shortening processing latency to 0:00:00.000000000. 03:31:51.335247258 INFO | Wayland display ready, listening on: wayland-2 03:31:51.349718385 INFO | NVIDIA_DRIVER_VOLUME_NAME not set, assuming nvidia driver toolkit is installed.. 03:31:51.385598793 INFO | [LOBBY] Session 15630495225142109625 joining lobby 6f5e0018-5645-48f8-ba9b-e6b64d61496c 0:04:14.179397528 1 0x7fd3c8001570 WARN basetransform gstbasetransform.c:1371:gst_base_transform_setcaps:<capsfilter7> transform could not transform video/x-raw(memory:CUDAMemory), format=(string)BGRA, width=(int)1920, height=(int)1080, framerate=(fraction)60/1 in anything we support 0:04:14.179417166 1 0x7fd3c8001570 WARN basetransform gstbasetransform.c:1432:gst_base_transform_reconfigure_unlocked:<capsfilter7> warning: not negotiated 0:04:14.179421054 1 0x7fd3c8001570 WARN basetransform gstbasetransform.c:1432:gst_base_transform_reconfigure_unlocked:<capsfilter7> warning: not negotiated 03:31:53.106097581 INFO | [DOCKER] Starting container: /Prismlauncher_6f5e0018-5645-48f8-ba9b-e6b64d61496c 03:36:21.293770705 INFO | [LOBBY] Moonlight stream 15630495225142109625 over, leaving lobby 6f5e0018-5645-48f8-ba9b-e6b64d61496c 03:36:21.293838595 INFO | [LOBBY] Session 15630495225142109625 leaving lobby 6f5e0018-5645-48f8-ba9b-e6b64d61496c 03:36:21.397496406 INFO | [GSTREAMER] Pipeline reached End Of Stream ``` pulseaudio ``` [2026-03-28 03:27:51] [2026-03-28 03:27:51] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2026-03-28 03:27:51] **** Configure default user **** [2026-03-28 03:27:51] Setting default user uid=1000(retro) gid=1000(retro) userdel: ubuntu mail spool (/var/mail/ubuntu) not found useradd: warning: the home directory /root already exists. useradd: Not copying any file from skel directory into it. [2026-03-28 03:28:49] Setting umask to 000 [2026-03-28 03:28:49] Ensure retro home directory is writable [2026-03-28 03:28:49] Ensure XDG_RUNTIME_DIR is writable [2026-03-28 03:28:49] DONE [2026-03-28 03:28:49] [2026-03-28 03:28:49] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2026-03-28 03:28:49] **** Configure devices **** [2026-03-28 03:28:49] Exec device groups [2026-03-28 03:28:50] Path '/dev/uinput' is not present. [2026-03-28 03:28:50] Path '/dev/input/event*' is not present. [2026-03-28 03:28:50] Not modifying user groups () [2026-03-28 03:28:50] DONE [2026-03-28 03:28:50] [2026-03-28 03:28:50] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2026-03-28 03:28:50] Launching the container's startup script as user 'retro' [2026-03-28 03:28:50] Removing all files from /root/.config/pulse [2026-03-28 03:28:50] Starting pulseaudio 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 ```
Author
Owner

@ABeltramo commented on GitHub (Mar 28, 2026):

Wolf can't connect to PulseAudio, you can easily see that because of the second

WARN  | [PULSE] Unable to connect, Access denied

After starting the container. Changing the env variable for the timeout usually helps in these cases, are you sure you've done that correctly? Which value have you set and how?

As for the PulseAudio container, do you see it up and running whilst Wolf is running or is it stopped? Have you tried force stopping the container, removing it and restart Wolf in order to force a recreation?

<!-- gh-comment-id:4147579693 --> @ABeltramo commented on GitHub (Mar 28, 2026): Wolf can't connect to PulseAudio, you can easily see that because of the second ``` WARN | [PULSE] Unable to connect, Access denied ``` After starting the container. Changing the env variable for the timeout usually helps in these cases, are you sure you've done that correctly? Which value have you set and how? As for the PulseAudio container, do you see it up and running whilst Wolf is running or is it stopped? Have you tried force stopping the container, removing it and restart Wolf in order to force a recreation?
Author
Owner

@eco9898 commented on GitHub (Mar 30, 2026):

I thought [PULSE_ROUTER] Setup complete (handlers registered, PA subscribed) meant it was connected.

I have set WOLF_PULSE_CONTAINER_TIMEOUT_MS to 10000 for my wolf container. I can see this is set when looking at the environments values in the running container via a shell session.

WolfPulseaudio container is starting and running. It has the above outputted logs and no further output.

I have tried removing the wolf and audio containers in different orders and recreating them without success. I'll try increasing the timeout.

<!-- gh-comment-id:4152155483 --> @eco9898 commented on GitHub (Mar 30, 2026): I thought `[PULSE_ROUTER] Setup complete (handlers registered, PA subscribed)` meant it was connected. I have set `WOLF_PULSE_CONTAINER_TIMEOUT_MS` to `10000` for my wolf container. I can see this is set when looking at the environments values in the running container via a shell session. WolfPulseaudio container is starting and running. It has the above outputted logs and no further output. I have tried removing the wolf and audio containers in different orders and recreating them without success. I'll try increasing the timeout.
Author
Owner

@eco9898 commented on GitHub (Mar 30, 2026):

30 seconds looks to be working, no permission denied error logged.

Is there a value to stop the timeout. 0?

Would it be difficult to create a background process to hook in pulse audio once it is available, or does this need to be available at startup and will require Wolf to hang until the audio container is connected, like it currently will do.

<!-- gh-comment-id:4152171864 --> @eco9898 commented on GitHub (Mar 30, 2026): 30 seconds looks to be working, no permission denied error logged. Is there a value to stop the timeout. 0? Would it be difficult to create a background process to hook in pulse audio once it is available, or does this need to be available at startup and will require Wolf to hang until the audio container is connected, like it currently will do.
Author
Owner

@eco9898 commented on GitHub (Mar 30, 2026):

Wolf UI has sounds now, so that's good. To confirm steam and prism are routed correctly

<!-- gh-comment-id:4152175396 --> @eco9898 commented on GitHub (Mar 30, 2026): Wolf UI has sounds now, so that's good. To confirm steam and prism are routed correctly
Author
Owner

@eco9898 commented on GitHub (Mar 30, 2026):

Audio seems good in apps. I assume isolation will work properly and no other issues other than disabling the timeout to ensure wolf will not start unless audio is available, or can hook into audio once it is available.

<!-- gh-comment-id:4152186590 --> @eco9898 commented on GitHub (Mar 30, 2026): Audio seems good in apps. I assume isolation will work properly and no other issues other than disabling the timeout to ensure wolf will not start unless audio is available, or can hook into audio once it is available.
Author
Owner

@evertonstz commented on GitHub (Apr 6, 2026):

This bug started happening to me after an update also.

<!-- gh-comment-id:4193490801 --> @evertonstz commented on GitHub (Apr 6, 2026): This bug started happening to me after an update also.
Author
Owner

@JBailes commented on GitHub (Jun 6, 2026):

@ABeltramo just a note from downstream: I had to increase WOLF_PULSE_CONTAINER_TIMEOUT_MS (to 30000) in the unraid-plugin too to get a reliable audio sink on Unraid.

<!-- gh-comment-id:4639668700 --> @JBailes commented on GitHub (Jun 6, 2026): @ABeltramo just a note from downstream: I had to increase `WOLF_PULSE_CONTAINER_TIMEOUT_MS` (to 30000) in the unraid-plugin too to get a reliable audio sink on Unraid.
Author
Owner

@ABeltramo commented on GitHub (Jun 7, 2026):

This is something that we should probably revisit in Wolf and address once and for all. Setting it to 30000 means that Wolf wouldn't connect to Pulse for 30 seconds. If a user starts a session before this deadline it'll result in no audio.

This external pulse container it's a legacy leftover, and it has caused nothing but troubles. We should probably run PulseAudio directly inside the Wolf container and start Wolf once PA is up and running. Possibly using something like supervisord to do it properly.

<!-- gh-comment-id:4641922605 --> @ABeltramo commented on GitHub (Jun 7, 2026): This is something that we should probably revisit in Wolf and address once and for all. Setting it to `30000` means that Wolf wouldn't connect to Pulse for 30 seconds. If a user starts a session before this deadline it'll result in no audio. This external pulse container it's a legacy leftover, and it has caused nothing but troubles. We should probably run PulseAudio directly inside the Wolf container and start Wolf once PA is up and running. Possibly using something like `supervisord` to do it properly.
Author
Owner

@JBailes commented on GitHub (Jun 7, 2026):

You know what? I'm going to start working on that @ABeltramo , PulseAudio has been a pain in my ass in several development fronts and this would make it easier.

<!-- gh-comment-id:4641986006 --> @JBailes commented on GitHub (Jun 7, 2026): You know what? I'm going to start working on that @ABeltramo , PulseAudio has been a pain in my ass in several development fronts and this would make it easier.
Author
Owner

@ABeltramo commented on GitHub (Jun 7, 2026):

Ideally this should be just a change in the Dockerfile, no code needs to be changed. Wolf already checks if there's a PA server available on startup, and I'd like to keep the fallback to spin up a PA container. Thanks for looking into this!

<!-- gh-comment-id:4641999303 --> @ABeltramo commented on GitHub (Jun 7, 2026): Ideally this should be just a change in the Dockerfile, no code needs to be changed. Wolf already checks if there's a PA server available on startup, and I'd like to keep the fallback to spin up a PA container. Thanks for looking into this!
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#253
No description provided.