Hello all,
I recently purchased a Minisforum MS-01 i9-12900H and I’m trying to get SR-IOV working properly so I can run Jellyfin (VM) and Frigate (VM) on separate virtual functions.
I followed various guides—mostly the instructions from the SR-IOV DKMS project here:
https://github.com/strongtz/i915-sriov-dkms
(Using Xe instead of i915, since the MS-01 uses Xe Graphics).
Host Config
Kernel: 6.17.2-1-pve
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on xe.max_vfs=7 xe.force_probe=0x46a6 module_blacklist=i915"
The installation succeeded without errors. dmesg shows clean initialization, and the VF devices appear correctly:
dmesg | grep sriov
root@mf01:~# dmesg | grep sriov
[ 3.000919] intel_sriov_compat: module verification failed: signature and/or required key missing - tainting kernel
[ 3.001192] intel_sriov_compat: loaded
[ 3.199754] xe: You are using the i915-sriov-dkms module, a ported version of the i915/xe module with SR-IOV support.
[ 3.199755] xe: Please file any bug report at https://github.com/strongtz/i915-sriov-dkms/issues/new.
[ 3.199756] xe: Module Homepage: https://github.com/strongtz/i915-sriov-dkms
[ 3.241678] WARNING: CPU: 8 PID: 767 at /var/lib/dkms/i915-sriov-dkms/2025.11.10/build/drivers/gpu/drm/i915/display/intel_dmc.c:659 assert_dmc_loaded+0x227/0x230 [xe]
[ 3.241784] Modules linked in: intel_rapl_msr intel_rapl_common intel_uncore_frequency intel_uncore_frequency_common xe(OE+) mt7921e x86_pkg_temp_thermal mt7921_common intel_powerclamp intel_sriov_compat(OE) mt792x_lib coretemp gpu_sched mt76_connac_lib drm_gpuvm drm_ttm_helper mt76 drm_exec kvm_intel drm_suballoc_helper mac80211 kvm btusb drm_buddy btrtl ttm btintel drm_display_helper btbcm irqbypass polyval_clmulni mei_pxp mei_hdcp cec btmtk cfg80211 ghash_clmulni_intel cmdlinepart aesni_intel spi_nor rapl mei_me rc_core wmi_bmof libarc4 bluetooth mtd intel_cstate mei pcspkr i2c_algo_bit igen6_edac intel_pmc_core pmt_telemetry pmt_discovery pmt_class intel_pmc_ssram_telemetry intel_vsec acpi_tad acpi_pad input_leds joydev mac_hid sch_fq_codel msr vhost_net vhost vhost_iotlb tap efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 zfs(PO) spl(O) btrfs blake2b_generic xor raid6_pq hid_generic rndis_host usbhid cdc_ether uas usbnet hid usb_storage mii i2c_i801 nvme spi_intel_pci xhci_pci i2c_mux spi_intel
lspci output
root@mf01:~# lspci -nn | grep '00:02'
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.1 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.2 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.3 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.4 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.5 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.6 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
00:02.7 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] [8086:46a6] (rev 0c)
VMs
I then created the two VMs each connected to a seperate VF for Jellyfin and Frigate. Using them individually runs fine however when both hit the iGPU they both run into issues. The following are the errors that Jellyfin,Frigate, and the Proxmox host itself report during the “incident”
Jellyfin Error
Jellyfin VAAPI logs
[AVHWDeviceContext @ ...] libva: vaGetDriverNames() failed with unknown libva error
DRM_IOCTL_VERSION failed: Operation canceled
[AVHWDeviceContext @ ...] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ ...] Failed to initialise VAAPI connection: 18 (invalid parameter).
Device creation failed: -5.
Failed to set value 'vaapi=va:/dev/dri/renderD128,driver=iHD' for option 'init_hw_device': Input/output error
Error parsing global options: Input/output error
Frigate Errors
Frigate ffmpeg logs
[AVHWFramesContext @ ...] Failed to sync surface 0x13: 34 (HW busy now).
[hevc @ ...] Failed to transfer data to output frame: -5.
Error processing packet in decoder: Input/output error
Task finished with error code: -5
...
Host Kernel Errors
dmesg on host
xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: GuC engine reset request failed on 0:0 because 0x00000000
xe 0000:00:02.0: [drm] Tile0: GT0: trying reset from xe_guc_exec_queue_reset_failure_handler.cold [xe]
xe 0000:00:02.0: [drm] Tile0: GT0: reset queued
xe 0000:00:02.0: [drm] Tile0: GT0: reset started
xe 0000:00:02.0: [drm] Tile0: GT0: reset done
Question
Googling—and even asking the “AI gods”—suggests the iGPU may simply be overloaded, causing GuC engine failures and VF resets. But this seems odd since each VM runs fine alone. For extra context, Frigate had three camera streams and Jellyfin had one.
Is this a known limitation of Intel Xe SR-IOV?
Has anyone else seen this behavior or found a fix/workaround?
Thanks in advance!



