Hi,
I am struggling to use iGPU passthrough with display output in a Debian VM on Proxmox 8.1.3 with Kernel 6.5.11-7-pve.
I followed these steps, plus adding the audio modules to the blacklist on the host to be later able to also passthrough audio:
https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
At boot the display output of the host stops when loading the initramdisk (to be expected as I see it). The display simply freezes.
When starting the VM, the display (or at least the display output) turns off and I do not see a console of the guest independently of whether I run the iGPU as "primary GPU" for the VM or not.
Output of dmesg | grep -e DMAR -e IOMMU indicates some errors at boot but googeling them indicates that they might not be the root cause of the issue:
After VM starts (with the iGPU not as primary GPU) I see this error message in addition with the same command:
Trying afterwards with this VM as well as another VM just starting a live cd from iso but with the passed-through iGPU as "primary GPU" gives additional errors:
/etc/default/grub:
Any ideas where to start the trouble shooting?
I am struggling to use iGPU passthrough with display output in a Debian VM on Proxmox 8.1.3 with Kernel 6.5.11-7-pve.
I followed these steps, plus adding the audio modules to the blacklist on the host to be later able to also passthrough audio:
https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
At boot the display output of the host stops when loading the initramdisk (to be expected as I see it). The display simply freezes.
When starting the VM, the display (or at least the display output) turns off and I do not see a console of the guest independently of whether I run the iGPU as "primary GPU" for the VM or not.
Output of dmesg | grep -e DMAR -e IOMMU indicates some errors at boot but googeling them indicates that they might not be the root cause of the issue:
Bash:
[ 0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[ 0.010706] ACPI: DMAR 0x00000000727095D0 0000A8 (v01 INTEL GLK-SOC 00000003 BRXT 0100000D)
[ 0.010790] ACPI: Reserving DMAR table memory at [mem 0x727095d0-0x72709677]
[ 0.040517] DMAR: IOMMU enabled
[ 0.142508] DMAR: Host address width 39
[ 0.142511] DMAR: DRHD base: 0x000000fed64000 flags: 0x0
[ 0.142526] DMAR: dmar0: reg_base_addr fed64000 ver 1:0 cap 1c0000c40660462 ecap 9e2ff0505e
[ 0.142533] DMAR: DRHD base: 0x000000fed65000 flags: 0x1
[ 0.142544] DMAR: dmar1: reg_base_addr fed65000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.142550] DMAR: RMRR base: 0x0000007268d000 end: 0x000000726acfff
[ 0.142554] DMAR: RMRR base: 0x00000077800000 end: 0x0000007fffffff
[ 0.142559] DMAR-IR: IOAPIC id 1 under DRHD base 0xfed65000 IOMMU 1
[ 0.142563] DMAR-IR: HPET id 0 under DRHD base 0xfed65000
[ 0.142566] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.144707] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.445343] DMAR: No ATSR found
[ 0.445345] DMAR: No SATC found
[ 0.445348] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.445350] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.445353] DMAR: IOMMU feature nwfs inconsistent
[ 0.445355] DMAR: IOMMU feature eafs inconsistent
[ 0.445356] DMAR: IOMMU feature prs inconsistent
[ 0.445358] DMAR: IOMMU feature nest inconsistent
[ 0.445360] DMAR: IOMMU feature mts inconsistent
[ 0.445361] DMAR: IOMMU feature sc_support inconsistent
[ 0.445363] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.445366] DMAR: dmar0: Using Queued invalidation
[ 0.445373] DMAR: dmar1: Using Queued invalidation
[ 0.446640] DMAR: Intel(R) Virtualization Technology for Directed I/O
After VM starts (with the iGPU not as primary GPU) I see this error message in addition with the same command:
Bash:
[ 548.980027] DMAR: DRHD: handling fault status reg 2
[ 548.980044] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear
Trying afterwards with this VM as well as another VM just starting a live cd from iso but with the passed-through iGPU as "primary GPU" gives additional errors:
Bash:
[ 1442.230803] DMAR: DRHD: handling fault status reg 2
[ 1442.230826] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x0 [fault reason 0x02] Present bit in context entry is clear
[ 1497.651088] DMAR: DRHD: handling fault status reg 2
[ 1497.651105] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x78021000 [fault reason 0x05] PTE Write access is not set
[ 1497.651132] DMAR: DRHD: handling fault status reg 3
[ 1497.651139] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x78021000 [fault reason 0x05] PTE Write access is not set
[ 1497.651296] DMAR: DRHD: handling fault status reg 2
[ 1497.651303] DMAR: [DMA Write NO_PASID] Request device [00:02.0] fault addr 0x78022000 [fault reason 0x05] PTE Write access is not set
[ 1497.651324] DMAR: DRHD: handling fault status reg 3
[ 1502.654144] DMAR: DRHD: handling fault status reg 3
[ 1502.654171] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78220000 [fault reason 0x06] PTE Read access is not set
[ 1502.654922] DMAR: DRHD: handling fault status reg 3
[ 1502.654941] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78260000 [fault reason 0x06] PTE Read access is not set
[ 1502.655761] DMAR: DRHD: handling fault status reg 3
[ 1502.655794] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x782a0000 [fault reason 0x06] PTE Read access is not set
[ 1502.656560] DMAR: DRHD: handling fault status reg 3
[ 1507.658129] DMAR: DRHD: handling fault status reg 3
[ 1507.658150] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x783e0000 [fault reason 0x06] PTE Read access is not set
[ 1507.658875] DMAR: DRHD: handling fault status reg 3
[ 1507.658889] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78420000 [fault reason 0x06] PTE Read access is not set
[ 1507.659714] DMAR: DRHD: handling fault status reg 3
[ 1507.659743] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78460000 [fault reason 0x06] PTE Read access is not set
[ 1507.660514] DMAR: DRHD: handling fault status reg 3
[ 1512.662843] DMAR: DRHD: handling fault status reg 3
[ 1512.662872] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78020000 [fault reason 0x06] PTE Read access is not set
[ 1512.663489] DMAR: DRHD: handling fault status reg 3
[ 1512.663501] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x780e0000 [fault reason 0x06] PTE Read access is not set
[ 1512.664289] DMAR: DRHD: handling fault status reg 3
[ 1512.664302] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78120000 [fault reason 0x06] PTE Read access is not set
[ 1512.665124] DMAR: DRHD: handling fault status reg 3
[ 1517.666696] DMAR: DRHD: handling fault status reg 3
[ 1517.666719] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78260000 [fault reason 0x06] PTE Read access is not set
[ 1517.667484] DMAR: DRHD: handling fault status reg 3
[ 1517.667512] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x782a0000 [fault reason 0x06] PTE Read access is not set
[ 1517.668283] DMAR: DRHD: handling fault status reg 3
[ 1517.668312] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x782e0000 [fault reason 0x06] PTE Read access is not set
[ 1517.669088] DMAR: DRHD: handling fault status reg 3
[ 1522.670666] DMAR: DRHD: handling fault status reg 3
[ 1522.670693] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78420000 [fault reason 0x06] PTE Read access is not set
[ 1522.671410] DMAR: DRHD: handling fault status reg 3
[ 1522.671429] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x78460000 [fault reason 0x06] PTE Read access is not set
[ 1522.672248] DMAR: DRHD: handling fault status reg 3
[ 1522.672284] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x784a0000 [fault reason 0x06] PTE Read access is not set
[ 1522.673009] DMAR: DRHD: handling fault status reg 3
/etc/default/grub:
Bash:
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet nowatchdog ipv6.disable=1 nofb nomodeset disable_vga=1 intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init video=simplefb:off video=vesafb:off video=efifb:off video=vesa:off vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=radeon,nouveau,nvidia,nvidiafb,nvidia-gpu,snd_hda_intel,snd_soc_skl,snd_soc_avs,snd_sof_pci_intel_apl,snd_hda_codec_hdmi,i915 vfio-pci.ids=8086:3185,8086:3198"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
...
Bash:
cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
options kvm report_ignored_msrs=0
Bash:
cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE
# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist nvidiafb
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
blacklist snd_soc_skl
blacklist snd_sof_pci
blacklist bluetooth
Any ideas where to start the trouble shooting?
Last edited: