Media Server GPU transcoding in VM?

Hi all,

I’ve bought an i3-13100T for a new home server build.

I was eyeing up ProxMox to run JellyFin in a container, but realised I’m not going to be able to use the GPU for transcoding this way, or is there a method to expose the capabilities of the host GPU to a container, or VM, without adding a 2nd GPU for VFIO?

The server will be headless.

Thanks!

1 Like

It should be possible to pass the iGPU through to a VM, but I would not recommend it without having a 2nd GPU in the system or using a motherboard with IPMI. I have a few different Proxmox installations. One has a VM with Plex running on Ubuntu with GPU passthrough for transcoding. The system only has one GPU but the motherboard is a Supermiro board with IPMI so I don’t need a GPU to access the system if the standard Proxmox GUI is inaccessible.

It should be possible to pass a GPU through to a container but I was never able to get it to work so I ended up using a lightweight installation of Ubuntu Server in a VM with Plex installed in it. GPU passthrough to a standard VM worked the first time I tried it and there are a lot of tutorials out there that cover it so that’s what I’ve stuck with and haven’t had any issues with it so far.

2 Likes

I thought as much, but I thought i’d ask, as a lot has changed over the years, so I hoped there might be a way to do what I wanted. Adding a 2nd GPU would just defeat the purpose of buying a modern iGPU for a low power system though. I use VFIO on the desktop.

Plan B is installing OpenMediaVault and JellyFin instead of ProxMox, and getting VM’s and Containers to run on OMV, if that’s possible. Otherwise, OpenSuSe or Debian server.

Thanks!

1 Like

Intel iGPU supports SRIOV. You should be able to use something like i915-sriov-dkms to enable SRIOV support on the host and pass the virtual GPU to the guest. From a quick search, looks like someone has done this with i3-12100 (non-K/non-F) + Proxmox + Jellyfin:

3 Likes

Oh wow! I never thought of that. I assumed that kind of functionality would be restricted to pro level GPU’s. Thanks, that looks like a winner! :slight_smile:

1 Like

Unless you have a specific need for a VM I have found that there are way less problems just using Debian + Docker rather than having to deal with issues related to passthrough and sr-iov.

3 Likes

This guy knows da wae.

1 Like

If Asterisk is available as a container, then I doubt I will need a VM, at least at the moment. But I don’t want to cut that option out of anything I might need/want to do in the future, so i want to set it up to work for if/when i do.

I’d rather use ProxMox or OMV to take a lot of the initial config issues away, and give me a management GUI I can use from anywhere too. I’ve only used Debian a couple of times, so it’s another layer to learn if I go that route.

1 Like

It’s relatively straightforward to pass an Intel iGPU through to a LXC container in Proxmox. I have one running Plex that handles hardware transcoding via Quicksync no problem. You may have to run the container as privileged–I’ve never tried an unprivileged one.

2 Likes

Just one more note, if you follow a guide for proxmox 6 you may have some wrong lines in the lxc pass thru, people had a lot of trouble with the transition. I forget what the format was id have to look.

Just to add it in incase.

2 Likes

Thanks all. This has been an eye-opener! I’m really looking forward to making this work, now I have a plan! :slight_smile:

Is it easier to pass intel igpu to lxc as opposed to docker or even full VM on Proxmox?
I am currently building a server and don’t have any experience with any of that, would appreciate your input. Thanks.

1 Like

Passthrough to docker or LXC is much easier since they share the kernel with the host. You simply pass through the /dev/dri path and that’s that.

For a VM it is more involved since you would need to detach from the host and attach to the guest, which is not always possible or easy.

2 Likes

Docker or LXC is the way to go imo unless you are willing to go down the rabbit hole of VM passthrough.

2 Likes

thanks!
then what benefit do VMs offer that LXC and docker don’t?
so far it seems like VMs are pain in the ass

My daily gaming distro is a VM with VFIO, so it’s not such a big deal. I have a spare GTX1080 that might still work, so i’m toying with the idea of using it to stream games @1080p to the Steam Links and media player. :slight_smile:

The initial question was iGPU passthrough, which is usually a bit more difficult than dGPU. Especially if it is the only GPU in the system.

1 Like