You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Workshop breaks when a symlink can't be resolved #924
Workshop fails to get GPU information when a device symlink can't be resolved (i.e. a device was physically disconnected)
Relevant context
I went to workshop launch and received the following output:
error: cannot perform the following tasks:
- Setup "system" SDK profile (Failed retrieving GPU information: Failed adding device information for "/sys/class/drm/card0/device": Failed reading "/sys/class/drm/card0/device/de
vice": open /sys/class/drm/card0/device/device: no such file or directory)
"dev" launch aborted
workshop remove on a completely different workshop resulted in:
error: cannot perform the following tasks:
- Disconnect "dev/copilot:copilot-config" from "dev/system:mount" (Failed retrieving GPU information: Failed adding device information for "/sys/class/drm/card0/device": Failed reading "/sys/class/drm/card0/device/device": open /sys/class/drm/card0/device/device: no such file or directory)
The issue here is that path /sys/class/drm/card0/device/device exists, but is a broken symlink to a DisplayLink device:
When I reconnected the DisplayLink device, the symlink was resolved and all of my workshop commands worked again. I cannot launch or remove any workshop when I am away from my desk unless I uninstall the evdi module, which seems undesireable.
What it should do
Seeing as the DisplayLink has nothing to do with workshop, this definitely doesn't seem like ideal behavior. I suspect that the GPU search functionality should pass on broken symlinks rather than aborting.
Thanks for the report. This is a bug in LXD rather than Workshop. If you like I can report it upstream, or you can do it. It should be possible to reproduce with this command:
Thanks for the report. This is a bug in LXD rather than Workshop. If you like I can report it upstream, or you can do it. It should be possible to reproduce with this command:
lxc info --resources
I can add it there. Thanks. I suppose that closes this then?
I'm also wondering why there's a broken symlink in the first place, might be a kernel bug
The DisplayLink driver was a pain to install and setup, so I wouldn't be surprised if the driver itself has some funky behavior. Either way, seems like LXD should warn instead of aborting.
evdi: destroy dynamic devices when their USB parent is removed
Since it was already a pain to install, hopefully it's not too much of a pain to apply this patch. If you give me your distro and kernel version I might be able to build it for you.
Activity
jonathan-conder commentedon Jul 7, 2026
Thanks for the report. This is a bug in LXD rather than Workshop. If you like I can report it upstream, or you can do it. It should be possible to reproduce with this command:
# lxc info --resourcesmikeraymond7 commentedon Jul 7, 2026
I can add it there. Thanks. I suppose that closes this then?
jonathan-conder commentedon Jul 7, 2026
We can probably add a workaround as well, leave it open for now
jonathan-conder commentedon Jul 7, 2026
I'm also wondering why there's a broken symlink in the first place, might be a kernel bug
mikeraymond7 commentedon Jul 7, 2026
The DisplayLink driver was a pain to install and setup, so I wouldn't be surprised if the driver itself has some funky behavior. Either way, seems like LXD should warn instead of aborting.
jonathan-conder commentedon Jul 7, 2026
It looks like DisplayLink/evdi#581 might fix it?
Since it was already a pain to install, hopefully it's not too much of a pain to apply this patch. If you give me your distro and kernel version I might be able to build it for you.
jonathan-conder commentedon Jul 7, 2026
Might be easier to downgrade the kernel instead
mikeraymond7 commentedon Jul 8, 2026
Looks like that PR probably will fix it. I'm not honestly too worried about it right now though, I'll just workshop from my desk 😂