Hey guys,
I'm trying to get full iGPU passthrough to work for days and it simply won't work.
Hardware:
Intel i3-9100
Supermicro X11SCZ-F
Enabled Internal graphics, VTd and set primary graphics to PCI (for IPMI)
proxmox-ve: 8.2.0 (running kernel: 6.8.12-4-pve)
pve-manager: 8.2.7 (running version: 8.2.7/3e0176e6bb2ade3b)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-4
proxmox-kernel-6.8.12-4-pve-signed: 6.8.12-4
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx9
intel-microcode: 3.20240910.1~deb12u1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.8
libpve-cluster-perl: 8.0.8
libpve-common-perl: 8.2.5
libpve-guest-common-perl: 5.1.4
libpve-http-server-perl: 5.1.2
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.10
libpve-storage-perl: 8.2.5
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-4
proxmox-backup-client: 3.2.8-1
proxmox-backup-file-restore: 3.2.8-1
proxmox-firewall: 0.5.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.2.4
pve-cluster: 8.0.8
pve-container: 5.2.0
pve-docs: 8.2.3
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.0.7
pve-firmware: 3.14-1
pve-ha-manager: 4.0.5
pve-i18n: 3.2.4
pve-qemu-kvm: 9.0.2-3
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.4
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.6-pve1
I'm using EFI boot and ZFS, basically followed this tutorial, using /etc/kernel/cmdline instead of /etc/default/grub
https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
Debian 12 VM:
Installed firmware-linux-nonfree and intel-media-va-driver-non-free
agent: 1
balloon: 0
bios: ovmf
boot: order=scsi0;net0
cores: 2
cpu: host
efidisk0: local-zfs:vm-100-disk-0,efitype=4m,size=1M
hostpci0: 0000:00:02,pcie=1
machine: q35
memory: 8192
meta: creation-qemu=9.0.2,ctime=1731551400
name: debian
net0: virtio=BC:24:11:B3:FD:79,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: local-zfs:vm-100-disk-1,discard=on,iothread=1,size=64G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=ef7d41c8-d1da-4770-b5ba-708a9bdb73e5
sockets: 1
vga: none
vmgenid: 3e266bfc-5140-4bb5-b6e8-4be499e2a733
lspci looks fine to me:
(host)
00:02.0 Display controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630]
Subsystem: Super Micro Computer Inc CoffeeLake-S GT2 [UHD Graphics 630]
Flags: bus master, fast devsel, latency 0, IRQ 144, IOMMU group 0
Memory at c0000000 (64-bit, non-prefetchable) [size=16M]
Memory at b0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 5000
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: vfio-pci
Kernel modules: i915
lspci on the Debian 12 looks fine also
01:00.0 Display controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630]
Subsystem: Super Micro Computer Inc CoffeeLake-S GT2 [UHD Graphics 630]
Physical Slot: 0
Flags: bus master, fast devsel, latency 0, IRQ 40
Memory at 80000000 (64-bit, non-prefetchable) [size=16M]
Memory at 7000000000 (64-bit, prefetchable) [size=256M]
I/O ports at 8000
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Null
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915
The problem comes when trying to access the GPU in the VM with vainfo or intel_gpu_top over SSH. The console freezes and is unresponsive and I have to terminate the session to access the VM again.
dmesg -w also spits some error messages on VM boot (see attachment).
I would really be grateful if someone could help me with this
Greetings
I'm trying to get full iGPU passthrough to work for days and it simply won't work.
Hardware:
Intel i3-9100
Supermicro X11SCZ-F
Enabled Internal graphics, VTd and set primary graphics to PCI (for IPMI)
proxmox-ve: 8.2.0 (running kernel: 6.8.12-4-pve)
pve-manager: 8.2.7 (running version: 8.2.7/3e0176e6bb2ade3b)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-4
proxmox-kernel-6.8.12-4-pve-signed: 6.8.12-4
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx9
intel-microcode: 3.20240910.1~deb12u1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.8
libpve-cluster-perl: 8.0.8
libpve-common-perl: 8.2.5
libpve-guest-common-perl: 5.1.4
libpve-http-server-perl: 5.1.2
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.10
libpve-storage-perl: 8.2.5
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-4
proxmox-backup-client: 3.2.8-1
proxmox-backup-file-restore: 3.2.8-1
proxmox-firewall: 0.5.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.2.4
pve-cluster: 8.0.8
pve-container: 5.2.0
pve-docs: 8.2.3
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.0.7
pve-firmware: 3.14-1
pve-ha-manager: 4.0.5
pve-i18n: 3.2.4
pve-qemu-kvm: 9.0.2-3
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.4
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.6-pve1
I'm using EFI boot and ZFS, basically followed this tutorial, using /etc/kernel/cmdline instead of /etc/default/grub
https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
Debian 12 VM:
Installed firmware-linux-nonfree and intel-media-va-driver-non-free
agent: 1
balloon: 0
bios: ovmf
boot: order=scsi0;net0
cores: 2
cpu: host
efidisk0: local-zfs:vm-100-disk-0,efitype=4m,size=1M
hostpci0: 0000:00:02,pcie=1
machine: q35
memory: 8192
meta: creation-qemu=9.0.2,ctime=1731551400
name: debian
net0: virtio=BC:24:11:B3:FD:79,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: local-zfs:vm-100-disk-1,discard=on,iothread=1,size=64G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=ef7d41c8-d1da-4770-b5ba-708a9bdb73e5
sockets: 1
vga: none
vmgenid: 3e266bfc-5140-4bb5-b6e8-4be499e2a733
lspci looks fine to me:
(host)
00:02.0 Display controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630]
Subsystem: Super Micro Computer Inc CoffeeLake-S GT2 [UHD Graphics 630]
Flags: bus master, fast devsel, latency 0, IRQ 144, IOMMU group 0
Memory at c0000000 (64-bit, non-prefetchable) [size=16M]
Memory at b0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 5000
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: vfio-pci
Kernel modules: i915
lspci on the Debian 12 looks fine also
01:00.0 Display controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630]
Subsystem: Super Micro Computer Inc CoffeeLake-S GT2 [UHD Graphics 630]
Physical Slot: 0
Flags: bus master, fast devsel, latency 0, IRQ 40
Memory at 80000000 (64-bit, non-prefetchable) [size=16M]
Memory at 7000000000 (64-bit, prefetchable) [size=256M]
I/O ports at 8000
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Null
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915
The problem comes when trying to access the GPU in the VM with vainfo or intel_gpu_top over SSH. The console freezes and is unresponsive and I have to terminate the session to access the VM again.
dmesg -w also spits some error messages on VM boot (see attachment).
I would really be grateful if someone could help me with this
Greetings