Issue enabling SR-IOV on Intel Alder Lake-P iGPU (Proxmox 6.8, xe Driver)

triks

Member
Oct 17, 2022
37
3
8
I’ve been trying to enable SR-IOV on my Proxmox server with an Intel Alder Lake-P integrated GPU for GPU passthrough purposes. I have 2 Plex servers in lxc containers, 1 Windows 11 23H2 VM and was hoping to setup Kali in a VM also.

I’ve installed the latest Proxmox version and switched to the new `xe` driver, which has better support for newer Intel GPUs, including the Alder Lake architecture.

On the Windows VM, I installed the Intel graphics suite, but keep seeing various errors depending on how I setup the VM hardware config (PCI Device (hostpci0).

Intel(R) Iris(R) Xe Graphics. Windows has stopped this device because it has reported problems. (Code 43)

After uninstall and clean of intel drivers, still seeing Windows has stopped this device because it has reported problems. (Code 43) for Microsoft Basic Display Driver.

Questions:
1. Is there current SR-IOV support for Intel Alder Lake-P iGPUs using the `xe` driver?
2. Has anyone successfully enabled SR-IOV with the `xe` driver on Proxmox 6.8?
3. Are there any patches or updates I can apply to make this work, or should I be using the `i915` driver instead?

Any help/guidance/recommendations would be greatly appreciated!

Proxmox VE Version-: 6.8.12-1, Kernel-: 6.8.12-1-pve
BIOS Settings-: Intel Virtualization, SR-IOV

Series: ‎BOSGAME-P2-12700H-32GB
Operating System: ‎Proxmox VE
Number of Processors: ‎14
Computer Memory Type: ‎SODIMM
Hard Drive Interface: ‎PCIE x 4
CPU: Intel Core I7 12700H CPU (up to 4.7GHz 14C/20T, 24 MB Intel Smart Cache)
GPU: Intel Iris Xe Graphics eligible(Graphics Max Dynamic Frequency 1400 MHz)
RAM: Dual Channel SO-DIMM DDR4 32GB (16GB x 2)
ROM: NVMe PCIe 3.0 x4 512GB
WIFI: WiFi 6E(2.4Ghz, 5Ghz, 6Ghz)
CON: USB3.2 Type A x4,USB Type-C(Full Function , Support PD3.0), Dual RJ45 1000Mbps x1,
VIDEO: HDMI 2.0 + DP 1.4 + USB-C
NIC: 2 x Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
Ports: NUSB 2.0 Ports 1, USB 3.0 Ports 4
Network:
1: lo: mtu 65536 link/loopback 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo
2: enp1s0: link/ether 84:47:09:##:##:##
3: enp2s0: link/ether 84:47:09::##:##:##
4: wlo1: link/ether e4:c7:67::##:##:## altname wlp0s20f3
5: vmbr0: link/ether 84:47:09::##:##:## inet 10.0.#.#/24 scope global vmbr0
6: vmbr1: link/ether 84:47:09::##:##:##



-What I've Done So Far:-

1. -Enable IOMMU in Proxmox-:
- Added the following parameters in `/etc/default/grub`:
Code:
     GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
- Updated GRUB and rebooted:
Code:
     update-grub
     reboot

2. -Switch to `xe` Driver-:
- To support the Alder Lake-P iGPU, I added the `xe` driver and blacklisted `i915`:
Code:
     echo "blacklist i915" > /etc/modprobe.d/blacklist-i915.conf
     echo "options xe enable_guc=3" > /etc/modprobe.d/xe.conf
- Rebuilt initramfs and rebooted:
Code:
     update-initramfs -u
     reboot

3. -Verify Driver Loading-:
- After rebooting, I verified that the `xe` driver was loaded:
Code:
     lspci -v -s 0000:00:02.0
Output shows that the kernel driver in use is `xe`:
Code:
     Kernel driver in use: xe
     Kernel modules: xe, i915

4. -Attempt to Enable SR-IOV-:
- Tried to enable SR-IOV by setting the number of virtual functions (VFs):
Code:
     echo 7 > /sys/class/drm/card0/device/sriov_numvfs
- However, this resulted in the following error:
Code:
     bash: echo: write error: No such file or directory

-dmesg Logs:-
In `dmesg`, I see that the `xe` driver is successfully loaded, but there's no mention of SR-IOV initialization for the GPU:
Code:
xe 0000:00:02.0: [drm] Initialized xe 1.1.0 20201103 for 0000:00:02.0 on minor 0
I also get this message:
Code:
xe 0000:00:02.0: [drm] HDCP support not yet implemented

-Current Status:-
- IOMMU groups are visible and seem to be working fine.
- The `xe` driver loads properly, but attempting to create VFs fails.
- I’ve checked BIOS settings, and SR-IOV is enabled.
- Firmware for GuC and HuC is also loaded successfully.

I followed this and other guides to no avail: https://www.derekseaman.com/2024/07...u-vt-d-passthrough-with-intel-alder-lake.html
 
Last edited:
Was this moved? I have very similar questions but with Rocket Lake/UHD 750/11700k. Wondering if it's just better to run a Linux distro as a dedktop enviorment and run virt manager. I feel like I'm wasting my igpu if proxmox can't use it. And I'm worried about blacklisting both my discrete gpu and my igpu. And as I understand it, even if I do I wouldn't be able to get a dispaly out form the igpu. Anyway, thougth I'd ask. I didn't see a link to this having been moved to the PVE forums. Thank you.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!