Intel iGPU passthrough fails with DMAR fault reason 5/6

levinuss

New Member
Jan 18, 2021
1
0
1
Hey,
I originally wanted to run Kodi on my newly build proxmox device (ASRock B365M-ITX/ac, Intel Core i5-9400, 16GB Crucial DDR4 RAM, 500GB Crucial P5 NVMe SSD) and tried to do it with LibreElec by using some manuals I found during my google search (also from this forum). I couldn't get the iGPU from my Intel CPU and the HDMI output to work.
A user in this thread mentioned he successfully got it to work with a Ubuntu VM (on which he then installed Kodi I think) but also trying to rebuild his setup I could not get it to work. The HDMI output would just display nothing and the Proxmox console would nevertheless stop somewhere after or before the grub screen.
I tried some options (Primary GPU, PCIe, All functions, UEFI/BIOS, Graphics card) but it just didn't work.
Today I looked into the journal log for the first time and could see these lines after I started the ubuntu VM with the passthrough of the iGPU enabled:

Code:
Jan 18 13:11:18 pve kernel: DMAR: DRHD: handling fault status reg 3
Jan 18 13:11:18 pve kernel: DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 80005000 [fault reason 05] PTE Write access is not set
Jan 18 13:11:18 pve kernel: DMAR: DRHD: handling fault status reg 3
Jan 18 13:11:18 pve kernel: DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 80003000 [fault reason 05] PTE Write access is not set
Jan 18 13:11:18 pve kernel: DMAR: DRHD: handling fault status reg 3
Jan 18 13:11:18 pve kernel: DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 80002000 [fault reason 05] PTE Write access is not set
Jan 18 13:11:18 pve kernel: DMAR: DRHD: handling fault status reg 3
Jan 18 13:11:18 pve kernel: dmar_fault: 317 callbacks suppressed
Jan 18 13:11:08 pve pvedaemon[1393]: <root@pam> end task UPID:pve:00000F1B:00009BDB:60057ADB:qmstart:106:root@pam: OK
Sometimes, there were also lines with fault reason 6 (PTE Read access).
What could the problem causing this be?
I enabled all options related to virtualization in my UEFI (it also says "VT-d supported" in the chipset section).
I enabled iommu through the grub commandline:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifb:off"
And added the PCI device to my VM:
Code:
bios: ovmf
boot: order=scsi0
cores: 2
efidisk0: local-lvm:vm-106-disk-1,size=4M
hostpci0: 00:02,x-vga=1
machine: q35
memory: 4096
name: ubuntu-efi
net0: virtio=6A:40:6E:CE:1A:A0,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-106-disk-0,size=10G
scsihw: virtio-scsi-pci
smbios1: uuid=daa00ec7-ffd5-45ff-bb07-96faecd1fea8
sockets: 1
vmgenid: 7f979792-8499-4a3e-aa03-5f7b22e66915

The iGPU is also recognized on the host and the right kernel driver is used:
Code:
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop) (prog-if 00 [VGA controller])                                                                          
        Subsystem: ASRock Incorporation UHD Graphics 630 (Desktop)
Flags: fast devsel, IRQ 16
Memory at de000000 (64-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
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
I did also follow the tutorial of the proxmox wiki here, so the kernel modules are loaded and iommu groups are available:
Code:
root@pve:~# find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/7/devices/0000:00:1f.2
/sys/kernel/iommu_groups/7/devices/0000:00:1f.0
/sys/kernel/iommu_groups/7/devices/0000:00:1f.3
/sys/kernel/iommu_groups/7/devices/0000:00:1f.4
/sys/kernel/iommu_groups/5/devices/0000:00:1c.0
/sys/kernel/iommu_groups/3/devices/0000:00:16.0
/sys/kernel/iommu_groups/1/devices/0000:00:02.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.6
/sys/kernel/iommu_groups/6/devices/0000:00:1d.0
/sys/kernel/iommu_groups/4/devices/0000:00:17.0
/sys/kernel/iommu_groups/2/devices/0000:00:14.2
/sys/kernel/iommu_groups/2/devices/0000:00:14.0
/sys/kernel/iommu_groups/10/devices/0000:02:00.0
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/9/devices/0000:01:00.0

Can somebody help me with that problem?
Did I miss something?
Greetings,
levin
 
I'm having the exact same problem with the almost identical output on an ASRock Z490 ITX/ac and an i5-10400. Devices show up in /dev/dri but there is no acceleration. Any update on this?
 
  • Like
Reactions: ikarlo

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!