I am novice into Proxmox pass-through and have adopted unprivileged, no nesting LXC container as my go to for services and what not.
Trying to get a humble NVIDIA T400 4GB working with Jellyfin was a complete mess trying to follow posts so this is how I got it working novice style:
The only thing I couldn't figure out yet no matter how I tried, is that if I reboot this Proxmox server, Jellyfin LXC won't start because
Trying to get a humble NVIDIA T400 4GB working with Jellyfin was a complete mess trying to follow posts so this is how I got it working novice style:
- Proxmox: Install the latest NVIDIA driver and blacklist nouveau
-
Bash:
touch /etc/modprobe.d/blacklist-nouveau.conf echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nouveau.conf update-initramfs -u rmmod nouveau wget https://us.download.nvidia.com/XFree86/Linux-x86_64/580.142/NVIDIA-Linux-x86_64-580.142.run chmod +x NVIDIA-Linux-x86_64-580.142.run ./NVIDIA-Linux-x86_64-580.142.run - Make sure these files exist and do not move on without them
Bash:ls /dev/ | grep nvidia nvidia0 nvidia-caps nvidiactl nvidia-uvm nvidia-uvm-tools
- IMPORTANT AND THE MOST IMPORTANT PART: DO THIS VIA PROXMOX UI > RESOURCES > ADD > DEVICE PASSTHROUGH
Don't editBecause posts online are old and do not take Proxmox version into considerationBash:/etc/pve/lxc/<VMID>.conf
Proxmox 9.1.1/9.1.6 added them like so via GUI, while posts online use mount or require you do to a ton of unnecessary madmax stuff
This is all I needed, nothing else!!
Do not copy/paste, add this via Proxmox dashboard
Bash:dev0: /dev/nvidia0 dev1: /dev/nvidiactl dev2: /dev/nvidia-uvm dev3: /dev/nvidia-uvm-tools
-
- Send the file to Jellyfin LXC, why download it again??
Bash:pct push <VMID> NVIDIA-Linux-x86_64-580.142.run /root/NVIDIA-Linux-x86_64-580.142.run
- Jellyfin Unprivileged, no nesting LXC container: Start/Reboot it to load the changes above.
IMPORTANT: We only want the driver, no kernel modules
Bash:./NVIDIA-Linux-x86_64-580.142.run --no-kernel-modules
- Congratulations
Bash:root@jellyfin:~# nvidia-smi Sat Mar 21 23:21:20 2026 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 580.142 Driver Version: 580.142 CUDA Version: 13.0 | +-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA T400 4GB Off | 00000000:01:00.0 Off | N/A | | 32% 43C P0 N/A / 31W | 0MiB / 4096MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
The only thing I couldn't figure out yet no matter how I tried, is that if I reboot this Proxmox server, Jellyfin LXC won't start because
Bash:
# These files do not exist on Proxmox after reboot
ls /dev/ | grep nvidia
#So I must run this to create them. I can live with that, I shouldn't be rebooting this server anyway.
nvidia-smi
#Check
ls /dev/ | grep nvidia
nvidia0
nvidia-caps
nvidiactl
nvidia-uvm
#Start Jellyfin LXC
pct start <VMID>