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?