[GH-ISSUE #129] WSL2 - Issues when running Wolf #82

Closed
opened 2026-10-15 12:56:06 +00:00 by bsakaguchi · 2 comments
Owner

Originally created by @LanHikari22 on GitHub (Sep 28, 2024).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/129

Hi,

I was trying to set this up on WSL2 with Docker using the NVIDIA compose.yaml and also CLI approach from https://games-on-whales.github.io/wolf/stable/user/quickstart.html

I am able to confirm that docker has access to my NVIDIA GPU with

docker run --gpus all nvidia/cuda:12.6.1-runtime-ubuntu22.04 nvidia-smi

==========
== CUDA ==
==========

CUDA Version 12.6.1

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

Sat Sep 28 00:48:01 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.02              Driver Version: 560.94         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2060        On  |   00000000:01:00.0  On |                  N/A |
| N/A   80C    P0             32W /   80W |    2056MiB /   6144MiB |      4%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

I then proceeded to try the following CLI command on WSL2 ubuntu22.04 as recommended for WSL2 in the quickstart:

docker run \
    --name wolf \
    --network=host \
    -e XDG_RUNTIME_DIR=/tmp/sockets \
    -v /tmp/sockets:/tmp/sockets:rw \
    -e HOST_APPS_STATE_FOLDER=/etc/wolf \
    -v /etc/wolf:/etc/wolf:rw \
    -v /var/run/docker.sock:/var/run/docker.sock:rw \
    --device /dev/dri/ \
    ghcr.io/games-on-whales/wolf:stable

This starts up, but I am not able to get much out of http://localhost:47989

curl http://localhost:47989
<?xml version="1.0" encoding="utf-8"?>
<root status_code="404"/>

And I'm also not able to pair Moonlight with it when I put localhost in moonlight It doesn't say anything. I'm not sure what the expected behavior is here.

Here is the log I get from starting up the docker container:

[2024-09-28 01:44:11]
[2024-09-28 01:44:11] [ /etc/cont-init.d/10-setup_user.sh: executing... ]
[2024-09-28 01:44:11] **** Configure default user ****
[2024-09-28 01:44:11] Container running as root. Nothing to do.
[2024-09-28 01:44:11] DONE
[2024-09-28 01:44:11]
[2024-09-28 01:44:11] [ /etc/cont-init.d/15-setup_devices.sh: executing... ]
[2024-09-28 01:44:11] **** Configure devices ****
[2024-09-28 01:44:11] Exec device groups
[2024-09-28 01:44:11] Path '/dev/uinput' is not present.
[2024-09-28 01:44:11] Path '/dev/input/event*' is not present.
[2024-09-28 01:44:11] Not modifying user groups ()
[2024-09-28 01:44:11] DONE
[2024-09-28 01:44:11]
[2024-09-28 01:44:11] [ /etc/cont-init.d/30-nvidia.sh: executing... ]
[2024-09-28 01:44:11]
[2024-09-28 01:44:11] [ /etc/cont-init.d/init-gamescope.sh: executing... ]
[2024-09-28 01:44:11] Launching the container's startup script as user 'root'
0:00:00.015132073    37 0x55699f837ae0 WARN              cudaloader gstcudaloader.cpp:260: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
0:00:00.016414813    37 0x55699f837ae0 WARN                 default gstvaapi.c:229:plugin_init: Cannot create a VA display
0:00:00.039574536    37 0x55699f837ae0 WARN               vadisplay gstvadisplay.c:341:_va_warning:<vadisplaydrm0> VA error: /usr/lib/x86_64-linux-gnu/dri/d3d12_drv_video.so init failed
0:00:00.039638938    37 0x55699f837ae0 WARN               vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm0> vaInitialize: resource allocation failed
0:00:00.053671076    37 0x55699f837ae0 WARN      GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
0:00:00.158376343    37 0x55699f837ae0 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
0:00:00.158680353    37 0x55699f837ae0 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
0:00:00.159180169    37 0x55699f837ae0 WARN          adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library
0:00:00.183574830    37 0x55699f837ae0 WARN                 default ges-meta-container.c:236:_set_value:<GESAsset@0x55699fe89930> Could not set value on item: format-version
0:00:00.183651132    37 0x55699f837ae0 WARN                 default ges-meta-container.c:236:_set_value:<GESAsset@0x55699fed62e0> Could not set value on item: format-version
0:00:00.183680933    37 0x55699f837ae0 WARN                 default ges-meta-container.c:236:_set_value:<GESAsset@0x55699fed6a30> Could not set value on item: format-version
0:00:00.184369855    37 0x55699f837ae0 WARN               structure gststructure.c:2375:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype
0:00:00.194683677    37 0x55699f837ae0 WARN               vadisplay gstvadisplay.c:341:_va_warning:<vadisplaydrm1> VA error: /usr/lib/x86_64-linux-gnu/dri/d3d12_drv_video.so init failed
0:00:00.194736278    37 0x55699f837ae0 WARN               vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: resource allocation failed
0:00:00.204494883    37 0x55699f837ae0 WARN      GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise
0:00:00.207973291     1 0x563b373c2d80 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.207243769    37 0x55699f837ae0 WARN      GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise
0:00:00.216103045    37 0x55699f837ae0 WARN      GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise
0:00:00.227634605     1 0x563b373c2d80 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)
00:44:11.395891805 INFO  | Gstreamer version: 1.25.0-1
00:44:11.397446753 INFO  | Reading config file from: /etc/wolf/cfg/config.toml
00:44:11.469234194 WARN  | Unable to recognise GPU vendor: vendor 1770
00:44:11.471419862 INFO  | Using H264 encoder: x264
00:44:11.471487064 WARN  | Software H264 encoder detected
00:44:11.472935509 INFO  | Using HEVC encoder: x265
00:44:11.472993911 WARN  | Software HEVC encoder detected
00:44:11.474008443 INFO  | Using AV1 encoder: aom
00:44:11.474058244 WARN  | Software AV1 encoder detected
00:44:11.482807118 INFO  | HTTP server listening on port: 47989
00:44:11.482814118 INFO  | RTSP server started on port: 48010
00:44:11.482956422 INFO  | Control server started on port: 47999
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.)
00:44:11.483086026 WARN  | [PULSE] Unable to connect, Access denied
00:44:11.483195730 INFO  | Starting PulseAudio docker container
00:44:11.486257325 INFO  | HTTPS server listening on port: 47984

Thanks,
Mohammed

Originally created by @LanHikari22 on GitHub (Sep 28, 2024). Original GitHub issue: https://github.com/games-on-whales/wolf/issues/129 Hi, I was trying to set this up on WSL2 with Docker using the NVIDIA compose.yaml and also CLI approach from https://games-on-whales.github.io/wolf/stable/user/quickstart.html I am able to confirm that docker has access to my NVIDIA GPU with ``` docker run --gpus all nvidia/cuda:12.6.1-runtime-ubuntu22.04 nvidia-smi ========== == CUDA == ========== CUDA Version 12.6.1 Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. This container image and its contents are governed by the NVIDIA Deep Learning Container License. By pulling and using the container, you accept the terms and conditions of this license: https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience. Sat Sep 28 00:48:01 2024 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 560.35.02 Driver Version: 560.94 CUDA Version: 12.6 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA GeForce RTX 2060 On | 00000000:01:00.0 On | N/A | | N/A 80C P0 32W / 80W | 2056MiB / 6144MiB | 4% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+ ``` I then proceeded to try the following CLI command on WSL2 ubuntu22.04 as recommended for WSL2 in the quickstart: ``` docker run \ --name wolf \ --network=host \ -e XDG_RUNTIME_DIR=/tmp/sockets \ -v /tmp/sockets:/tmp/sockets:rw \ -e HOST_APPS_STATE_FOLDER=/etc/wolf \ -v /etc/wolf:/etc/wolf:rw \ -v /var/run/docker.sock:/var/run/docker.sock:rw \ --device /dev/dri/ \ ghcr.io/games-on-whales/wolf:stable ``` This starts up, but I am not able to get much out of http://localhost:47989 ``` curl http://localhost:47989 <?xml version="1.0" encoding="utf-8"?> <root status_code="404"/> ``` And I'm also not able to pair Moonlight with it when I put localhost in moonlight It doesn't say anything. I'm not sure what the expected behavior is here. Here is the log I get from starting up the docker container: ``` [2024-09-28 01:44:11] [2024-09-28 01:44:11] [ /etc/cont-init.d/10-setup_user.sh: executing... ] [2024-09-28 01:44:11] **** Configure default user **** [2024-09-28 01:44:11] Container running as root. Nothing to do. [2024-09-28 01:44:11] DONE [2024-09-28 01:44:11] [2024-09-28 01:44:11] [ /etc/cont-init.d/15-setup_devices.sh: executing... ] [2024-09-28 01:44:11] **** Configure devices **** [2024-09-28 01:44:11] Exec device groups [2024-09-28 01:44:11] Path '/dev/uinput' is not present. [2024-09-28 01:44:11] Path '/dev/input/event*' is not present. [2024-09-28 01:44:11] Not modifying user groups () [2024-09-28 01:44:11] DONE [2024-09-28 01:44:11] [2024-09-28 01:44:11] [ /etc/cont-init.d/30-nvidia.sh: executing... ] [2024-09-28 01:44:11] [2024-09-28 01:44:11] [ /etc/cont-init.d/init-gamescope.sh: executing... ] [2024-09-28 01:44:11] Launching the container's startup script as user 'root' 0:00:00.015132073 37 0x55699f837ae0 WARN cudaloader gstcudaloader.cpp:260: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 0:00:00.016414813 37 0x55699f837ae0 WARN default gstvaapi.c:229:plugin_init: Cannot create a VA display 0:00:00.039574536 37 0x55699f837ae0 WARN vadisplay gstvadisplay.c:341:_va_warning:<vadisplaydrm0> VA error: /usr/lib/x86_64-linux-gnu/dri/d3d12_drv_video.so init failed 0:00:00.039638938 37 0x55699f837ae0 WARN vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm0> vaInitialize: resource allocation failed 0:00:00.053671076 37 0x55699f837ae0 WARN GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise 0:00:00.158376343 37 0x55699f837ae0 WARN adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library 0:00:00.158680353 37 0x55699f837ae0 WARN adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library 0:00:00.159180169 37 0x55699f837ae0 WARN adaptivedemux2 gstadaptivedemuxelement.c:41:adaptivedemux2_base_element_init: Failed to load libsoup library 0:00:00.183574830 37 0x55699f837ae0 WARN default ges-meta-container.c:236:_set_value:<GESAsset@0x55699fe89930> Could not set value on item: format-version 0:00:00.183651132 37 0x55699f837ae0 WARN default ges-meta-container.c:236:_set_value:<GESAsset@0x55699fed62e0> Could not set value on item: format-version 0:00:00.183680933 37 0x55699f837ae0 WARN default ges-meta-container.c:236:_set_value:<GESAsset@0x55699fed6a30> Could not set value on item: format-version 0:00:00.184369855 37 0x55699f837ae0 WARN structure gststructure.c:2375:priv_gst_structure_parse_fields: Failed to find delimiter, r=mimetype 0:00:00.194683677 37 0x55699f837ae0 WARN vadisplay gstvadisplay.c:341:_va_warning:<vadisplaydrm1> VA error: /usr/lib/x86_64-linux-gnu/dri/d3d12_drv_video.so init failed 0:00:00.194736278 37 0x55699f837ae0 WARN vadisplay gstvadisplay.c:401:gst_va_display_initialize:<vadisplaydrm1> vaInitialize: resource allocation failed 0:00:00.204494883 37 0x55699f837ae0 WARN GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise 0:00:00.207973291 1 0x563b373c2d80 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.207243769 37 0x55699f837ae0 WARN GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/validate/libgstvalidatessim.so" failed to initialise 0:00:00.216103045 37 0x55699f837ae0 WARN GST_PLUGIN_LOADING gstplugin.c:542:gst_plugin_register_func: plugin "/usr/local/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvalidatessim.so" failed to initialise 0:00:00.227634605 1 0x563b373c2d80 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) 00:44:11.395891805 INFO | Gstreamer version: 1.25.0-1 00:44:11.397446753 INFO | Reading config file from: /etc/wolf/cfg/config.toml 00:44:11.469234194 WARN | Unable to recognise GPU vendor: vendor 1770 00:44:11.471419862 INFO | Using H264 encoder: x264 00:44:11.471487064 WARN | Software H264 encoder detected 00:44:11.472935509 INFO | Using HEVC encoder: x265 00:44:11.472993911 WARN | Software HEVC encoder detected 00:44:11.474008443 INFO | Using AV1 encoder: aom 00:44:11.474058244 WARN | Software AV1 encoder detected 00:44:11.482807118 INFO | HTTP server listening on port: 47989 00:44:11.482814118 INFO | RTSP server started on port: 48010 00:44:11.482956422 INFO | Control server started on port: 47999 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.) 00:44:11.483086026 WARN | [PULSE] Unable to connect, Access denied 00:44:11.483195730 INFO | Starting PulseAudio docker container 00:44:11.486257325 INFO | HTTPS server listening on port: 47984 ``` Thanks, Mohammed
Author
Owner

@LanHikari22 commented on GitHub (Sep 28, 2024):

Update.

This might have been related to me having another sunshine server running that I wasn't aware of and I shut down. I also noticed in the logs that it complained about the uid being used. In https://hub.docker.com/r/lizardbyte/sunshine they included PUID and GUID environmental variables, so I included them in my docker command as well. So I ran it with

docker run \
    --name wolf \
    -e XDG_RUNTIME_DIR=/tmp/sockets \
    -e PUID=1000 \
    -e PGID=1000 \
    -e TZ=America/New_York \
    -v /tmp/sockets:/tmp/sockets:rw \
    -e HOST_APPS_STATE_FOLDER=/etc/wolf \
    -v /etc/wolf:/etc/wolf:rw \
    -v /var/run/docker.sock:/var/run/docker.sock:rw \
    --device /dev/dri/ \
    -p 47984:47984/tcp \
    -p 47989:47989/tcp \
    -p 47999:47999/udp \
    -p 48010:48010/tcp \
    -p 48100-48110:48100-48110/udp \
    -p 48200-48210:48200-48210/udp \
    ghcr.io/games-on-whales/wolf:stable

And this time I was able to get moonlight to register Wolf on localhost. When it asked for a pin to pair on, I noticed the docker logs sent me a URL on port 47989 that I was able to access and complete the pairing. Then in Moonlight I was presented with multiple systems, I tried Firefox but it was a black screen and I also wasn't sure how to get out back into my system from that. Pressing many keys quickly seemed to have crashed the docker container.

The last of the logs on that was

(wolf:1): GLib-WARNING **: 21:59:14.161: Idle source dispatched without callback. You must call g_source_set_callback().                                                  01:59:29.804453945 INFO  | Insert pin at http://172.17.0.3:47989/pin/#425342BCE838152B                                                                                    01:59:57.115303269 INFO  | [DOCKER] Starting container: /WolfFirefox_11127943109797709140
02:00:18.549844153 INFO  | Insert pin at http://172.17.0.3:47989/pin/#BAE5EEF7274DA9C0                                                                                    0:07:58.252826492     1 0x7fc230000e20 WARN            audiobasesrc gstaudiobasesrc.c:848:gst_audio_base_src_create:<pulsesrc0> create DISCONT of 10080 samples at sample 7779360                                                                                                                                                                   0:07:58.252876792     1 0x7fc230000e20 WARN            audiobasesrc gstaudiobasesrc.c:851:gst_audio_base_src_create:<pulsesrc0> warning: Can't record audio fast enough   0:07:58.252882292     1 0x7fc230000e20 WARN            audiobasesrc gstaudiobasesrc.c:851:gst_audio_base_src_create:<pulsesrc0> warning: Dropped 10080 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.                                                                                           02:02:13.735350769 ERROR | Unhandled exception: map::at                                                                                                                   

I also see now that I can do (on Windows 11) Ctrl+Shift+Alt+x to toggle the moonlight stream out of fullscreen view then Windows to regain control over the mouse in my host environment.

The Test ball functions, but Firefox, Lutris, Pegasus, RetroArch, and Steam give black screens. The Quickstart did mention that a black screen will show up initially as Wolf needs to download data about the container, but I am not seeing any Download indications in the Wolf docker logs or in the WolfFirefox_... container. I can see in https://github.com/games-on-whales/wolf/issues/73#issuecomment-2149031219 that this is not yet implemented or easy to, but so far, nothing seems to change the black screen as I wait.

When running firefox, it remains in black screen for a long time. The Wolf docker logs show very long trace logs that if I type on the keyboard lead them to freeze and I no longer can move the mouse in the firefox black screen moonlight stream:

...
cd0, pts 0:01:06.183330686, dts 0:01:06.183330686, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0
0:02:39.391312274     1 0x7efb60039100 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7efbe2e07990, pts 0:01:06.233330684, dts 0:01:06.233330684, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0
0:02:39.499069240     1 0x7efb60039100 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7efbe2d96cd0, pts 0:01:06.283330682, dts 0:01:06.283330682, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0
0:02:39.600079056     1 0x7efb60039100 WARN                  appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7efbe2e07990, pts 0:01:06.333330680, dts 0:01:06.333330680, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0

(wolf:1): GLib-WARNING **: 22:29:38.916: Idle source dispatched without callback. You must call g_source_set_callback().

The WolfFirefox container has these logs in the end suggesting it's already started firefox though I still have a black screen:
240928 WolfFirefox Docker Logs.txt

Here are also some logs for the Wolf docker container when sometimes the Firefox container crashes and it complains about failing to load driver like kms_swrast:
240928 Wolf logs on Firefox Crash 1.txt

So is this not intended to be used in a general purpose desktop environment way?

Thanks,
Mohammed

<!-- gh-comment-id:2380354922 --> @LanHikari22 commented on GitHub (Sep 28, 2024): Update. This might have been related to me having another sunshine server running that I wasn't aware of and I shut down. I also noticed in the logs that it complained about the uid being used. In https://hub.docker.com/r/lizardbyte/sunshine they included PUID and GUID environmental variables, so I included them in my docker command as well. So I ran it with ``` docker run \ --name wolf \ -e XDG_RUNTIME_DIR=/tmp/sockets \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=America/New_York \ -v /tmp/sockets:/tmp/sockets:rw \ -e HOST_APPS_STATE_FOLDER=/etc/wolf \ -v /etc/wolf:/etc/wolf:rw \ -v /var/run/docker.sock:/var/run/docker.sock:rw \ --device /dev/dri/ \ -p 47984:47984/tcp \ -p 47989:47989/tcp \ -p 47999:47999/udp \ -p 48010:48010/tcp \ -p 48100-48110:48100-48110/udp \ -p 48200-48210:48200-48210/udp \ ghcr.io/games-on-whales/wolf:stable ``` And this time I was able to get moonlight to register Wolf on localhost. When it asked for a pin to pair on, I noticed the docker logs sent me a URL on port 47989 that I was able to access and complete the pairing. Then in Moonlight I was presented with multiple systems, I tried Firefox but it was a black screen and I also wasn't sure how to get out back into my system from that. Pressing many keys quickly seemed to have crashed the docker container. The last of the logs on that was ``` (wolf:1): GLib-WARNING **: 21:59:14.161: Idle source dispatched without callback. You must call g_source_set_callback(). 01:59:29.804453945 INFO | Insert pin at http://172.17.0.3:47989/pin/#425342BCE838152B 01:59:57.115303269 INFO | [DOCKER] Starting container: /WolfFirefox_11127943109797709140 02:00:18.549844153 INFO | Insert pin at http://172.17.0.3:47989/pin/#BAE5EEF7274DA9C0 0:07:58.252826492 1 0x7fc230000e20 WARN audiobasesrc gstaudiobasesrc.c:848:gst_audio_base_src_create:<pulsesrc0> create DISCONT of 10080 samples at sample 7779360 0:07:58.252876792 1 0x7fc230000e20 WARN audiobasesrc gstaudiobasesrc.c:851:gst_audio_base_src_create:<pulsesrc0> warning: Can't record audio fast enough 0:07:58.252882292 1 0x7fc230000e20 WARN audiobasesrc gstaudiobasesrc.c:851:gst_audio_base_src_create:<pulsesrc0> warning: Dropped 10080 samples. This is most likely because downstream can't keep up and is consuming samples too slowly. 02:02:13.735350769 ERROR | Unhandled exception: map::at ``` I also see now that I can do (on Windows 11) Ctrl+Shift+Alt+x to toggle the moonlight stream out of fullscreen view then Windows to regain control over the mouse in my host environment. The Test ball functions, but Firefox, Lutris, Pegasus, RetroArch, and Steam give black screens. The Quickstart did mention that a black screen will show up initially as Wolf needs to download data about the container, but I am not seeing any Download indications in the Wolf docker logs or in the WolfFirefox_... container. I can see in https://github.com/games-on-whales/wolf/issues/73#issuecomment-2149031219 that this is not yet implemented or easy to, but so far, nothing seems to change the black screen as I wait. When running firefox, it remains in black screen for a long time. The Wolf docker logs show very long trace logs that if I type on the keyboard lead them to freeze and I no longer can move the mouse in the firefox black screen moonlight stream: ``` ... cd0, pts 0:01:06.183330686, dts 0:01:06.183330686, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0 0:02:39.391312274 1 0x7efb60039100 WARN appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7efbe2e07990, pts 0:01:06.233330684, dts 0:01:06.233330684, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0 0:02:39.499069240 1 0x7efb60039100 WARN appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7efbe2d96cd0, pts 0:01:06.283330682, dts 0:01:06.283330682, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0 0:02:39.600079056 1 0x7efb60039100 WARN appsrc gstappsrc.c:2469:gst_app_src_push_internal:<wolf_wayland_source> Dropping old item buffer: 0x7efbe2e07990, pts 0:01:06.333330680, dts 0:01:06.333330680, dur 0:00:00.016666666, size 8294400, offset none, offset_end none, flags 0x0 (wolf:1): GLib-WARNING **: 22:29:38.916: Idle source dispatched without callback. You must call g_source_set_callback(). ``` The WolfFirefox container has these logs in the end suggesting it's already started firefox though I still have a black screen: [240928 WolfFirefox Docker Logs.txt](https://github.com/user-attachments/files/17171966/240928.WolfFirefox.Docker.Logs.txt) Here are also some logs for the Wolf docker container when sometimes the Firefox container crashes and it complains about failing to load driver like kms_swrast: [240928 Wolf logs on Firefox Crash 1.txt](https://github.com/user-attachments/files/17171979/240928.Wolf.logs.on.Firefox.Crash.1.txt) So is this not intended to be used in a general purpose desktop environment way? Thanks, Mohammed
Author
Owner

@ABeltramo commented on GitHub (Sep 28, 2024):

Hi Mohammed,

From the details that you've provided you have quite a few issues 😅

So is this not intended to be used in a general purpose desktop environment way?

You are running Wolf under WSL2 and as the docs clearly points out, this is experimental and not properly tested.

Screenshot 2024-09-28 at 09 45 59

With that said, you also have a few issues just by looking at your logs:

WARN  | Software H264 encoder detected
WARN  | Software HEVC encoder detected

This means that you are missing HW acceleration, AKA your GPU is not being picked up by Wolf and that will cause issues later on when trying to start our virtual displays. From the commands that you have posted above you are clearly missing the Nvidia specific Docker flags that are needed in order to activate HW acceleration

Screenshot 2024-09-28 at 09 48 58

If you have the Docker Container Toolkit installed and it's at version >= 1.16.0 (please see the docs on how to check this) you'll have to add at the very least:

    -e NVIDIA_DRIVER_CAPABILITIES=all \
    -e NVIDIA_VISIBLE_DEVICES=all \
    --gpus=all \

Then you added two env variables because you saw it somewhere else

-e PUID=1000
-e PGID=1000

This can only work if the user 1000 can access the Docker socket, if you run docker using sudo (which is the default installation) you should remove those.

If you still run into troubles after all this (very likely given other reports on Discord for WSL2) feel free to post your full logs under this issue: https://github.com/games-on-whales/gow/issues/13

<!-- gh-comment-id:2380572651 --> @ABeltramo commented on GitHub (Sep 28, 2024): Hi Mohammed, From the details that you've provided you have quite a few issues 😅 > So is this not intended to be used in a general purpose desktop environment way? You are running Wolf under WSL2 and as the docs clearly points out, this is experimental and not properly tested. <img width="770" alt="Screenshot 2024-09-28 at 09 45 59" src="https://github.com/user-attachments/assets/3a2e8b17-c874-4399-9b18-9d62fdfed05f"> With that said, you also have a few issues just by looking at your logs: ``` WARN | Software H264 encoder detected WARN | Software HEVC encoder detected ``` This means that you are missing HW acceleration, AKA your GPU is not being picked up by Wolf and that will cause issues later on when trying to start our virtual displays. From the commands that you have posted above you are clearly missing the Nvidia specific Docker flags that are needed in order to activate HW acceleration <img width="778" alt="Screenshot 2024-09-28 at 09 48 58" src="https://github.com/user-attachments/assets/e9899497-bd69-4e81-89d0-9268c0dbdaff"> If you have the Docker Container Toolkit installed and it's at version >= `1.16.0` (please see the docs on how to check this) you'll have to add at the very least: ``` -e NVIDIA_DRIVER_CAPABILITIES=all \ -e NVIDIA_VISIBLE_DEVICES=all \ --gpus=all \ ``` Then you added two env variables because you saw it somewhere else ``` -e PUID=1000 -e PGID=1000 ``` This can only work if the user `1000` can access the Docker socket, if you run `docker` using `sudo` (which is the default installation) you should remove those. If you still run into troubles after all this (very likely given other reports on Discord for WSL2) feel free to post your full logs under this issue: https://github.com/games-on-whales/gow/issues/13
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#82
No description provided.