I have an Intel Core i5-7600K and just passed through my Intel HD 630 iGPU from my Proxmox host to a virtual machine running Debian to be able to use it in a Jellyfin Docker container. Everything worked fine, but I used only the basic configuration that I found which I don’t really get. Can someone explain to me whether I’m missing something?

First I followed this tutorial: https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
But I only added intel_iommu=on iommu=pt to my boot parameters and vfio, vfio_iommu_type1, vfio_pci, vfio_virqfd to /etc/modules.

But what are all the other parameters good for?
pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init video=simplefb:off video=vesafb:off video=efifb:off video=vesa:off disable_vga=1 vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=radeon,nouveau,nvidia,nvidiafb,nvidia-gpu,snd_hda_intel,snd_hda_codec_hdmi,i915"

Then I added the iGPU as a PCIe device to my VM using the Proxmox webUI and added the render device /dev/dri/renderD128 to the Jellyfin Docker container.
I followed the official instructions from Jellyfin: https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/#configure-with-linux-virtualization

But I haven’t added the host group ID, what is that good for?
And I also installed the intel-media-va-driver, i965-va-driver and firmware-linux-nonfree as well as firmware-misc-nonfree. Are all of those necessary?
And then I had to add options i915 enable_guc=2 to /etc/modprobe.d/i915.conf to get it to work. This is supposedly only necessary for Low-Power Encoding, but it was necessary to get hardware transcoding to work at all?

I’m happy that it is working now, but I don’t really feel like I fully understood what I did. Were some steps unnecessary or did I miss anything?

  • TwinHaelix@reddthat.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Now that you have a working setup, make a backup. Then, experiment with either starting over and only doing a few of the steps OR experiment with removing some of those parameters. Find your minimum set of working parameters this way, then you can look them up to find out more about what each parameter does that you discovered to be essential.

    I can for sure tell you that passing the render device is required for hardware transcoding, but I’m not sure what else is required. The iommu and vfio parameters are related to passing the entire gpu device into a container, but I don’t know anything about Proxmox so I can’t comment on whether that would be required for your situation.