mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 13:02:03 +00:00
[GH-ISSUE #124] Nvidia: using container toolkit results in EGL exception #80
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#80
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @kosztyua on GitHub (Sep 15, 2024).
Original GitHub issue: https://github.com/games-on-whales/wolf/issues/124
Hi,
I have an issue what seems to be similar to https://github.com/games-on-whales/wolf/issues/96
Please let me know what further debug output may help.
@ABeltramo commented on GitHub (Sep 23, 2024):
Sorry this has taken me so long to reply, I've been on holiday the past week 😅
There's been a couple of similar reports on Discord but I can't really pinpoint down what the underlying issue is, a quick workaround that seems to work reliably is to use the old manual instructions from the quickstart guide instead of the Nvidia Container Toolkit.
I'd like to get a bit more info though and possibly start to collect them here, could you please report the followings?
WOLF_LOG_LEVEL=DEBUGandRUST_LOG=DEBUGThanks!
[EDIT]
I wonder if it might be some kernel module that doesn't get loaded up on your OS automatically (see: https://wiki.archlinux.org/title/NVIDIA#Early_loading)
@kosztyua commented on GitHub (Sep 23, 2024):
Hi,
No worries, rest is important :) Thank you for getting back to me.
This is my current run command:
1, As you can see I have already added the DEBUG environmental variables, which has indeed enriched the output.
2, Host OS is Ubuntu 22.04.5 LTS, fully updated. By "DE" not sure what you mean, this is a fully headless system, although just today I have received dummy HDMI plugs and I have added one.
3, 1 GPU, NVIDIA GeForce RTX 4070 Super
Also, since my experimenting with your code I have managed to get docker-steam-headless running, it works as expected. All feature, every feature, playing Satisfactory in 4k@60fps with AV1 encoding. But I like your approach more, so will keep testing :)
Regarding your EDIT about kernel module, I have this added to grub default:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1"
Moving forward, I will test out the Manual section in the quickstart.
@ABeltramo commented on GitHub (Sep 23, 2024):
Thanks for the very quick reply!
docker-steam-headlessuses Xorg whilst we use Wayland and Nvidia+Wayland is all a bit unstable at the moment but we are getting there..The odd part is that Gstreamer is able to create the encoders
which means that the drivers and the nvidia libraries are in place, from the other logs on Discord that wasn't the case and it was failing to create the HW encoders. Could you try running the following:
I'm specifically looking for
libnvidia-egl-gbmandlibnvidia-egl-waylandI wonder if those are still missing like it was the case back when we first looked into the Nvidia Container Toolkit https://github.com/games-on-whales/wolf/issues/52#issuecomment-1826257660@Drakulix any idea on what else could it be?
@kosztyua commented on GitHub (Sep 23, 2024):
Hmm the first one does not seem to be there, second yes. Let me see if I can install it somehow
@ABeltramo commented on GitHub (Sep 23, 2024):
Re-reading the old Container Toolkit discussion linked above, I wonder if it's dependent on how you've installed the drivers. Have you used
aptor the.runfile?@ABeltramo commented on GitHub (Sep 23, 2024):
See: https://github.com/games-on-whales/wolf/issues/52#issuecomment-2024781998
@kosztyua commented on GitHub (Sep 23, 2024):
I have installed the missing libnvidia-egl-gbm. Everything I installed was using apt, I came to hate the binary installer.
However with this dependency installed, still getting the same error
Later this week I might still try the .run installer, but rather not mess up the server, I use it for all sorts of CUDA runner 😅
@ABeltramo commented on GitHub (Sep 23, 2024):
That's what the manual installation in the quickstart guide does for you without having to mess with the host. It'll basically download the .run file, install the library files into a docker volume, and then mount that in the right places.
I feel that the issue here is with old packages, especially given that you are running Ubuntu 22.04, which is fairly ancient in the Nvidia+Wayland world. If you could give the manual driver volume a try, I'd be very interested to know what the results are!
@kosztyua commented on GitHub (Sep 23, 2024):
Well, I just recently did a driver upgrade from 535 to 550, but I get your point. I have also installed libnvidia-gl-550-server package and now things stated happening, but not there yet. Log output is definitely better, but still black screen.
I will stop adding more info here until I have tested with the .run installer (and maybe a dist upgrade)
@ABeltramo commented on GitHub (Sep 23, 2024):
This looks good!
If it's not crashing it might just be slow because of all the logging, try removing the
RUST_LOG=DEBUGand just paste again the full Wolf logs if it's still failing to display anything.@kosztyua commented on GitHub (Sep 23, 2024):
I have no idea which combination of environmental variables and extra installed packages I used 😅 Will sleep now and see tomorrow if I can figure it out 💤
@ABeltramo commented on GitHub (Sep 23, 2024):
No worries, and thanks for sticking around! At least we've got a good trail to follow now.
@TransparentDuck commented on GitHub (Sep 25, 2024):
Hi, coming over from #127 as requested.
Requested info
OS Version:
Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-25-amd64
nvidia-smi output:
Nvidia driver installation method:
apt
(apt install nvidia-driver firmware-misc-nonfree)
Logs from linked issue (to keep everything in one place):
_wolf-wolf-1_logs-1.txt
I'll try installing the Nvidia drivers using the manual method now and see what happens.
Thanks again for all the help!
@ABeltramo commented on GitHub (Sep 25, 2024):
Thanks for all the info, could you try installing the following apt packages
and see if that fixes it?
@TransparentDuck commented on GitHub (Sep 26, 2024):
I'd already tried the Nvidia (Manual) installation method before I saw your reply, and got that working with both Steam and Lutris.
To help with troubleshooting, I've removed the Wolf containers and stack and started fresh.
Installing using the Nvidia (Container Toolkit) Docker Compose Method
This gave me the same Moonlight error as before:
Connection terminated
Error code: -1
The Wolf logs show that it couldn't get hardware encoding working:
08:17:32.364419538 WARN | Software H264 encoder detected ... 08:17:32.366224983 WARN | Software HEVC encoder detected ... 08:17:32.366886443 WARN | Software AV1 encoder detected(tangent - how do I put linebreaks in inline code sections?)
Full debug logs:
Wolf-Logs-New-Installation-Nvidia-Container-Toolkit-Debug.txt`
Installing apt Packages
When I tried installing these packages using apt:
libnvidia-egl-gbm1
libnvidia-egl-wayland1
Both said they were already installed:
libnvidia-egl-gbm1 is already the newest version (1.1.0-2).
libnvidia-egl-wayland1 is already the newest version (1:1.1.10-1).
Trying to launch Steam in Wolf then gave the same error.
Installing using Nvidia (Manual) Method
After running these commands:
curl https://raw.githubusercontent.com/games-on-whales/gow/master/images/nvidia-driver/Dockerfile | docker build -t gow/nvidia-driver:latest -f - --build-arg NV_VERSION=$(cat /sys/module/nvidia/version) .
docker create --rm --mount source=nvidia-driver-vol,destination=/usr/nvidia gow/nvidia-driver:latest sh
docker volume ls | grep nvidia-driver
sudo cat /sys/module/nvidia_drm/parameters/modeset
and changing the definition of my Wolf stack in Portainer to the one in the Nvidia (Manual) section of the Quickstart page, my Wolf container logs now show it using hardware encoding:
08:39:56.373138263 INFO | Using H264 encoder: nvcodec
etc.
Wolf-Logs-New-Installation-Nvidia-Manual.txt
Launching Steam in Wolf then worked. I could also launch and use Lutris.
So, thanks very much for the guidance. Really appreciate your time and knowledge!
(I do have a problem with Steam - when I select my ethernet connection during setup it flashes up a message too quickly to read then goes back to the network selection screen. I'm not sure how to make the Steam container logs more verbose as the container is created and deleted as required. If anyone has a quick answer that'd be great, otherwise I'll keep poking around).
@TransparentDuck commented on GitHub (Sep 26, 2024):
Re my problem setting up Steam, looks like it's a known issue with a workaround:
#120
So everything's working now, awesome! Thanks @ABeltramo.
@ABeltramo commented on GitHub (Sep 26, 2024):
@TransparentDuck thanks for all the info, that's very helpful.
I'm glad that the manual volume driver works; I just need to figure out which package is missing when installing the drivers using a package manager.. 🤔
@kerail commented on GitHub (Oct 28, 2024):
For me fix was in docker compose to change
to specific nvidia driver
@csrednicki commented on GitHub (Oct 30, 2024):
I also had this problem briefly when using Nvidia (Manual) configuration method. Turns out if the video drivers in host system had any changes you should rebuild
nvidia-driver-volvolume. After removing oldnvidia-driver-volvolume and building new volume everything started to work without any errors.@hitchfred commented on GitHub (Nov 8, 2024):
This helped me as well. Running Ubuntu 22.04.
@munnerz commented on GitHub (Apr 22, 2025):
Installing the
nvidia-driver-libspackage seems to resolve this for me.@ehfd commented on GitHub (Aug 22, 2026):
Letting you know that this issue has been fixed in https://github.com/NVIDIA/nvidia-container-toolkit/pull/1979 and backported to v1.20.x. Not released yet, but will be. What matters now is setting
ENV NVIDIA_DRIVER_CAPABILITIES="all"in your containers if you use Docker or anoother container runtime.@ehfd commented on GitHub (Sep 22, 2026):
Fixed in https://github.com/NVIDIA/nvidia-container-toolkit/releases/tag/v1.20.1.
@ABeltramo commented on GitHub (Sep 22, 2026):
Thanks for all your work on the container toolkit @ehfd I should definitely test out the latest again!