mirror of
https://github.com/games-on-whales/unraid-plugin.git
synced 2026-10-15 21:12:04 +00:00
[GH-ISSUE #47] Driver missmatch #15
Labels
No labels
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/unraid-plugin#15
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 @bpivk on GitHub (Jun 5, 2026).
Original GitHub issue: https://github.com/games-on-whales/unraid-plugin/issues/47
I found another bug (I think).
I have swapped my old 1070 for a 3070. The problem is that when I have updated the drivers from the old v580 to the new v610 the plugin still uses the old plugins:
I've left just the relevant part:
# find / -name "10_nvidia.json" -o -name "*nvidia*egl*" 2>/dev/null | grep -v proc/usr/nvidia/lib/libnvidia-eglcore.so.580.159.03
I had removed the docker and all images but kept the plugin. Then I started a new config and got a lot of errors:
thread '' (300) panicked at wayland-display-core/src/lib.rs:284:26:
called
Result::unwrap()on anErrvalue: RecvErrorstack backtrace:
0: 0x1487a71f4982 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::haa87a551a4affa55
1: 0x1487a720770f - core::fmt::write::h80461e1e45e4fdd2
2: 0x1487a71ceb11 - std::io::Write::write_fmt::h6e6c69b2d6337d9b
3: 0x1487a71d5022 - std::sys::backtrace::BacktraceLock::print::hf67a46baa621998e
4: 0x1487a71d7c2f - std::panicking::default_hook::{{closure}}::h391aa815d5e47ec8
5: 0x1487a71d7a89 - std::panicking::default_hook::hd6fdcf2489bb807d
6: 0x1487a71d82b5 - std::panicking::panic_with_hook::h185ddfb86bf14d73
7: 0x1487a71d814a - std::panicking::panic_handler::{{closure}}::had89ddd01b6112c9
8: 0x1487a71d5159 - std::sys::backtrace::__rust_end_short_backtrace::h5d0fc36eef7265ea
9: 0x1487a71c28ed - __rustc[eb8946e36839644a]::rust_begin_unwind
10: 0x1487a720ff70 - core::panicking::panic_fmt::h92c8e5abe71dd8d1
11: 0x1487a720f476 - core::result::unwrap_failed::h0501379eaec3e720
12: 0x1487a6f70766 - waylanddisplaycore::WaylandDisplay::get_render_device::h88fbc73f560f489d
13: 0x1487a6f3bf0a - <gstwaylanddisplaysrc::waylandsrc:👿:WaylandDisplaySrc as gstreamer_base::subclass::base_src::BaseSrcImpl>::start::hfed51ae3010bab0a
14: 0x1487a6f42f7b - gstreamer_base::subclass::base_src::base_src_start::h0d303c90a73bea78
15: 0x14883430ef6a -
16: 0x14883430f4a8 -
17: 0x1488341defdd -
18: 0x1488341df981 - gst_pad_set_active
19: 0x1488341b3ec5 -
20: 0x1488341cbbc4 - gst_iterator_fold
21: 0x1488341b6c01 -
22: 0x14883430cdcd -
23: 0x1487a6f4d53d - gstreamer::subclass::element::element_change_state::hdeee5e034b80718d
24: 0x1488341b9394 - gst_element_change_state
25: 0x1488341b9982 -
26: 0x148834190112 -
27: 0x1488341e902e -
28: 0x1488341b9394 - gst_element_change_state
29: 0x1488341b93db - gst_element_change_state
30: 0x1488341b9982 -
31: 0x564bbb788f43 - run_pipeline
at /wolf/src/moonlight-server/./streaming/streaming.hpp:101:24
32: 0x564bbb78a668 - _ZN9streaming20start_video_producerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S7_RKN4wolf4core15virtual_display11DisplayModeESt10shared_ptrIN5immer4atomISE_IN17gst_video_context15GstVideoContextEENSF_13memory_policyINSF_21free_list_heap_policyINSF_8cpp_heapELm1024EEENSF_15refcount_policyENSF_15spinlock_policyENSF_20no_transience_policyELb0ELb1EEEEEESE_IN5boost7promiseINS_19WaylandDisplayReadyEEEESE_IN2dp9event_busIJNSF_3boxINS9_6events15PlugDeviceEventESR_EENS11_INS12_10PairSignalESR_EENS11_INS12_17UnplugDeviceEventESR_EENS11_INS12_13StreamSessionESR_EENS11_INS12_12VideoSessionESR_EENS11_INS12_12AudioSessionESR_EENS11_INS12_15IDRRequestEventESR_EENS11_INS12_16PauseStreamEventESR_EENS11_INS12_17ResumeStreamEventESR_EENS11_INS12_15StopStreamEventESR_EENS11_INS12_22ClientWolfUIComboEventESR_EENS11_INS12_17RTPVideoPingEventESR_EENS11_INS12_17RTPAudioPingEventESR_EENS11_INS12_11StartRunnerESR_EENS11_INS12_14JoinLobbyEventESR_EENS11_INS12_15LeaveLobbyEventESR_EENS11_INS12_16CreateLobbyEventESR_EENS11_INS12_14StopLobbyEventESR_EENS11_INS12_26SwitchStreamProducerEventsESR_EENS11_INS12_22DockerContainerCreatedESR_EENS11_INS12_22DockerContainerStoppedESR_EEEEEE
at /wolf/src/moonlight-server/streaming/streaming.cpp:112:15
33: 0x564bbb6e7bb0 - operator()
at /wolf/src/moonlight-server/sessions/moonlight.cpp:104:44
34: 0x1488338f2324 -
35: 0x1488334a27f1 -
36: 0x148833533944 - __clone
0:22:30.436173203 1 0x14874c01ad60 WARN basesrc gstbasesrc.c:3616:gst_base_src_start:<wolf_wayland_source> error: Failed to start
0:22:30.436209043 1 0x14874c01ad60 WARN basesrc gstbasesrc.c:3984:gst_base_src_activate_push:<wolf_wayland_source> Failed to start in push mode
0:22:30.436216786 1 0x14874c01ad60 WARN GST_PADS gstpad.c:1158:gst_pad_set_active:<wolf_wayland_source:src> Failed to activate pad
0:22:30.436284866 1 0x14874c01ad60 WARN bin gstbin.c:2816:reset_state:<wolf_wayland_source> Failed to switch back down to READY
07:16:46.209686941 ERROR | [GSTREAMER] Pipeline error: Panicked: called
Result::unwrap()on anErrvalue: RecvError0:22:30.436481658 1 0x14874c01ad60 WARN bin gstbin.c:2816:reset_state:<wolf_wayland_source> Failed to switch back down to READY
0:22:30.436625987 1 0x14874c01ad60 WARN interpipe gstinterpipe.c:236:gst_inter_pipe_leave_node_priv: Node 8714096664247110291_video not found. Could not leave node.
0:22:31.388244653 1 0x148744001210 WARN basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_8714096664247110291_audio> segment format mismatched, ignore
07:16:56.016741135 INFO | [GSTREAMER] Pipeline reached End Of Stream
07:17:07.589187101 WARN | Received MOUSE_MOVE_REL_PACKET but no mouse device is present
07:17:07.597787415 WARN | Received MOUSE_MOVE_REL_PACKET but no mouse device is present
0:22:52.127527154 1 0x148744000ba0 WARN basesrc gstbasesrc.c:4255:gst_base_src_push_segment:<interpipesrc_8714096664247110291_audio> segment format mismatched, ignore
07:17:18.060072129 INFO | [GSTREAMER] Pipeline reached End Of Stream
2026-06-05T07:16:45.877389Z ERROR smithay::backend::egl::ffi: [EGL] 0x3003 (BAD_ALLOC) eglQueryDevicesEXT: EGL_BAD_ALLOC error: In eglQueryDevicesEXT: Failed to allocate device list.
2026-06-05T07:16:45.895103Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED): DRI2: failed to create screen
2026-06-05T07:16:45.896279Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED): DRI2: failed to load driver
2026-06-05T07:16:45.896291Z ERROR smithay::backend::egl::ffi: [EGL] 0x3001 (NOT_INITIALIZED): eglInitialize
2026-06-05T07:16:45.896303Z WARN smithay::backend::egl::error: Erroneous EGL call didn't set EGLError
2026-06-05T07:16:46.209300Z WARN waylanddisplaycore: Failed to send stop command: sending on a closed channel
@JBailes commented on GitHub (Jun 5, 2026):
Thanks for the detailed logs — this pinned it down.
Root cause: the
nvidia-driver-volDocker volume bakes in the NVIDIA userspace driver libraries for a specific driver version at build time. The deploy script only checked whether the volume existed, so when you upgraded the host driver (580 → 610) the volume was never rebuilt and the container kept serving the old 580 userspace libs against the new 610 kernel module. That version mismatch is what produced the EGLBAD_ALLOC/NOT_INITIALIZEDerrors and the downstreamRecvErrorpanic in Wolf's wayland source. (Removing Docker/images didn't help because the named volume survived.)Fix: #48 (merged) stamps the volume with the driver version it was built for and rebuilds it whenever the detected host driver version differs. Since existing volumes are unlabeled, your next deploy will trigger a one-time rebuild and pick up the 610 libraries automatically.
This should be fixed in the next release — leaving the issue open until you've confirmed it works on your end. Thanks!
@bpivk commented on GitHub (Jun 5, 2026):
What would be the correct procedure to test as it does not seem to work?
I've updated the plugin and then tried stopping and starting, clicking on update images and reconfigure. And it didn't work.
Then I stopped the instance, removed the orphaned images and reconfigured and clicked install. This was the output (without the image fetching part):
==> Stopping existing stack for reconfiguration
==> Installing udev rules
==> Creating appdata directories at /mnt/user/games
==> Writing docker-compose.yml for NVIDIA with Wolf network mode custom
==> NVIDIA driver version: 610.43.02
==> NVIDIA driver volume already exists — skipping build (this one seems suss)
==> Pulling Docker images...
Still not working because it didn't use the new image. Do I need to nuke everything including the plugin?
@JBailes commented on GitHub (Jun 5, 2026):
This is weird. I published a new image, it should be picking up the new image. Working on it.
@JBailes commented on GitHub (Jun 5, 2026):
@bpivk 1. Go to Plugins → Check for Updates, confirm GoW offers 2026.06.05, and update it.
2. Verify the installed version actually reads 2026.06.05 (Plugins page, or grep version /boot/config/plugins/gow/gow.plg).
3. Then hit Reconfigure / Install. You should now see the ...was built for '...' but host driver is 610.43.02 — rebuilding line, which removes the stale 580 volume and rebuilds against 610.
@bpivk commented on GitHub (Jun 5, 2026):
The problem is with the nvidia image. See here:
==> NVIDIA driver volume already exists — skipping build
This pops up if I do a full install. This seems to indicate that it does not touch the old 580 driver volume and it just skips it.
Reconfigure just stops and reinstalls pulse media:

@bpivk commented on GitHub (Jun 5, 2026):
Full output in this file:
Error.txt
This is what I could pull from live logs.
And here is the proof that it does not recreate the volume:
root@Tower:~# docker volume inspect nvidia-driver-vol
[
{
"CreatedAt": "2026-05-22T11:00:39Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/nvidia-driver-vol/_data",
"Name": "nvidia-driver-vol",
"Options": null,
"Scope": "local"
}
]
The date should be today. But it's not.
The solution would be me manually removing the volume and it will get recreated and fixed but I'm leaving it as is to solve this bug as it will pop up when someone updates a driver. Just call me Bughunter™.
@JBailes commented on GitHub (Jun 5, 2026):
Thanks!
Looking at it!
@JBailes commented on GitHub (Jun 5, 2026):
@bpivk Fixed in release 2026.06.05a (just published). The earlier update never reached you because the plugin cached the old
deploy.sh; the scripts now ship inside the version-stamped package, so updates always refresh them.You should now see
...was built for '...' but host driver is 610.43.02 — rebuilding, which drops the stale 580 volume and rebuilds against 610. Let me know if it picks up the new libs.@bpivk commented on GitHub (Jun 5, 2026):
Yes it works now.