[GH-ISSUE #246] Need help with custom config and startup options #170

Closed
opened 2026-10-15 12:57:36 +00:00 by bsakaguchi · 8 comments
Owner

Originally created by @zeedif on GitHub (Aug 23, 2025).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/246

Title: Wolf fails to start on Intel iGPU (Alder Lake-N) with encoder detection and std::bad_alloc errors

I'm trying to set up Wolf on my Debian server which has an integrated Intel N97 GPU (UHD Graphics, Alder Lake-N). The Wolf container gets stuck in a crash loop and restarts continuously.

Depending on the GStreamer configuration in config.toml, I encounter two different fatal errors.

System Details

  • OS: Debian GNU/Linux 12 (bookworm) x86_64
  • Kernel: Linux 6.1.0-37-amd64
  • CPU: Intel(R) N97 (4) @ 3.60 GHz
  • GPU: Intel UHD Graphics [Integrated]
  • Docker Version: 28.3.2, build 578ccf6

vainfo output:

libva info: VA-API version: 1.17 (libva 2.12.0)
libva info: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointEncSlice
      ... (y otros perfiles)

Steps to Reproduce

  1. Use a system with an integrated Intel GPU similar to the one described above.
  2. Set up the docker-compose.yml as provided below.
  3. Use the default config.toml with a simple RetroArch application added.
  4. Start the container with docker compose up -d.
  5. Check the logs with docker logs wolf.

Observed Behavior

The container fails to start and enters a restart loop. The error depends on the configuration:

Scenario 1: Default config.toml

With the default GStreamer encoder order (which prioritizes nvcodec), the application fails immediately.

Relevant Log Snippet:

17:31:03.181617102 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
17:31:03.182423234 ERROR | Unhandled exception: Unable to find a compatible H.264 encoder, please check [[gstreamer.video.h264_encoders]] in your config.toml or your Gstreamer installation

It seems Wolf is unable to find the NVIDIA encoders (which is expected on an Intel system) and fails before it can try the Intel-compatible ones like qsv or va.

Scenario 2: Modified config.toml to prioritize Intel encoders

As a troubleshooting step, I modified the config.toml to move the qsv and va encoder definitions to the top of the [[gstreamer.video.h264_encoders]] list. After this change, the error is different.

Relevant Log Snippet:

17:16:24.460633544 INFO  | Using H264 encoder: qsv
17:16:24.461085864 INFO  | Using HEVC encoder: qsv
17:16:24.461182954 INFO  | Using legacy pipeline on Intel (/dev/dri/renderD128)
17:16:24.461681889 ERROR | Unhandled exception: std::bad_alloc

In this case, Wolf correctly selects the qsv encoder but then immediately crashes with a std::bad_alloc error. I'm not sure why it's falling back to the "legacy pipeline" or what could be causing the memory allocation error, as the system has plenty of free RAM. It seems to be an issue in how the GStreamer pipeline is constructed.

Expected Behavior

Wolf should successfully initialize on an Intel-based system, select the appropriate qsv or va encoder, start all its services (HTTP, RTSP, etc.), and remain running to accept Moonlight connections.

Configuration Files

docker-compose.yml
services:
  wolf:
    image: ghcr.io/games-on-whales/wolf:stable
    container_name: wolf
    network_mode: host
    restart: unless-stopped
    environment:
      - HOST_APPS_STATE_FOLDER=/etc/wolf 
      - WOLF_DOCKER_SOCKET=/var/run/docker.sock
      - WOLF_LOG_LEVEL=DEBUG
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./wolf:/etc/wolf:rw
      - /dev:/dev
      - /run/udev:/run/udev:ro
    devices:
      - /dev/dri
      - /dev/uinput
      - /dev/uhid
    device_cgroup_rules:
      - 'c 13:* rmw'
      - 'c 244:* rmw'
    group_add:
      - "105" # Result of: getent group render | cut -d: -f3
config.toml (usado en el Escenario 1)
hostname = "Server"
config_version = 5
support_hevc = true

paired_clients = []

[[apps]]
title = 'RetroArch'
icon_png_path = "https://games-on-whales.github.io/wildlife/apps/retroarch/assets/icon.png"

[apps.runner]
type = 'docker'
name = 'WolfRetroarch'
image = 'ghcr.io/games-on-whales/retroarch:edge'
env = [
  'RUN_SWAY=true',
  'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/*'
]
mounts = [
  "/home/hogar/Roms:/ROMs:ro", 
  "/home/hogar/contenedores/retroarch:/home/retro:rw" 
]
ports = []
base_create_json = """
Originally created by @zeedif on GitHub (Aug 23, 2025). Original GitHub issue: https://github.com/games-on-whales/wolf/issues/246 ### **Title:** Wolf fails to start on Intel iGPU (Alder Lake-N) with encoder detection and `std::bad_alloc` errors I'm trying to set up Wolf on my Debian server which has an integrated Intel N97 GPU (UHD Graphics, Alder Lake-N). The Wolf container gets stuck in a crash loop and restarts continuously. Depending on the GStreamer configuration in `config.toml`, I encounter two different fatal errors. ### **System Details** - **OS:** Debian GNU/Linux 12 (bookworm) x86_64 - **Kernel:** Linux 6.1.0-37-amd64 - **CPU:** Intel(R) N97 (4) @ 3.60 GHz - **GPU:** Intel UHD Graphics [Integrated] - **Docker Version:** 28.3.2, build 578ccf6 **`vainfo` output:** ``` libva info: VA-API version: 1.17 (libva 2.12.0) libva info: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 () vainfo: Supported profile and entrypoints VAProfileH264Main : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointEncSlice ... (y otros perfiles) ``` ### **Steps to Reproduce** 1. Use a system with an integrated Intel GPU similar to the one described above. 2. Set up the `docker-compose.yml` as provided below. 3. Use the default `config.toml` with a simple RetroArch application added. 4. Start the container with `docker compose up -d`. 5. Check the logs with `docker logs wolf`. ### **Observed Behavior** The container fails to start and enters a restart loop. The error depends on the configuration: #### **Scenario 1: Default `config.toml`** With the default GStreamer encoder order (which prioritizes `nvcodec`), the application fails immediately. **Relevant Log Snippet:** ``` 17:31:03.181617102 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation 17:31:03.182423234 ERROR | Unhandled exception: Unable to find a compatible H.264 encoder, please check [[gstreamer.video.h264_encoders]] in your config.toml or your Gstreamer installation ``` It seems Wolf is unable to find the NVIDIA encoders (which is expected on an Intel system) and fails before it can try the Intel-compatible ones like `qsv` or `va`. #### **Scenario 2: Modified `config.toml` to prioritize Intel encoders** As a troubleshooting step, I modified the `config.toml` to move the `qsv` and `va` encoder definitions to the top of the `[[gstreamer.video.h264_encoders]]` list. After this change, the error is different. **Relevant Log Snippet:** ``` 17:16:24.460633544 INFO | Using H264 encoder: qsv 17:16:24.461085864 INFO | Using HEVC encoder: qsv 17:16:24.461182954 INFO | Using legacy pipeline on Intel (/dev/dri/renderD128) 17:16:24.461681889 ERROR | Unhandled exception: std::bad_alloc ``` In this case, Wolf correctly selects the `qsv` encoder but then immediately crashes with a `std::bad_alloc` error. I'm not sure why it's falling back to the "legacy pipeline" or what could be causing the memory allocation error, as the system has plenty of free RAM. It seems to be an issue in how the GStreamer pipeline is constructed. ### **Expected Behavior** Wolf should successfully initialize on an Intel-based system, select the appropriate `qsv` or `va` encoder, start all its services (HTTP, RTSP, etc.), and remain running to accept Moonlight connections. ### **Configuration Files** <details> <summary><code>docker-compose.yml</code></summary> ```yaml services: wolf: image: ghcr.io/games-on-whales/wolf:stable container_name: wolf network_mode: host restart: unless-stopped environment: - HOST_APPS_STATE_FOLDER=/etc/wolf - WOLF_DOCKER_SOCKET=/var/run/docker.sock - WOLF_LOG_LEVEL=DEBUG volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./wolf:/etc/wolf:rw - /dev:/dev - /run/udev:/run/udev:ro devices: - /dev/dri - /dev/uinput - /dev/uhid device_cgroup_rules: - 'c 13:* rmw' - 'c 244:* rmw' group_add: - "105" # Result of: getent group render | cut -d: -f3 ``` </details> <details> <summary><code>config.toml</code> (usado en el Escenario 1)</summary> ```toml hostname = "Server" config_version = 5 support_hevc = true paired_clients = [] [[apps]] title = 'RetroArch' icon_png_path = "https://games-on-whales.github.io/wildlife/apps/retroarch/assets/icon.png" [apps.runner] type = 'docker' name = 'WolfRetroarch' image = 'ghcr.io/games-on-whales/retroarch:edge' env = [ 'RUN_SWAY=true', 'GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/*' ] mounts = [ "/home/hogar/Roms:/ROMs:ro", "/home/hogar/contenedores/retroarch:/home/retro:rw" ] ports = [] base_create_json = """
bsakaguchi 2026-10-15 12:57:36 +00:00
  • closed this issue
  • added the
    invalid
    label
Author
Owner

@ABeltramo commented on GitHub (Aug 23, 2025):

Sounds like you have a different issue, Wolf definitely runs on Intel iGPUs.

Could you please share the full Wolf logs without edits/cuts and more info about the HW? Have you got any other GPU plugged on your system?

<!-- gh-comment-id:3217221020 --> @ABeltramo commented on GitHub (Aug 23, 2025): Sounds like you have a different issue, Wolf definitely runs on Intel iGPUs. Could you please share the full Wolf logs without edits/cuts and more info about the HW? Have you got any other GPU plugged on your system?
Author
Owner

@ABeltramo commented on GitHub (Aug 23, 2025):

Also, make sure that you are running the latest image with:

docker pull ghcr.io/games-on-whales/wolf:stable
<!-- gh-comment-id:3217222297 --> @ABeltramo commented on GitHub (Aug 23, 2025): Also, make sure that you are running the latest image with: ``` docker pull ghcr.io/games-on-whales/wolf:stable ```
Author
Owner

@zeedif commented on GitHub (Aug 23, 2025):

I shared the docker-compose.yml I'm using, where you can see that I'm pulling ghcr.io/games-on-whales/wolf:stable.

These are the full logs when I don't customize the gstreamer configuration:

[2025-08-23 19:00:49] 
[2025-08-23 19:00:49] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 19:00:49] **** Configure default user ****
[2025-08-23 19:00:49] Container running as root. Nothing to do.
[2025-08-23 19:00:49] DONE
[2025-08-23 19:00:49] 
[2025-08-23 19:00:49] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 19:00:49] **** Configure devices ****
[2025-08-23 19:00:49] Exec device groups
[2025-08-23 19:00:49] Adding user 'root' to groups: gow-gid-102,root
[2025-08-23 19:00:49] DONE
[2025-08-23 19:00:49] 
[2025-08-23 19:00:49] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 19:00:49] 
[2025-08-23 19:00:49] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2025-08-23 19:00:49] Launching the container's startup script as user 'root'
0:00:00.128443442   100 0x5626ba4d1540 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
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.285888198   100 0x5626ba4d1540 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x5626ba95c4e0> Could not set value on item: format-version
0:00:00.285928759   100 0x5626ba4d1540 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x5626ba95cd30> Could not set value on item: format-version
0:00:00.285947997   100 0x5626ba4d1540 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x5626ba95d5a0> Could not set value on item: format-version
0:00:00.286499781   100 0x5626ba4d1540 WARN               structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:00.290602596   100 0x5626ba4d1540 WARN              cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.409112368   100 0x5626ba4d1540 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8  DEC
0:00:00.409129623   100 0x5626ba4d1540 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8  DEC
0:00:00.409656803   100 0x5626ba4d1540 WARN                 default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 
0:00:00.409665567   100 0x5626ba4d1540 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC  DEC
0:00:00.409670502   100 0x5626ba4d1540 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC  DEC
0:00:00.415913984   100 0x5626ba4d1540 WARN                 default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff
0:00:00.424524049   100 0x5626ba4d1540 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:00.428821373     1 0x55ab150bbe90 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
0:00:00.426167400   100 0x5626ba4d1540 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:00.431622134   100 0x5626ba4d1540 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:00.443222911     1 0x55ab150bbe90 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
18:00:49.888475910 INFO  | Gstreamer version: 1.26.2-0
18:00:49.889960650 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
18:00:49.889992455 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
18:00:49.898234444 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
18:00:49.898615862 ERROR | Unhandled exception: Unable to find a compatible H.264 encoder, please check [[gstreamer.video.h264_encoders]] in your config.toml or your Gstreamer installation
[2025-08-23 19:00:50] 
[2025-08-23 19:00:50] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 19:00:50] **** Configure default user ****
[2025-08-23 19:00:50] Container running as root. Nothing to do.
[2025-08-23 19:00:50] DONE
[2025-08-23 19:00:50] 
[2025-08-23 19:00:50] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 19:00:50] **** Configure devices ****
[2025-08-23 19:00:50] Exec device groups
[2025-08-23 19:00:50] Adding user 'root' to groups: gow-gid-102,root
[2025-08-23 19:00:50] DONE
[2025-08-23 19:00:50] 
[2025-08-23 19:00:50] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 19:00:50] 
[2025-08-23 19:00:50] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2025-08-23 19:00:50] Launching the container's startup script as user 'root'
18:00:50.710976675 INFO  | Gstreamer version: 1.26.2-0
18:00:50.712292209 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
18:00:50.712331228 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
18:00:50.720540491 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
18:00:50.721084592 ERROR | Unhandled exception: Unable to find a compatible H.264 encoder, please check [[gstreamer.video.h264_encoders]] in your config.toml or your Gstreamer installation
Stack trace (most recent call first):
#0 0x000055aadd27e912 in safe_dump_stacktrace_to at /wolf/src/moonlight-server/./exceptions/exceptions.h:22:56
#1 0x000055aadd28980d in shutdown_handler at /wolf/src/moonlight-server/./exceptions/exceptions.h:69:28
#2 0x000055aadd292d60 in on_terminate at /wolf/src/moonlight-server/./exceptions/exceptions.h:99:19
#3 0x000055aadd256622 in main at /wolf/src/moonlight-server/wolf.cpp:509:15
#4 0x00007f869cbf6577 at /lib/x86_64-linux-gnu/libc.so.6
#5 0x00007f869cbf663a in __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6
#6 0x000055aadd27aba4 in _start at /wolf/wolf

When I add this to the end of my config.toml:

[gstreamer]

[gstreamer.video]

default_source = 'interpipesrc listen-to={session_id}_video is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=1 leaky-type=downstream'
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
"""

[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 !
video/x-raw(memory:VAMemory),format=NV12, chroma-site={color_range},
colorimetry={color_space}, pixel-aspect-ratio=1/1\
"""

[[gstreamer.video.hevc_encoders]]
plugin_name = "qsv"
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\
"""

[[gstreamer.video.h264_encoders]]
plugin_name = "qsv"
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\
"""

[gstreamer.audio]
default_source = """
interpipesrc listen-to={session_id}_audio is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=3 block=false\
"""
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\
"""

I get the following logs:

[2025-08-23 19:02:42] 
[2025-08-23 19:02:42] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 19:02:42] **** Configure default user ****
[2025-08-23 19:02:42] Container running as root. Nothing to do.
[2025-08-23 19:02:42] DONE
[2025-08-23 19:02:42] 
[2025-08-23 19:02:42] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 19:02:42] **** Configure devices ****
[2025-08-23 19:02:42] Exec device groups
[2025-08-23 19:02:42] Adding user 'root' to groups: gow-gid-102,root
[2025-08-23 19:02:42] DONE
[2025-08-23 19:02:42] 
[2025-08-23 19:02:42] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 19:02:42] 
[2025-08-23 19:02:42] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2025-08-23 19:02:42] Launching the container's startup script as user 'root'
0:00:00.055108949   100 0x557e5f3c9730 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
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.213373982   100 0x557e5f3c9730 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x557e5f484fb0> Could not set value on item: format-version
0:00:00.213408944   100 0x557e5f3c9730 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x557e5f485800> Could not set value on item: format-version
0:00:00.213428056   100 0x557e5f3c9730 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x557e5f486070> Could not set value on item: format-version
0:00:00.213932252   100 0x557e5f3c9730 WARN               structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:00.217849708   100 0x557e5f3c9730 WARN              cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.332630656   100 0x557e5f3c9730 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8  DEC
0:00:00.332647810   100 0x557e5f3c9730 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8  DEC
0:00:00.333210412   100 0x557e5f3c9730 WARN                 default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 
0:00:00.333219525   100 0x557e5f3c9730 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC  DEC
0:00:00.333224731   100 0x557e5f3c9730 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC  DEC
0:00:00.339450316   100 0x557e5f3c9730 WARN                 default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff
0:00:00.347469166   100 0x557e5f3c9730 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:00.356201472     1 0x564bb94de830 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
0:00:00.349642811   100 0x557e5f3c9730 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:00.355130203   100 0x557e5f3c9730 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:00.371152429     1 0x564bb94de830 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
18:02:42.988201039 INFO  | Gstreamer version: 1.26.2-0
18:02:42.989810539 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
18:02:42.989850402 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
18:02:42.998571526 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
18:02:43.088321127 INFO  | Using H264 encoder: qsv
18:02:43.088649485 INFO  | Using HEVC encoder: qsv
18:02:43.088807996 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"]
18:02:43.088941242 INFO  | Using zero copy pipeline on Intel (/dev/dri/renderD128)
18:02:43.090817072 ERROR | Unhandled exception: std::bad_alloc
Stack trace (most recent call first):
#0 0x000055f39f359912 in safe_dump_stacktrace_to at /wolf/src/moonlight-server/./exceptions/exceptions.h:22:56
#1 0x000055f39f36480d in shutdown_handler at /wolf/src/moonlight-server/./exceptions/exceptions.h:69:28
#2 0x000055f39f36dd60 in on_terminate at /wolf/src/moonlight-server/./exceptions/exceptions.h:99:19
#3 0x000055f39f331622 in main at /wolf/src/moonlight-server/wolf.cpp:509:15
#4 0x00007f44efdd0577 at /lib/x86_64-linux-gnu/libc.so.6
#5 0x00007f44efdd063a in __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6
#6 0x000055f39f355ba4 in _start at /wolf/wolf
[2025-08-23 19:02:43] 
[2025-08-23 19:02:43] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 19:02:43] **** Configure default user ****
[2025-08-23 19:02:43] Container running as root. Nothing to do.
[2025-08-23 19:02:43] DONE
[2025-08-23 19:02:43] 
[2025-08-23 19:02:43] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 19:02:43] **** Configure devices ****
[2025-08-23 19:02:43] Exec device groups
[2025-08-23 19:02:43] Adding user 'root' to groups: gow-gid-102,root
[2025-08-23 19:02:43] DONE
[2025-08-23 19:02:43] 
[2025-08-23 19:02:43] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 19:02:43] 
[2025-08-23 19:02:43] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2025-08-23 19:02:43] Launching the container's startup script as user 'root'
18:02:43.900019011 INFO  | Gstreamer version: 1.26.2-0
18:02:43.900975717 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
18:02:43.901005955 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
18:02:43.910260023 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
18:02:43.990740947 INFO  | Using H264 encoder: qsv
18:02:43.990937613 INFO  | Using HEVC encoder: qsv
18:02:43.991030823 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"]
18:02:43.991116943 INFO  | Using zero copy pipeline on Intel (/dev/dri/renderD128)
18:02:43.991479201 ERROR | Unhandled exception: std::bad_alloc
Stack trace (most recent call first):
#0 0x0000564b8a508912 in safe_dump_stacktrace_to at /wolf/src/moonlight-server/./exceptions/exceptions.h:22:56
#1 0x0000564b8a51380d in shutdown_handler at /wolf/src/moonlight-server/./exceptions/exceptions.h:69:28
#2 0x0000564b8a51cd60 in on_terminate at /wolf/src/moonlight-server/./exceptions/exceptions.h:99:19
#3 0x0000564b8a4e0622 in main at /wolf/src/moonlight-server/wolf.cpp:509:15
#4 0x00007f919e451577 at /lib/x86_64-linux-gnu/libc.so.6
#5 0x00007f919e45163a in __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6
#6 0x0000564b8a504ba4 in _start at /wolf/wolf
<!-- gh-comment-id:3217232302 --> @zeedif commented on GitHub (Aug 23, 2025): I shared the `docker-compose.yml` I'm using, where you can see that I'm pulling `ghcr.io/games-on-whales/wolf:stable`. These are the full logs when I don't customize the gstreamer configuration: ``` [2025-08-23 19:00:49] [2025-08-23 19:00:49] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 19:00:49] **** Configure default user **** [2025-08-23 19:00:49] Container running as root. Nothing to do. [2025-08-23 19:00:49] DONE [2025-08-23 19:00:49] [2025-08-23 19:00:49] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 19:00:49] **** Configure devices **** [2025-08-23 19:00:49] Exec device groups [2025-08-23 19:00:49] Adding user 'root' to groups: gow-gid-102,root [2025-08-23 19:00:49] DONE [2025-08-23 19:00:49] [2025-08-23 19:00:49] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 19:00:49] [2025-08-23 19:00:49] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2025-08-23 19:00:49] Launching the container's startup script as user 'root' 0:00:00.128443442 100 0x5626ba4d1540 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 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.285888198 100 0x5626ba4d1540 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x5626ba95c4e0> Could not set value on item: format-version 0:00:00.285928759 100 0x5626ba4d1540 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x5626ba95cd30> Could not set value on item: format-version 0:00:00.285947997 100 0x5626ba4d1540 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x5626ba95d5a0> Could not set value on item: format-version 0:00:00.286499781 100 0x5626ba4d1540 WARN structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype 0:00:00.290602596 100 0x5626ba4d1540 WARN cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.409112368 100 0x5626ba4d1540 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8 DEC 0:00:00.409129623 100 0x5626ba4d1540 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8 DEC 0:00:00.409656803 100 0x5626ba4d1540 WARN default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 0:00:00.409665567 100 0x5626ba4d1540 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC DEC 0:00:00.409670502 100 0x5626ba4d1540 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC DEC 0:00:00.415913984 100 0x5626ba4d1540 WARN default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff 0:00:00.424524049 100 0x5626ba4d1540 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:00.428821373 1 0x55ab150bbe90 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 0:00:00.426167400 100 0x5626ba4d1540 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:00.431622134 100 0x5626ba4d1540 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:00.443222911 1 0x55ab150bbe90 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 18:00:49.888475910 INFO | Gstreamer version: 1.26.2-0 18:00:49.889960650 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets 18:00:49.889992455 INFO | Reading config file from: /etc/wolf/cfg/config.toml 18:00:49.898234444 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation 18:00:49.898615862 ERROR | Unhandled exception: Unable to find a compatible H.264 encoder, please check [[gstreamer.video.h264_encoders]] in your config.toml or your Gstreamer installation [2025-08-23 19:00:50] [2025-08-23 19:00:50] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 19:00:50] **** Configure default user **** [2025-08-23 19:00:50] Container running as root. Nothing to do. [2025-08-23 19:00:50] DONE [2025-08-23 19:00:50] [2025-08-23 19:00:50] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 19:00:50] **** Configure devices **** [2025-08-23 19:00:50] Exec device groups [2025-08-23 19:00:50] Adding user 'root' to groups: gow-gid-102,root [2025-08-23 19:00:50] DONE [2025-08-23 19:00:50] [2025-08-23 19:00:50] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 19:00:50] [2025-08-23 19:00:50] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2025-08-23 19:00:50] Launching the container's startup script as user 'root' 18:00:50.710976675 INFO | Gstreamer version: 1.26.2-0 18:00:50.712292209 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets 18:00:50.712331228 INFO | Reading config file from: /etc/wolf/cfg/config.toml 18:00:50.720540491 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation 18:00:50.721084592 ERROR | Unhandled exception: Unable to find a compatible H.264 encoder, please check [[gstreamer.video.h264_encoders]] in your config.toml or your Gstreamer installation Stack trace (most recent call first): #0 0x000055aadd27e912 in safe_dump_stacktrace_to at /wolf/src/moonlight-server/./exceptions/exceptions.h:22:56 #1 0x000055aadd28980d in shutdown_handler at /wolf/src/moonlight-server/./exceptions/exceptions.h:69:28 #2 0x000055aadd292d60 in on_terminate at /wolf/src/moonlight-server/./exceptions/exceptions.h:99:19 #3 0x000055aadd256622 in main at /wolf/src/moonlight-server/wolf.cpp:509:15 #4 0x00007f869cbf6577 at /lib/x86_64-linux-gnu/libc.so.6 #5 0x00007f869cbf663a in __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 #6 0x000055aadd27aba4 in _start at /wolf/wolf ``` When I add this to the end of my `config.toml`: ```toml [gstreamer] [gstreamer.video] default_source = 'interpipesrc listen-to={session_id}_video is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=1 leaky-type=downstream' 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 """ [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 ! video/x-raw(memory:VAMemory),format=NV12, chroma-site={color_range}, colorimetry={color_space}, pixel-aspect-ratio=1/1\ """ [[gstreamer.video.hevc_encoders]] plugin_name = "qsv" 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\ """ [[gstreamer.video.h264_encoders]] plugin_name = "qsv" 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\ """ [gstreamer.audio] default_source = """ interpipesrc listen-to={session_id}_audio is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=3 block=false\ """ 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\ """ ``` I get the following logs: ``` [2025-08-23 19:02:42] [2025-08-23 19:02:42] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 19:02:42] **** Configure default user **** [2025-08-23 19:02:42] Container running as root. Nothing to do. [2025-08-23 19:02:42] DONE [2025-08-23 19:02:42] [2025-08-23 19:02:42] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 19:02:42] **** Configure devices **** [2025-08-23 19:02:42] Exec device groups [2025-08-23 19:02:42] Adding user 'root' to groups: gow-gid-102,root [2025-08-23 19:02:42] DONE [2025-08-23 19:02:42] [2025-08-23 19:02:42] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 19:02:42] [2025-08-23 19:02:42] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2025-08-23 19:02:42] Launching the container's startup script as user 'root' 0:00:00.055108949 100 0x557e5f3c9730 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 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.213373982 100 0x557e5f3c9730 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x557e5f484fb0> Could not set value on item: format-version 0:00:00.213408944 100 0x557e5f3c9730 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x557e5f485800> Could not set value on item: format-version 0:00:00.213428056 100 0x557e5f3c9730 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x557e5f486070> Could not set value on item: format-version 0:00:00.213932252 100 0x557e5f3c9730 WARN structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype 0:00:00.217849708 100 0x557e5f3c9730 WARN cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.332630656 100 0x557e5f3c9730 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8 DEC 0:00:00.332647810 100 0x557e5f3c9730 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8 DEC 0:00:00.333210412 100 0x557e5f3c9730 WARN default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 0:00:00.333219525 100 0x557e5f3c9730 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC DEC 0:00:00.333224731 100 0x557e5f3c9730 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC DEC 0:00:00.339450316 100 0x557e5f3c9730 WARN default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff 0:00:00.347469166 100 0x557e5f3c9730 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:00.356201472 1 0x564bb94de830 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 0:00:00.349642811 100 0x557e5f3c9730 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:00.355130203 100 0x557e5f3c9730 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:00.371152429 1 0x564bb94de830 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 18:02:42.988201039 INFO | Gstreamer version: 1.26.2-0 18:02:42.989810539 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets 18:02:42.989850402 INFO | Reading config file from: /etc/wolf/cfg/config.toml 18:02:42.998571526 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 18:02:43.088321127 INFO | Using H264 encoder: qsv 18:02:43.088649485 INFO | Using HEVC encoder: qsv 18:02:43.088807996 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"] 18:02:43.088941242 INFO | Using zero copy pipeline on Intel (/dev/dri/renderD128) 18:02:43.090817072 ERROR | Unhandled exception: std::bad_alloc Stack trace (most recent call first): #0 0x000055f39f359912 in safe_dump_stacktrace_to at /wolf/src/moonlight-server/./exceptions/exceptions.h:22:56 #1 0x000055f39f36480d in shutdown_handler at /wolf/src/moonlight-server/./exceptions/exceptions.h:69:28 #2 0x000055f39f36dd60 in on_terminate at /wolf/src/moonlight-server/./exceptions/exceptions.h:99:19 #3 0x000055f39f331622 in main at /wolf/src/moonlight-server/wolf.cpp:509:15 #4 0x00007f44efdd0577 at /lib/x86_64-linux-gnu/libc.so.6 #5 0x00007f44efdd063a in __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 #6 0x000055f39f355ba4 in _start at /wolf/wolf [2025-08-23 19:02:43] [2025-08-23 19:02:43] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 19:02:43] **** Configure default user **** [2025-08-23 19:02:43] Container running as root. Nothing to do. [2025-08-23 19:02:43] DONE [2025-08-23 19:02:43] [2025-08-23 19:02:43] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 19:02:43] **** Configure devices **** [2025-08-23 19:02:43] Exec device groups [2025-08-23 19:02:43] Adding user 'root' to groups: gow-gid-102,root [2025-08-23 19:02:43] DONE [2025-08-23 19:02:43] [2025-08-23 19:02:43] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 19:02:43] [2025-08-23 19:02:43] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2025-08-23 19:02:43] Launching the container's startup script as user 'root' 18:02:43.900019011 INFO | Gstreamer version: 1.26.2-0 18:02:43.900975717 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets 18:02:43.901005955 INFO | Reading config file from: /etc/wolf/cfg/config.toml 18:02:43.910260023 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 18:02:43.990740947 INFO | Using H264 encoder: qsv 18:02:43.990937613 INFO | Using HEVC encoder: qsv 18:02:43.991030823 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"] 18:02:43.991116943 INFO | Using zero copy pipeline on Intel (/dev/dri/renderD128) 18:02:43.991479201 ERROR | Unhandled exception: std::bad_alloc Stack trace (most recent call first): #0 0x0000564b8a508912 in safe_dump_stacktrace_to at /wolf/src/moonlight-server/./exceptions/exceptions.h:22:56 #1 0x0000564b8a51380d in shutdown_handler at /wolf/src/moonlight-server/./exceptions/exceptions.h:69:28 #2 0x0000564b8a51cd60 in on_terminate at /wolf/src/moonlight-server/./exceptions/exceptions.h:99:19 #3 0x0000564b8a4e0622 in main at /wolf/src/moonlight-server/wolf.cpp:509:15 #4 0x00007f919e451577 at /lib/x86_64-linux-gnu/libc.so.6 #5 0x00007f919e45163a in __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 #6 0x0000564b8a504ba4 in _start at /wolf/wolf ```
Author
Owner

@ABeltramo commented on GitHub (Aug 23, 2025):

The first config.toml that you've posted isn't valid, I'm not sure why you are manually writing it instead of using the default, but that's what's causing all your exceptions.

Delete your config.toml so that Wolf creates a valid default file or if you really want to do that yourself just copy and paste the valid default file from https://github.com/games-on-whales/wolf/blob/stable/src/moonlight-server/state/default/config.v5.toml

<!-- gh-comment-id:3217256940 --> @ABeltramo commented on GitHub (Aug 23, 2025): The first `config.toml` that you've posted isn't valid, I'm not sure why you are manually writing it instead of using the default, but that's what's causing all your exceptions. Delete your `config.toml` so that Wolf creates a valid default file or if you really want to do that yourself just copy and paste the valid default file from https://github.com/games-on-whales/wolf/blob/stable/src/moonlight-server/state/default/config.v5.toml
Author
Owner

@zeedif commented on GitHub (Aug 23, 2025):

Thanks, I hadn't found that file. After adjusting my config file like this:

config.toml
# The name that will be displayed in Moonlight
hostname = "Wolf"
# The version of this config file
config_version = 5
# A list of paired clients that will be allowed to stream
paired_clients = []

######################
# Apps, the list of apps that will be shown in Moonlight
[[apps]]
title = "RetroArch"
icon_png_path = "https://games-on-whales.github.io/wildlife/apps/retroarch/assets/icon.png"
start_virtual_compositor = true

[apps.runner]
type = "docker"
name = "WolfRetroarch"
image = "ghcr.io/games-on-whales/retroarch:edge"
mounts = [
  "/home/hogar/Roms:/ROMs:ro", 
  "/home/hogar/contenedores/retroarch:/home/retro:rw" 
]
env = [
    "RUN_SWAY=true",
    "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*",
]
devices = []
ports = []
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"]
  }
}
\
"""

######################
# Gstreamer: Video/Audio encoding pipelines and streaming settings
[gstreamer]

[gstreamer.video]

default_source = 'interpipesrc listen-to={session_id}_video is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=1 leaky-type=downstream'
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 settings for the main encoders
# To avoid repetition between H264, HEVC and AV1 encoders
[gstreamer.video.defaults.nvcodec]
video_params = """
cudaupload !
cudaconvertscale !
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 = """
glupload !
glcolorconvert !
video/x-raw(memory:GLMemory),format=NV12, width={width}, height={height}, chroma-site={color_range}, \
colorimetry={color_space}, 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 !
video/x-raw(memory:VAMemory),format=NV12, chroma-site={color_range},
colorimetry={color_space}, pixel-aspect-ratio=1/1\
"""

[gstreamer.video.defaults.va]
video_params = """
vapostproc !
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 !
video/x-raw(memory:VAMemory), format=NV12, chroma-site={color_range}, width={width}, height={height},
colorimetry={color_space}, pixel-aspect-ratio=1/1\
"""

######################
# HEVC encoders
# Order here matters: Wolf will try them in order and pick the first one that's not failing
###
[[gstreamer.video.hevc_encoders]]
plugin_name = "nvcodec"
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\
"""

[[gstreamer.video.hevc_encoders]]
plugin_name = "qsv"
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\
"""

[[gstreamer.video.hevc_encoders]]
plugin_name = "va"
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\
"""

[[gstreamer.video.hevc_encoders]]
plugin_name = "va"
check_elements = ["vah265lpenc", "vapostproc"] # lp: (Low Power)
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\
"""

[[gstreamer.video.hevc_encoders]]
plugin_name = "x265" # SW Encoding
check_elements = ["x265enc"]
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}\
"""
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\
"""


######################
# H264 encoders
# Order here matters: Wolf will try them in order and pick the first one that's not failing
###
[[gstreamer.video.h264_encoders]]
plugin_name = "nvcodec"
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\
"""

[[gstreamer.video.h264_encoders]]
plugin_name = "qsv"
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\
"""

[[gstreamer.video.h264_encoders]]
plugin_name = "va"
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\
"""

[[gstreamer.video.h264_encoders]]
plugin_name = "va"
check_elements = ["vah264lpenc", "vapostproc"] # lp: (Low Power)
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\
"""


[[gstreamer.video.h264_encoders]]
plugin_name = "x264" # SW Encoding
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\
"""

##############
# AV1 encoders
###
[[gstreamer.video.av1_encoders]]
plugin_name = "nvcodec"
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\
"""

[[gstreamer.video.av1_encoders]]
plugin_name = "qsv"
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\
"""

[[gstreamer.video.av1_encoders]]
plugin_name = "va"
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\
"""

[[gstreamer.video.av1_encoders]]
plugin_name = "va"
check_elements = ["vaav1lpenc", "vapostproc"] # LP = Low Power
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\
"""

[[gstreamer.video.av1_encoders]]
plugin_name = "aom"
check_elements = ["av1enc"]
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}\
"""
encoder_pipeline = """
av1enc usage-profile=realtime end-usage=vbr target-bitrate={bitrate} !
av1parse !
video/x-av1, stream-format=obu-stream, alignment=frame, profile=main\
"""

###########
# Audio
###
[gstreamer.audio]
default_source = """
interpipesrc listen-to={session_id}_audio is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=3 block=false\
"""

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\
"""

It finally starts up! The logs now show that it correctly identifies my Intel iGPU and selects the qsv encoder. The only problem now seems to be with PulseAudio, as it fails to connect even after trying to start its own container:

zeedif@zeepubs:~$ docker logs wolf
[2025-08-23 20:47:31] 
[2025-08-23 20:47:31] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 20:47:31] **** Configure default user ****
[2025-08-23 20:47:31] Container running as root. Nothing to do.
[2025-08-23 20:47:31] DONE
[2025-08-23 20:47:31] 
[2025-08-23 20:47:31] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 20:47:31] **** Configure devices ****
[2025-08-23 20:47:31] Exec device groups
[2025-08-23 20:47:31] Adding user 'root' to groups: gow-gid-102,root
[2025-08-23 20:47:31] DONE
[2025-08-23 20:47:31] 
[2025-08-23 20:47:31] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 20:47:31] 
[2025-08-23 20:47:31] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2025-08-23 20:47:31] Launching the container's startup script as user 'root'
0:00:00.070620777    99 0x55924917c5a0 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
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.239452050    99 0x55924917c5a0 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x5592493d1bd0> Could not set value on item: format-version
0:00:00.239500055    99 0x55924917c5a0 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x5592493d2500> Could not set value on item: format-version
0:00:00.239522440    99 0x55924917c5a0 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x5592493d2d70> Could not set value on item: format-version
0:00:00.240030887    99 0x55924917c5a0 WARN               structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:00.245458194    99 0x55924917c5a0 WARN              cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.368469041    99 0x55924917c5a0 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8  DEC
0:00:00.368485867    99 0x55924917c5a0 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8  DEC
0:00:00.369073443    99 0x55924917c5a0 WARN                 default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 
0:00:00.369083335    99 0x55924917c5a0 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC  DEC
0:00:00.369088333    99 0x55924917c5a0 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC  DEC
0:00:00.375065701    99 0x55924917c5a0 WARN                 default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff
0:00:00.385744460    99 0x55924917c5a0 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:00.389141789     1 0x555a0bed8df0 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
0:00:00.387376121    99 0x55924917c5a0 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:00.392792762    99 0x55924917c5a0 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:00.403589926     1 0x555a0bed8df0 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
19:47:31.899738506 INFO  | Gstreamer version: 1.26.2-0
19:47:31.900724496 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
19:47:31.900755970 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
19:47:31.910427095 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
19:47:31.910516027 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2)
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
19:47:31.985042237 INFO  | Using H264 encoder: qsv
19:47:31.985121784 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2)
19:47:31.985269340 INFO  | Using HEVC encoder: qsv
19:47:31.985302697 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2)
0:00:00.505009632     1 0x555a0bed8df0 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "qsvav1enc"!
0:00:00.505038455     1 0x555a0bed8df0 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1enc"!
0:00:00.505060815     1 0x555a0bed8df0 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1lpenc"!
19:47:31.986025594 INFO  | Using AV1 encoder: aom
19:47:31.986042975 WARN  | Software AV1 encoder detected
19:47:31.986129464 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"]
19:47:31.986216740 INFO  | Using zero copy pipeline on Intel (/dev/dri/renderD128)
19:47:31.986334853 INFO  | x509 certificates not present, generating: /etc/wolf/cfg/cert.pem /etc/wolf/cfg/key.pem
19:47:32.064458137 INFO  | [RTP] Starting RTP ping server on ports 48100 and 48200
19:47:32.064621810 INFO  | HTTP server listening on port: 47989 
19:47:32.064622756 INFO  | RTSP server started on port: 48010
19:47:32.064912784 INFO  | Starting API server on /tmp/wolf.sock
19:47:32.064932263 INFO  | Control server started on port: 47999
19:47:32.065308323 DEBUG | [PULSE] Connecting...
19:47:32.065392038 DEBUG | [PULSE] Context failed
19:47:32.065408627 WARN  | [PULSE] Unable to connect, Access denied
19:47:32.065473761 INFO  | Starting PulseAudio docker container
19:47:32.065910506 INFO  | HTTPS server listening on port: 47984 
19:47:32.065978707 INFO  | Starting mDNS service
19:47:32.068143869 WARN  | [DOCKER] Container WolfPulseAudio already present, removing first
19:47:34.468101032 DEBUG | [PULSE] Connecting...
19:47:34.468308955 DEBUG | [PULSE] Context failed
19:47:34.468358299 WARN  | [PULSE] Unable to connect, Access denied

Logs WolfPulseAudio:

[2025-08-23 19:47:32] 
[2025-08-23 19:47:32] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 19:47:32] **** Configure default user ****
[2025-08-23 19:47:32] 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.
[2025-08-23 19:47:32] Setting umask to 000
[2025-08-23 19:47:32] Ensure retro home directory is writable
[2025-08-23 19:47:32] Ensure XDG_RUNTIME_DIR is writable
[2025-08-23 19:47:32] DONE
[2025-08-23 19:47:32] 
[2025-08-23 19:47:32] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 19:47:32] **** Configure devices ****
[2025-08-23 19:47:32] Exec device groups
[2025-08-23 19:47:32] Path '/dev/uinput' is not present.
[2025-08-23 19:47:32] Path '/dev/input/event*' is not present.
[2025-08-23 19:47:32] Not modifying user groups ()
[2025-08-23 19:47:32] DONE
[2025-08-23 19:47:32] 
[2025-08-23 19:47:32] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 19:47:32] Launching the container's startup script as user 'retro'
[2025-08-23 19:47:32] Removing all files from /root/.config/pulse
[2025-08-23 19:47:32] 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
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.
<!-- gh-comment-id:3217305038 --> @zeedif commented on GitHub (Aug 23, 2025): Thanks, I hadn't found that file. After adjusting my config file like this: <details> <summary>config.toml</summary> ```toml # The name that will be displayed in Moonlight hostname = "Wolf" # The version of this config file config_version = 5 # A list of paired clients that will be allowed to stream paired_clients = [] ###################### # Apps, the list of apps that will be shown in Moonlight [[apps]] title = "RetroArch" icon_png_path = "https://games-on-whales.github.io/wildlife/apps/retroarch/assets/icon.png" start_virtual_compositor = true [apps.runner] type = "docker" name = "WolfRetroarch" image = "ghcr.io/games-on-whales/retroarch:edge" mounts = [ "/home/hogar/Roms:/ROMs:ro", "/home/hogar/contenedores/retroarch:/home/retro:rw" ] env = [ "RUN_SWAY=true", "GOW_REQUIRED_DEVICES=/dev/input/* /dev/dri/* /dev/nvidia*", ] devices = [] ports = [] 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"] } } \ """ ###################### # Gstreamer: Video/Audio encoding pipelines and streaming settings [gstreamer] [gstreamer.video] default_source = 'interpipesrc listen-to={session_id}_video is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=1 leaky-type=downstream' 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 settings for the main encoders # To avoid repetition between H264, HEVC and AV1 encoders [gstreamer.video.defaults.nvcodec] video_params = """ cudaupload ! cudaconvertscale ! 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 = """ glupload ! glcolorconvert ! video/x-raw(memory:GLMemory),format=NV12, width={width}, height={height}, chroma-site={color_range}, \ colorimetry={color_space}, 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 ! video/x-raw(memory:VAMemory),format=NV12, chroma-site={color_range}, colorimetry={color_space}, pixel-aspect-ratio=1/1\ """ [gstreamer.video.defaults.va] video_params = """ vapostproc ! 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 ! video/x-raw(memory:VAMemory), format=NV12, chroma-site={color_range}, width={width}, height={height}, colorimetry={color_space}, pixel-aspect-ratio=1/1\ """ ###################### # HEVC encoders # Order here matters: Wolf will try them in order and pick the first one that's not failing ### [[gstreamer.video.hevc_encoders]] plugin_name = "nvcodec" 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\ """ [[gstreamer.video.hevc_encoders]] plugin_name = "qsv" 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\ """ [[gstreamer.video.hevc_encoders]] plugin_name = "va" 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\ """ [[gstreamer.video.hevc_encoders]] plugin_name = "va" check_elements = ["vah265lpenc", "vapostproc"] # lp: (Low Power) 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\ """ [[gstreamer.video.hevc_encoders]] plugin_name = "x265" # SW Encoding check_elements = ["x265enc"] 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}\ """ 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\ """ ###################### # H264 encoders # Order here matters: Wolf will try them in order and pick the first one that's not failing ### [[gstreamer.video.h264_encoders]] plugin_name = "nvcodec" 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\ """ [[gstreamer.video.h264_encoders]] plugin_name = "qsv" 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\ """ [[gstreamer.video.h264_encoders]] plugin_name = "va" 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\ """ [[gstreamer.video.h264_encoders]] plugin_name = "va" check_elements = ["vah264lpenc", "vapostproc"] # lp: (Low Power) 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\ """ [[gstreamer.video.h264_encoders]] plugin_name = "x264" # SW Encoding 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\ """ ############## # AV1 encoders ### [[gstreamer.video.av1_encoders]] plugin_name = "nvcodec" 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\ """ [[gstreamer.video.av1_encoders]] plugin_name = "qsv" 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\ """ [[gstreamer.video.av1_encoders]] plugin_name = "va" 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\ """ [[gstreamer.video.av1_encoders]] plugin_name = "va" check_elements = ["vaav1lpenc", "vapostproc"] # LP = Low Power 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\ """ [[gstreamer.video.av1_encoders]] plugin_name = "aom" check_elements = ["av1enc"] 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}\ """ encoder_pipeline = """ av1enc usage-profile=realtime end-usage=vbr target-bitrate={bitrate} ! av1parse ! video/x-av1, stream-format=obu-stream, alignment=frame, profile=main\ """ ########### # Audio ### [gstreamer.audio] default_source = """ interpipesrc listen-to={session_id}_audio is-live=true stream-sync=restart-ts max-bytes=0 max-buffers=3 block=false\ """ 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\ """ ``` </details> It finally starts up! The logs now show that it correctly identifies my Intel iGPU and selects the `qsv` encoder. The only problem now seems to be with PulseAudio, as it fails to connect even after trying to start its own container: ``` zeedif@zeepubs:~$ docker logs wolf [2025-08-23 20:47:31] [2025-08-23 20:47:31] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 20:47:31] **** Configure default user **** [2025-08-23 20:47:31] Container running as root. Nothing to do. [2025-08-23 20:47:31] DONE [2025-08-23 20:47:31] [2025-08-23 20:47:31] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 20:47:31] **** Configure devices **** [2025-08-23 20:47:31] Exec device groups [2025-08-23 20:47:31] Adding user 'root' to groups: gow-gid-102,root [2025-08-23 20:47:31] DONE [2025-08-23 20:47:31] [2025-08-23 20:47:31] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 20:47:31] [2025-08-23 20:47:31] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2025-08-23 20:47:31] Launching the container's startup script as user 'root' 0:00:00.070620777 99 0x55924917c5a0 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 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.239452050 99 0x55924917c5a0 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x5592493d1bd0> Could not set value on item: format-version 0:00:00.239500055 99 0x55924917c5a0 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x5592493d2500> Could not set value on item: format-version 0:00:00.239522440 99 0x55924917c5a0 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x5592493d2d70> Could not set value on item: format-version 0:00:00.240030887 99 0x55924917c5a0 WARN structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype 0:00:00.245458194 99 0x55924917c5a0 WARN cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.368469041 99 0x55924917c5a0 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8 DEC 0:00:00.368485867 99 0x55924917c5a0 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8 DEC 0:00:00.369073443 99 0x55924917c5a0 WARN default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 0:00:00.369083335 99 0x55924917c5a0 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC DEC 0:00:00.369088333 99 0x55924917c5a0 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC DEC 0:00:00.375065701 99 0x55924917c5a0 WARN default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff 0:00:00.385744460 99 0x55924917c5a0 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:00.389141789 1 0x555a0bed8df0 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 0:00:00.387376121 99 0x55924917c5a0 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:00.392792762 99 0x55924917c5a0 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:00.403589926 1 0x555a0bed8df0 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 19:47:31.899738506 INFO | Gstreamer version: 1.26.2-0 19:47:31.900724496 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets 19:47:31.900755970 INFO | Reading config file from: /etc/wolf/cfg/config.toml 19:47:31.910427095 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation 19:47:31.910516027 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2) libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 19:47:31.985042237 INFO | Using H264 encoder: qsv 19:47:31.985121784 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2) 19:47:31.985269340 INFO | Using HEVC encoder: qsv 19:47:31.985302697 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2) 0:00:00.505009632 1 0x555a0bed8df0 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "qsvav1enc"! 0:00:00.505038455 1 0x555a0bed8df0 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1enc"! 0:00:00.505060815 1 0x555a0bed8df0 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1lpenc"! 19:47:31.986025594 INFO | Using AV1 encoder: aom 19:47:31.986042975 WARN | Software AV1 encoder detected 19:47:31.986129464 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"] 19:47:31.986216740 INFO | Using zero copy pipeline on Intel (/dev/dri/renderD128) 19:47:31.986334853 INFO | x509 certificates not present, generating: /etc/wolf/cfg/cert.pem /etc/wolf/cfg/key.pem 19:47:32.064458137 INFO | [RTP] Starting RTP ping server on ports 48100 and 48200 19:47:32.064621810 INFO | HTTP server listening on port: 47989 19:47:32.064622756 INFO | RTSP server started on port: 48010 19:47:32.064912784 INFO | Starting API server on /tmp/wolf.sock 19:47:32.064932263 INFO | Control server started on port: 47999 19:47:32.065308323 DEBUG | [PULSE] Connecting... 19:47:32.065392038 DEBUG | [PULSE] Context failed 19:47:32.065408627 WARN | [PULSE] Unable to connect, Access denied 19:47:32.065473761 INFO | Starting PulseAudio docker container 19:47:32.065910506 INFO | HTTPS server listening on port: 47984 19:47:32.065978707 INFO | Starting mDNS service 19:47:32.068143869 WARN | [DOCKER] Container WolfPulseAudio already present, removing first 19:47:34.468101032 DEBUG | [PULSE] Connecting... 19:47:34.468308955 DEBUG | [PULSE] Context failed 19:47:34.468358299 WARN | [PULSE] Unable to connect, Access denied ``` Logs WolfPulseAudio: ``` [2025-08-23 19:47:32] [2025-08-23 19:47:32] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 19:47:32] **** Configure default user **** [2025-08-23 19:47:32] 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. [2025-08-23 19:47:32] Setting umask to 000 [2025-08-23 19:47:32] Ensure retro home directory is writable [2025-08-23 19:47:32] Ensure XDG_RUNTIME_DIR is writable [2025-08-23 19:47:32] DONE [2025-08-23 19:47:32] [2025-08-23 19:47:32] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 19:47:32] **** Configure devices **** [2025-08-23 19:47:32] Exec device groups [2025-08-23 19:47:32] Path '/dev/uinput' is not present. [2025-08-23 19:47:32] Path '/dev/input/event*' is not present. [2025-08-23 19:47:32] Not modifying user groups () [2025-08-23 19:47:32] DONE [2025-08-23 19:47:32] [2025-08-23 19:47:32] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 19:47:32] Launching the container's startup script as user 'retro' [2025-08-23 19:47:32] Removing all files from /root/.config/pulse [2025-08-23 19:47:32] 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 E: [pulseaudio] pid.c: Daemon already running. E: [pulseaudio] main.c: pa_pid_file_create() failed. ```
Author
Owner

@ABeltramo commented on GitHub (Aug 23, 2025):

You are missing XDG_RUNTIME_DIR and the relative mount.
Please just run the defaults from the quickstart guide, you are making a bit of a mess by manually editing stuff without the right knowledge 😅

<!-- gh-comment-id:3217324770 --> @ABeltramo commented on GitHub (Aug 23, 2025): You are missing `XDG_RUNTIME_DIR` and the relative mount. Please just run the defaults from the quickstart guide, you are making a bit of a mess by manually editing stuff without the right knowledge 😅
Author
Owner

@zeedif commented on GitHub (Aug 23, 2025):

Thanks, it seems to be running fine now. Clarifying the documentation would help a lot.

[2025-08-23 21:13:26] 
[2025-08-23 21:13:26] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 21:13:26] **** Configure default user ****
[2025-08-23 21:13:26] 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.
[2025-08-23 21:13:26] Setting umask to 000
[2025-08-23 21:13:26] Ensure retro home directory is writable
[2025-08-23 21:13:26] Ensure XDG_RUNTIME_DIR is writable
[2025-08-23 21:13:26] DONE
[2025-08-23 21:13:26] 
[2025-08-23 21:13:26] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 21:13:26] **** Configure devices ****
[2025-08-23 21:13:26] Exec device groups
[2025-08-23 21:13:26] Path '/dev/uinput' is not present.
[2025-08-23 21:13:26] Path '/dev/input/event*' is not present.
[2025-08-23 21:13:26] Not modifying user groups ()
[2025-08-23 21:13:26] DONE
[2025-08-23 21:13:26] 
[2025-08-23 21:13:26] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 21:13:26] Launching the container's startup script as user 'retro'
[2025-08-23 21:13:26] Removing all files from /root/.config/pulse
[2025-08-23 21:13:26] 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
zeedif@zeepubs:~$ docker logs wolf
[2025-08-23 22:13:26] 
[2025-08-23 22:13:26] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2025-08-23 22:13:26] **** Configure default user ****
[2025-08-23 22:13:26] Container running as root. Nothing to do.
[2025-08-23 22:13:26] DONE
[2025-08-23 22:13:26] 
[2025-08-23 22:13:26] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2025-08-23 22:13:26] **** Configure devices ****
[2025-08-23 22:13:26] Exec device groups
[2025-08-23 22:13:26] Adding user 'root' to groups: gow-gid-102,root
[2025-08-23 22:13:26] DONE
[2025-08-23 22:13:26] 
[2025-08-23 22:13:26] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2025-08-23 22:13:26] 
[2025-08-23 22:13:26] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2025-08-23 22:13:26] Launching the container's startup script as user 'root'
0:00:00.068493945   100 0x564ce9995480 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
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.222621066   100 0x564ce9995480 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x564ce9a4ba90> Could not set value on item: format-version
0:00:00.222653888   100 0x564ce9995480 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x564ce9a4c2e0> Could not set value on item: format-version
0:00:00.222671934   100 0x564ce9995480 WARN                 default ges-meta-container.c:238:_set_value:<GESAsset@0x564ce9a4cb50> Could not set value on item: format-version
0:00:00.223179320   100 0x564ce9995480 WARN               structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:00.226978153   100 0x564ce9995480 WARN              cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
0:00:00.340690169   100 0x564ce9995480 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8  DEC
0:00:00.340705614   100 0x564ce9995480 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8  DEC
0:00:00.341254175   100 0x564ce9995480 WARN                 default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 
0:00:00.341263286   100 0x564ce9995480 WARN                 default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC  DEC
0:00:00.341269359   100 0x564ce9995480 WARN                 default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC  DEC
0:00:00.347797898   100 0x564ce9995480 WARN                 default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff
0:00:00.355633738   100 0x564ce9995480 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:00.358658183     1 0x56419dadad80 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
0:00:00.357230463   100 0x564ce9995480 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:00.362842270   100 0x564ce9995480 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:00.376209238     1 0x56419dadad80 WARN            GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so)
21:13:26.581941339 INFO  | Gstreamer version: 1.26.2-0
21:13:26.582919419 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets
21:13:26.582949005 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
21:13:26.593317845 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation
21:13:26.593422075 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2)
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
21:13:26.666561833 INFO  | Using H264 encoder: qsv
21:13:26.666642581 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2)
21:13:26.666830616 INFO  | Using HEVC encoder: qsv
21:13:26.666863947 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2)
0:00:00.476820001     1 0x56419dadad80 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "qsvav1enc"!
0:00:00.476877011     1 0x56419dadad80 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1enc"!
0:00:00.476901096     1 0x56419dadad80 WARN     GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1lpenc"!
21:13:26.667796457 INFO  | Using AV1 encoder: aom
21:13:26.667816632 WARN  | Software AV1 encoder detected
21:13:26.667907362 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"]
21:13:26.667993642 INFO  | Using zero copy pipeline on Intel (/dev/dri/renderD128)
21:13:26.668104214 DEBUG | Loading server certificates from disk: /etc/wolf/cfg/cert.pem /etc/wolf/cfg/key.pem
21:13:26.669259897 INFO  | [RTP] Starting RTP ping server on ports 48100 and 48200
21:13:26.669441089 INFO  | HTTP server listening on port: 47989 
21:13:26.669743163 INFO  | Starting API server on /tmp/wolf.sock
21:13:26.669759936 INFO  | RTSP server started on port: 48010
XDG_RUNTIME_DIR (/tmp/sockets) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
21:13:26.670086113 INFO  | Control server started on port: 47999
21:13:26.670108799 DEBUG | [PULSE] Connecting...
21:13:26.670259098 DEBUG | [PULSE] Context failed
21:13:26.670304256 WARN  | [PULSE] Unable to connect, Access denied
21:13:26.670753821 INFO  | Starting PulseAudio docker container
21:13:26.671539285 INFO  | Starting mDNS service
21:13:26.672319000 INFO  | HTTPS server listening on port: 47984 
21:13:28.858187807 DEBUG | [PULSE] Connecting...
21:13:28.859028466 DEBUG | [PULSE] Pulse connection ready
<!-- gh-comment-id:3217419291 --> @zeedif commented on GitHub (Aug 23, 2025): Thanks, it seems to be running fine now. Clarifying the documentation would help a lot. ``` [2025-08-23 21:13:26] [2025-08-23 21:13:26] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 21:13:26] **** Configure default user **** [2025-08-23 21:13:26] 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. [2025-08-23 21:13:26] Setting umask to 000 [2025-08-23 21:13:26] Ensure retro home directory is writable [2025-08-23 21:13:26] Ensure XDG_RUNTIME_DIR is writable [2025-08-23 21:13:26] DONE [2025-08-23 21:13:26] [2025-08-23 21:13:26] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 21:13:26] **** Configure devices **** [2025-08-23 21:13:26] Exec device groups [2025-08-23 21:13:26] Path '/dev/uinput' is not present. [2025-08-23 21:13:26] Path '/dev/input/event*' is not present. [2025-08-23 21:13:26] Not modifying user groups () [2025-08-23 21:13:26] DONE [2025-08-23 21:13:26] [2025-08-23 21:13:26] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 21:13:26] Launching the container's startup script as user 'retro' [2025-08-23 21:13:26] Removing all files from /root/.config/pulse [2025-08-23 21:13:26] 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 zeedif@zeepubs:~$ docker logs wolf [2025-08-23 22:13:26] [2025-08-23 22:13:26] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2025-08-23 22:13:26] **** Configure default user **** [2025-08-23 22:13:26] Container running as root. Nothing to do. [2025-08-23 22:13:26] DONE [2025-08-23 22:13:26] [2025-08-23 22:13:26] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2025-08-23 22:13:26] **** Configure devices **** [2025-08-23 22:13:26] Exec device groups [2025-08-23 22:13:26] Adding user 'root' to groups: gow-gid-102,root [2025-08-23 22:13:26] DONE [2025-08-23 22:13:26] [2025-08-23 22:13:26] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2025-08-23 22:13:26] [2025-08-23 22:13:26] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2025-08-23 22:13:26] Launching the container's startup script as user 'root' 0:00:00.068493945 100 0x564ce9995480 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 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.222621066 100 0x564ce9995480 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x564ce9a4ba90> Could not set value on item: format-version 0:00:00.222653888 100 0x564ce9995480 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x564ce9a4c2e0> Could not set value on item: format-version 0:00:00.222671934 100 0x564ce9995480 WARN default ges-meta-container.c:238:_set_value:<GESAsset@0x564ce9a4cb50> Could not set value on item: format-version 0:00:00.223179320 100 0x564ce9995480 WARN structure gststructure.c:3372:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype 0:00:00.226978153 100 0x564ce9995480 WARN cudaloader gstcudaloader.cpp:358:gst_cuda_load_library_once_func: Could not open library libcuda.so.1, libcuda.so.1: cannot open shared object file: No such file or directory libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 0:00:00.340690169 100 0x564ce9995480 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VP8 DEC 0:00:00.340705614 100 0x564ce9995480 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VP8 DEC 0:00:00.341254175 100 0x564ce9995480 WARN default gstmsdkcaps.c:1045:_dec_get_codec_index: Unsupported codec VVC 0:00:00.341263286 100 0x564ce9995480 WARN default gstmsdkcaps.c:1284:gst_msdkcaps_dec_create_caps: Failed to create caps for VVC DEC 0:00:00.341269359 100 0x564ce9995480 WARN default gstmsdk.c:250:_register_decoders: Failed to create caps for VVC DEC 0:00:00.347797898 100 0x564ce9995480 WARN default gstmsdkallocator_libva.c:820:gst_msdk_get_supported_modifiers: Failed to get modifier RGB16:0x00ffffffffffffff 0:00:00.355633738 100 0x564ce9995480 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:00.358658183 1 0x56419dadad80 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 0:00:00.357230463 100 0x564ce9995480 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:00.362842270 100 0x564ce9995480 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:00.376209238 1 0x56419dadad80 WARN GST_REGISTRY gstregistry.c:457:gst_registry_add_plugin:<registry0> Not replacing plugin because new one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so) is blacklisted but for a different location than existing one (/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so) 21:13:26.581941339 INFO | Gstreamer version: 1.26.2-0 21:13:26.582919419 DEBUG | XDG_RUNTIME_DIR=/tmp/sockets 21:13:26.582949005 INFO | Reading config file from: /etc/wolf/cfg/config.toml 21:13:26.593317845 DEBUG | /dev/dri/renderD128 vendor: Intel Corporation 21:13:26.593422075 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2) libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 21:13:26.666561833 INFO | Using H264 encoder: qsv 21:13:26.666642581 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2) 21:13:26.666830616 INFO | Using HEVC encoder: qsv 21:13:26.666863947 DEBUG | Skipping NVIDIA encoder, not a NVIDIA GPU (2) 0:00:00.476820001 1 0x56419dadad80 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "qsvav1enc"! 0:00:00.476877011 1 0x56419dadad80 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1enc"! 0:00:00.476901096 1 0x56419dadad80 WARN GST_ELEMENT_FACTORY gstelementfactory.c:712:gst_element_factory_make_with_properties: no such element factory "vaav1lpenc"! 21:13:26.667796457 INFO | Using AV1 encoder: aom 21:13:26.667816632 WARN | Software AV1 encoder detected 21:13:26.667907362 DEBUG | Required DMA formats for vapostproc: ["NV12:0x0100000000000002", "YU12", "YV12", "YUYV:0x0100000000000002", "YU16:0x0100000000000002", "AB24:0x0100000000000002", "AR24:0x0100000000000002", "XB24:0x0100000000000002", "P010:0x0100000000000002", "AR30:0x0100000000000002", "AYUV:0x0100000000000002", "Y210:0x0100000000000002", "Y410:0x0100000000000002", "P012:0x0100000000000002", "Y212:0x0100000000000002", "Y412:0x0100000000000002"] 21:13:26.667993642 INFO | Using zero copy pipeline on Intel (/dev/dri/renderD128) 21:13:26.668104214 DEBUG | Loading server certificates from disk: /etc/wolf/cfg/cert.pem /etc/wolf/cfg/key.pem 21:13:26.669259897 INFO | [RTP] Starting RTP ping server on ports 48100 and 48200 21:13:26.669441089 INFO | HTTP server listening on port: 47989 21:13:26.669743163 INFO | Starting API server on /tmp/wolf.sock 21:13:26.669759936 INFO | RTSP server started on port: 48010 XDG_RUNTIME_DIR (/tmp/sockets) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.) 21:13:26.670086113 INFO | Control server started on port: 47999 21:13:26.670108799 DEBUG | [PULSE] Connecting... 21:13:26.670259098 DEBUG | [PULSE] Context failed 21:13:26.670304256 WARN | [PULSE] Unable to connect, Access denied 21:13:26.670753821 INFO | Starting PulseAudio docker container 21:13:26.671539285 INFO | Starting mDNS service 21:13:26.672319000 INFO | HTTPS server listening on port: 47984 21:13:28.858187807 DEBUG | [PULSE] Connecting... 21:13:28.859028466 DEBUG | [PULSE] Pulse connection ready ```
Author
Owner

@ABeltramo commented on GitHub (Aug 23, 2025):

Pull requests are always welcome 😉

<!-- gh-comment-id:3217437805 --> @ABeltramo commented on GitHub (Aug 23, 2025): Pull requests are always welcome 😉
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#170
No description provided.