Hi everyone,
I've recently been interested in moving my docker containers over to LXC for no real reason other than to learn something new.
I am trying to understand exactly how an LXC works with hardware passthrough.
My understanding is that the LXC runs the same kernel as the host, which would limit hardware compatibility ... is that correct? Where I get confused is whether or not the LXC would require drivers installed, or should it be using the host's drivers?
For a specific example:
Running Emby or Jellyfin on an ubuntu lxc, if I run uname -a I get the same kernel as the host. I'm running the LXCs as privileged until I get my head around how everything is supposed to work. All good.
using ubuntu 22.04 I seem to be able to pass through the GPU just fine. I've also tried the proxmox helper scripts to accelerate some of this experimentation.
However using ubuntu 24.04 I seem to be unable to access the GPU, emby seems to be unable to get a list of codecs and jellyfin bombs out.
Interestingly, it seems 22.04 does not load drivers in the LXC whereas 24.04 does. vainfo fails in 22.04 but works in 24.04.
When running either as a VM, I had the total opposite experience, 22.04 would not work without some manipulation, but the 24.04 non-free drivers worked flawlessly.
In Summary:
Ubuntu 22.04 Emby works with the Arc A310
Ubuntu 24.04 Emby cannot seem to access the GPU (/dev/dri/* present) and vainfo inside the LXC returns the codecs
What is the reason for this?
I've recently been interested in moving my docker containers over to LXC for no real reason other than to learn something new.
I am trying to understand exactly how an LXC works with hardware passthrough.
My understanding is that the LXC runs the same kernel as the host, which would limit hardware compatibility ... is that correct? Where I get confused is whether or not the LXC would require drivers installed, or should it be using the host's drivers?
For a specific example:
Running Emby or Jellyfin on an ubuntu lxc, if I run uname -a I get the same kernel as the host. I'm running the LXCs as privileged until I get my head around how everything is supposed to work. All good.
using ubuntu 22.04 I seem to be able to pass through the GPU just fine. I've also tried the proxmox helper scripts to accelerate some of this experimentation.
However using ubuntu 24.04 I seem to be unable to access the GPU, emby seems to be unable to get a list of codecs and jellyfin bombs out.
Interestingly, it seems 22.04 does not load drivers in the LXC whereas 24.04 does. vainfo fails in 22.04 but works in 24.04.
When running either as a VM, I had the total opposite experience, 22.04 would not work without some manipulation, but the 24.04 non-free drivers worked flawlessly.
In Summary:
Ubuntu 22.04 Emby works with the Arc A310
Ubuntu 24.04 Emby cannot seem to access the GPU (/dev/dri/* present) and vainfo inside the LXC returns the codecs
What is the reason for this?