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?

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.

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 124 users / day
  • 419 users / week
  • 1.16K users / month
  • 3.85K users / 6 months
  • 1 subscriber
  • 3.68K Posts
  • 74.2K Comments
  • Modlog