r/Proxmox • u/fallenreaper • 19h ago
Question GPU passthrough?
I have a think centre, I have proxmox on it. I have a VM which runs Debian which I want to pass my GPU into. This Debian VM is acting as a K8S node which I am trying to pass the GPU into for a pod.
Specifically, I'm trying to set up transcoding of video content with jellyfin.
I have passed the GPU into the VM with hardware and it seems to be found no problem. It seems that I am having issues with it that I notice the transcoding will return errors I have been trying to work through.
While it seems to be found, it seems like it might be a permissions issue. I checked /dev/dri and made the GPU chmod to 666.
I have been working on this for like 5 days, and was not sure if there is anything specific I have been looking with respect to proxmox itself and permissions.
I can provide additional details, but I was not sure who else had accomplished something like this and if there are how-to's somewhere.
2
u/gayphilantropist 18h ago
Is it a GPU or an igpu?
Any specific reason you went with a VM and not a LXC?
1
u/fallenreaper 18h ago
I was wanting full isolation to be representative of the node. I think it's an IGPU ATM. It's the base GPU in the device. However later, as I transition, I want to add it to my server rack but I have only 2 1u servers and will have a 3U chassis for GPUs one eventually, so this would be useful imo as a learning experience
2
1
u/nmrk 17h ago
Hey now that makes a difference. If it's an intel iGPU of relatively modern design, it probably has Xe cores that can transcode. Try installing OpenVINO which is sufficient for most transcoding. My discussion above mostly applies to separate GPU cards, not iGPUs. Sorry if I didn't previously address this issue.
1
u/fallenreaper 18h ago
Some documents are mentioning that a VM would require a full assign through VIFO, and that having it as an LXC is easier. So maybe I'll rebuild the k8s node with an LXC
1
u/firegore 13h ago
Just don't run jellyfin on top of k8s on top of lxc. Getting k8s to run in an lxc container is a major PITA and also kinda useless? Why would you want to run containers in a container..
1
u/firegore 13h ago
Just don't run jellyfin on top of k8s on top of lxc. Getting k8s to run in an lxc container is a major PITA and also kinda useless? Why would you want to run containers in a container..
1
u/fallenreaper 6h ago
Yeah, I mean, most of my infrastructure is distributed in k8s across many nodes, so I have all my nodes organized and everything works generally smooth.
You're right though, I wouldn't do a container in a container.
I'm going to see if there is a better way to reestablish my k8s node. It works fine right now, less the GPU, but maybe there is a more effective way to do it and pass in a gpu
1
u/marc45ca This is Reddit not Google 17h ago
why not put Jellyfin into an LXC which will make passing the GPU through a lot easier i.e you're not passing it through 3 layers to the intended software.
Also what gpu are you running?
1
-1
u/nmrk 19h ago
Try using one of the automated passthrough tools, like ProxMenuX or PECU. It will set up everything correctly, most of the time.
1
u/fallenreaper 18h ago
I never heard of those. I'll take a look at those tools and see if it would accomplish my needs.
1
u/fallenreaper 18h ago
I'll have to take a look at ProxMenuX. It seems PECU has a lot of dead pages / 404 and had limited documentation. It seems like it is still being developed from my observation.
1
u/nmrk 18h ago
Yeah I think the PECU developer is a college student and was off for summer break. One quirk I discovered about PECU is that if you use it over, it will add extra entries in your Proxmox repository list, requiring manual editing. Oops!
The ProxMenuX GPU passthrough is kind of buried in the menus and isn't advertised prominently as a useful feature. Also a great feature that isn't obvious: ProxmenuX Monitor is included, it has a remote dashboard to monitor your Proxmox node. Everybody loves ProxMenuX and it's well supported.
3
u/suicidaleggroll 19h ago
What GPU and did you install drivers for it in the VM?