I've got it working, but I've got a feeling there's still a bug here.
Adding to the docker compose file fixed it, but from my understanding that shouldn't actually be necessary?
When running Jellyfin in an LXC directly I only need to pass /dev/dri/renderD128 through for it to work, but running a docker container within that LXC requires me to pass both card0 and renderD128.
If it worked directly with just renderD128, why does the containerised version need card0 as well?
I can only assume it's something strange with hardware detection in the container, since it was attempting to use OpenCL when Vulkan was there and working. I can only assume that when it sees card0 it realises it can use vulkan, but that doesn't explain why running it directly in the LXC was fine.
Adding
Code:
- /dev/dri/renderD128:/dev/dri/renderD128
When running Jellyfin in an LXC directly I only need to pass /dev/dri/renderD128 through for it to work, but running a docker container within that LXC requires me to pass both card0 and renderD128.
If it worked directly with just renderD128, why does the containerised version need card0 as well?
I can only assume it's something strange with hardware detection in the container, since it was attempting to use OpenCL when Vulkan was there and working. I can only assume that when it sees card0 it realises it can use vulkan, but that doesn't explain why running it directly in the LXC was fine.