[SOLVED] Problems with Passthrough with Intel Alder Lake

FRRRRRRRR

New Member
Jun 8, 2024
6
1
3
Hello everyone, I'm new to the forum, so if possible, I would like to ask for your understanding :)

CPU: N305


I have a problem with configuring the correct operation of transferring the Intel iGPU to a machine on Linux (I want to put Jellyfin there and in the future a remote desktop on another machine).

I've been doing this for a good week now and I'm stuck. I followed these guides, but to no avail (maybe I missed something):
- https://www.derekseaman.com/2023/11...u-vt-d-passthrough-with-intel-alder-lake.html
- https://github.com/intel-gpu/intel-gpu-firmware?tab=readme-ov-file
- https://github.com/strongtz/i915-sriov-dkms
- https://github.com/strongtz/i915-sriov-dkms/issues/103
- https://jellyfin.org/docs/general/administration/hardware-acceleration/intel/
- https://www.reddit.com/r/Proxmox/comments/190ewcc/devdri_missing_broken_igpu_passthrough/

It seems to continue to load the card into the system when I start the VM

Before start VM
#lspci -nnk


00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4617]
DeviceName: Onboard - Other
Subsystem: Intel Corporation Device [8086:7270]

00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
DeviceName: Onboard - Video
Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
Kernel driver in use: i915
Kernel modules: i915

00:02.1 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
Kernel driver in use: i915
Kernel modules: i915

......

00:02.7 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
Kernel driver in use: i915
Kernel modules: i915

After start VM
#lspci -nnk


00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4617]
DeviceName: Onboard - Other
Subsystem: Intel Corporation Device [8086:7270]
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
DeviceName: Onboard - Video
Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
Kernel driver in use: i915
Kernel modules: i915
00:02.1 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
Kernel driver in use: i915
Kernel modules: i915

......

00:02.7 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
Kernel driver in use: vfio-pci
Kernel modules: i915

cat /etc/modprobe.d/vfio.conf
# options vfio-pci ids=8086:46d0
options vfio-pci ids=8086:46d0 disable_vga=1

grep -r '' /etc/modprobe.d/
/etc/modprobe.d/vfio.conf-backup:blacklist i915
/etc/modprobe.d/vfio.conf-backup:# blacklist igbvf
/etc/modprobe.d/vfio.conf-backup:# options vfio-pci ids=8086:7270
/etc/modprobe.d/vfio-pci.conf-backup:eek:ptions vfio-pci ids=1234:5678,4321:8765
/etc/modprobe.d/blacklist.conf:blacklist nouveau
/etc/modprobe.d/blacklist.conf:blacklist nvidia*
/etc/modprobe.d/blacklist.conf:blacklist i915
/etc/modprobe.d/blacklist.conf:blacklist igbvf
/etc/modprobe.d/blacklist.conf:blacklist amdgpu
/etc/modprobe.d/blacklist.conf:blacklist radeon
/etc/modprobe.d/dkms.conf:# modprobe information used for DKMS modules
/etc/modprobe.d/dkms.conf:#
/etc/modprobe.d/dkms.conf:# This is a stub file, should be edited when needed,
/etc/modprobe.d/dkms.conf:# used by default by DKMS.
/etc/modprobe.d/kvm.conf:eek:ptions kvm ignore_msrs=1
/etc/modprobe.d/pve-blacklist.conf:# This file contains a list of modules which are not supported by Proxmox VE
/etc/modprobe.d/pve-blacklist.conf:
/etc/modprobe.d/pve-blacklist.conf:# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
/etc/modprobe.d/pve-blacklist.conf:blacklist nvidiafb
/etc/modprobe.d/pve-blacklist.conf:blacklist i915
/etc/modprobe.d/vfio.conf:# options vfio-pci ids=8086:46d0
/etc/modprobe.d/vfio.conf:eek:ptions vfio-pci ids=8086:46d0 disable_vga=1

vainfo
error: can't connect to X server!
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.1 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointEncSlice
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointEncSlice
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP

dmesg | grep -i -e DMAR -e IOMMU
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.5.11-4-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt pcie_aspm=force i915.enable_guc=3 i915.max_vfs=7
[ 0.008784] ACPI: DMAR 0x0000000074F99000 000088 (v02 INTEL EDK2 00000002 01000013)
[ 0.008815] ACPI: Reserving DMAR table memory at [mem 0x74f99000-0x74f99087]
[ 0.054840] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.5.11-4-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt pcie_aspm=force i915.enable_guc=3 i915.max_vfs=7
[ 0.054886] DMAR: IOMMU enabled
[ 0.132035] DMAR: Host address width 39
[ 0.132036] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.132043] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
[ 0.132046] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.132050] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
[ 0.132052] DMAR: RMRR base: 0x0000007c000000 end: 0x000000803fffff
[ 0.132055] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.132056] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.132057] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.133873] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.363725] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
[ 0.406624] iommu: Default domain type: Passthrough (set via kernel command line)
[ 0.456671] DMAR: No ATSR found
[ 0.456671] DMAR: No SATC found
[ 0.456673] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.456673] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.456674] DMAR: IOMMU feature nwfs inconsistent
[ 0.456675] DMAR: IOMMU feature dit inconsistent
[ 0.456676] DMAR: IOMMU feature sc_support inconsistent
[ 0.456676] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.456677] DMAR: dmar0: Using Queued invalidation
[ 0.456681] DMAR: dmar1: Using Queued invalidation
[ 0.456909] pci 0000:00:02.0: Adding to iommu group 0
[ 0.456948] pci 0000:00:00.0: Adding to iommu group 1
[ 0.456961] pci 0000:00:0d.0: Adding to iommu group 2
[ 0.456976] pci 0000:00:14.0: Adding to iommu group 3
[ 0.456985] pci 0000:00:14.2: Adding to iommu group 3
[ 0.456996] pci 0000:00:15.0: Adding to iommu group 4
[ 0.457008] pci 0000:00:16.0: Adding to iommu group 5
[ 0.457016] pci 0000:00:17.0: Adding to iommu group 6
[ 0.457031] pci 0000:00:1c.0: Adding to iommu group 7
[ 0.457044] pci 0000:00:1c.1: Adding to iommu group 8
[ 0.457056] pci 0000:00:1c.2: Adding to iommu group 9
[ 0.457070] pci 0000:00:1c.3: Adding to iommu group 10
[ 0.457084] pci 0000:00:1c.6: Adding to iommu group 11
[ 0.457098] pci 0000:00:1d.0: Adding to iommu group 12
[ 0.457109] pci 0000:00:1d.1: Adding to iommu group 13
[ 0.457125] pci 0000:00:1d.2: Adding to iommu group 14
[ 0.457148] pci 0000:00:1f.0: Adding to iommu group 15
[ 0.457157] pci 0000:00:1f.3: Adding to iommu group 15
[ 0.457165] pci 0000:00:1f.4: Adding to iommu group 15
[ 0.457173] pci 0000:00:1f.5: Adding to iommu group 15
[ 0.457186] pci 0000:01:00.0: Adding to iommu group 16
[ 0.457197] pci 0000:02:00.0: Adding to iommu group 17
[ 0.457209] pci 0000:03:00.0: Adding to iommu group 18
[ 0.457223] pci 0000:04:00.0: Adding to iommu group 19
[ 0.457234] pci 0000:05:00.0: Adding to iommu group 20
[ 0.457245] pci 0000:06:00.0: Adding to iommu group 21
[ 0.457256] pci 0000:07:00.0: Adding to iommu group 22
[ 0.457267] pci 0000:08:00.0: Adding to iommu group 23
[ 0.457364] DMAR: Intel(R) Virtualization Technology for Directed I/O
[ 5.235162] pci 0000:00:02.1: DMAR: Skip IOMMU disabling for graphics
[ 5.235243] pci 0000:00:02.1: Adding to iommu group 24
[ 5.241676] pci 0000:00:02.2: DMAR: Skip IOMMU disabling for graphics
[ 5.241749] pci 0000:00:02.2: Adding to iommu group 25
[ 5.246678] pci 0000:00:02.3: DMAR: Skip IOMMU disabling for graphics
[ 5.246756] pci 0000:00:02.3: Adding to iommu group 26
[ 5.251713] pci 0000:00:02.4: DMAR: Skip IOMMU disabling for graphics
[ 5.251791] pci 0000:00:02.4: Adding to iommu group 27
[ 5.256882] pci 0000:00:02.5: DMAR: Skip IOMMU disabling for graphics
[ 5.256966] pci 0000:00:02.5: Adding to iommu group 28
[ 5.261694] pci 0000:00:02.6: DMAR: Skip IOMMU disabling for graphics
[ 5.261791] pci 0000:00:02.6: Adding to iommu group 29
[ 5.266586] pci 0000:00:02.7: DMAR: Skip IOMMU disabling for graphics
[ 5.266652] pci 0000:00:02.7: Adding to iommu group 30


1717893614116.png
1717893654630.png

I would be very grateful for any advice :)
 
Last edited:
Hello, I'm glad you asked the question because I thought the topic was completely dead :D
The problem is that even after this configuration, I am not able to transfer the graphics card to Linux. Device not showing in /dev/dri/...

I would like to skip LXC and install a typical virtualized Linux.
I also want the card to work on Windows. It is visible in the task manager, but it does not appear to be running in the system.
 
Last edited:
Hello everyone,
I managed to solve my problem after spending quite a bit of time on it, so I thought I'd create my first guide on GitHub. Perhaps it will be helpful to someone ;)

https://github.com/kamilllooo/Proxmox
Its not working on my Beelink Q 12 Pro.

Maybe the Problem is- i just have 1 VGA-raw device
Code:
root@proxmox:~# lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:4617]
        DeviceName: Onboard - Other
        Subsystem: Intel Corporation Device [8086:7270]
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [UHD Graphics] [8086:46d0]
        DeviceName: Onboard - Video
        Subsystem: Intel Corporation Alder Lake-N [UHD Graphics] [8086:7270]
        Kernel driver in use: vfio-pci
        Kernel modules: i915
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake-N PCH USB 3.2 xHCI Host Controller [8086:54ed]
        DeviceName: Onboard - Other

I did everything like you described, but no sucess. :(
MOK doesnt work for me. But i did´nt have secure boot in my optinion.
Code:
root@proxmox:~# mokutil --sb-state
SecureBoot disabled
Platform is in Setup Mode

For me it seems the part with dkms is not working. The dkms.conf doesnt change on your code.
Also the dkms.conf inside /etc/modprobe.d seems to be empty.
I tried the passthrough before and think i have some rest code there...
1721806287384.png
Do you have a hint with the "other" VGA-devices. I just have the 00:02.0 VGA, i think this could be the problem.
I posted the same on your github, Maybe you have an idea.
 
I am having the same issue (Bosgamepc P2), followed guide from GitHub but Windows 11 23H2 shows error even after install of Intel graphics suite. Had a look in BIOS/UEFI for settings but couldn't find them so contacted manufacturer.

Code:
grep VGA
dmesg | grep i915
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.1 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.2 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.3 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.4 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.5 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.6 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.7 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
 
I am having the same issue (Bosgamepc P2), followed guide from GitHub but Windows 11 23H2 shows error even after install of Intel graphics suite. Had a look in BIOS/UEFI for settings but couldn't find them so contacted manufacturer.

Code:
grep VGA
dmesg | grep i915
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.1 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.2 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.3 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.4 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.5 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.6 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
00:02.7 VGA compatible controller: Intel Corporation Alder Lake-P Integrated Graphics Controller (rev 0c)
excellent support from Bosgamepc, support enabled advanced settings in BIOS which enabled them to Enable SR-IOV. I will try now to share it across LXCs and VMs.
 
great, I'm waiting for information whether it was possible to start correctly. To enable advanced bios settings what did you have to do just out of curiosity :D
 

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!