The following works for pve 8 with 6.5 kernel.
The driver is still experimental, use with your own discretion.
- prepare env
git clone https://github.com/strongtz/i915-sriov-dkms
apt install dkms build-essential proxmox--headers-6.5
- modify
dkms.conf
PACKAGE_NAME="i915-sriov-dkms"
PACKAGE_VERSION="6.1"
- build dkms deb package
# add module
dkms add /root/i915-sriov-dkms
# check module status
dkms status
# build
dkms build i915-sriov-dkms/6.1
# install
dkms install i915-sriov-dkms/6.1
# if messed up
dkms uninstall i915-sriov-dkms/6.1
dkms remove i915-sriov-dkms/6.1 --all
-
update grub command line, and add
intel_iommu=on i915.enable_guc=3 i915.max_vfs=7
toGRUB_CMDLINE_LINUX_DEFAULT
, and runupdate-grub
-
reboot and check dmesg to see if it is working. If some i915 firmware file is missing, and there are errors like this
i915 0000:00:02.0: GuC firmware i915/tgl_guc_70.bin: fetch failed with error -2
i915 0000:00:02.0: [drm] GuC firmware(s) can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915
i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.bin version 0.0.0
i915 0000:00:02.0: GuC initialization failed -2
so download the missing firmware file and place it in /usr/lib/firmware/i915, here it is tgl_guc_70.bin
for gen 11 CPU. Firmware can be downloaded from here
If you see the following, it is successful.
[ +0.000121] i915 0000:00:02.0: 7 VFs could be associated with this PF
- now it is possible to specify the number of VFs needed with the following.
echo 2 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs
Hi, were you able to use one of the VFs with a Windows VM? or any other OS VM?
When I assign one of the VFs with a VM and start the VM (WIn 10) or (Mac OS) the VFs disappear and my igpu goes to vfio driver instead of i915 driver. Curious if you were able to assign a VF to a VM?