GUIDE, WITHOUT THE GUESSWORK

Media Servers Keep Hitting the Same Three Walls: Proxmox Passthrough, GPU Sizing, Storage

Jellyfin and Immich on Proxmox run into the same trio every time — GPU passthrough that won't stick, transcoding sized wrong, and storage that fights the hypervisor. Clear each wall.

Media Servers Keep Hitting the Same Three Walls: Proxmox Passthrough, GPU Sizing, Storage

Run a media server on Proxmox long enough and you'll meet the same three walls everyone does, in the same order: getting a GPU into the VM or container, sizing transcoding so it doesn't choke, and laying out storage so the media doesn't fight the hypervisor. They're not Jellyfin or Immich bugs — they're the friction of putting hardware-hungry media apps on a virtualization host. Here's how to clear each.

Wall 1: GPU passthrough that actually sticks

You need the GPU's hardware encoder reachable from the app. Two paths on Proxmox:

The common "it worked then broke after reboot" trap is non-persistent setup: bind the device and load modules on boot, or the passthrough silently reverts. This is the same host-prerequisite class as the hidden prerequisites Compose scripts miss.

Wall 2: sizing the transcode, not guessing

Hardware transcoding turns a melting CPU into a quiet GPU — but only if it's sized for real concurrency:

Wall 3: storage that doesn't fight the hypervisor

Media is terabytes; the hypervisor's fast disk is precious. Keep them separate:

Order of operations

  1. Enable IOMMU; decide VM-passthrough vs LXC-device-share.
  2. Make the passthrough persistent across reboot.
  3. Confirm the app sees the encoder (/dev/dri present, ffmpeg lists the hw encoder).
  4. Size transcoding by concurrent streams; prefer direct play.
  5. Split app state (fast disk) from library (dedicated pool).

Takeaway

Media on Proxmox is three predictable walls, not a hundred random ones. Get the GPU passed through persistently, size transcoding by real concurrent streams, and keep the library off the hypervisor's disks. Clear those three and Jellyfin and Immich are genuinely pleasant on Proxmox.

From across the StoicSoft network

Hand-curated reads on the same topic from sister sites in the StoicSoft family.