Intel Graphics (UHD 605) Passthrough - DMAR fault (Help..!)

hige

Member
Nov 6, 2020
1
0
6
Hello,
I'm pretty new to proxmox and a very basic linux user :)

I've a NUC type box (Beelink Gemini X55) with an Intel J5005 CPU (IGD: Intel UHD 605) that came with Win10 pre-installed, but never used with Win10 because my intend was always to use it as a sort off homelab.
I'm running Proxmox VE 6.2-15 with some VMs & Containers (Home Assistant, PiHole, PHP development server, and some other things).

For my next project i would like to use this same machine as a HTPC while running Proxmox VE has host. And for that:

My goal:
Having Kodi/Plex up and running on my Proxmox server (HDMI output, HDMI sound, and hardware acceleration).
Need to be able to passthrough the integrated (and only) Intel GPU & Audio.
Desired SO: Windows10 or Ubuntu (or other: accepting suggestions ;) )

My Hardware:
- Intel® Pentium® Silver J5005 (Gemini Lake)
- Intel® UHD Graphics 605 ( 8086:3184 )
- Beelink x55 box
BIOS American Megatrends Inc / VT-x & VT-d Enabled
Note:
- GPU NOT UEFI compatible ( i suppose)
- GPU NOT Intel GVT-g compatible ( i suppose)

What i've done:
I've installed Proxmox (alone) & followed the official guide (https://pve.proxmox.com/wiki/Pci_passthrough) and many other solutions proposed around the net.
I've tried pretty much every combination possible i've found around while googling for solutions.
Best results achieved:
- Ubuntu 20.04LTS fully working but a lot of DMAR fault errors and some hangs and after some time it crashes and freezes and i need to reset VM
- Windows 10 recognizing IGD but with codec error 43 while RDP (no HDMI output)
Both with Seabios.

Actual Settings:
GRUB:
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=vesafb:off video=efifb:off"

MODULES:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

MODPROBE:
Code:
blacklist i915
options vfio-pci ids=8086:3184

GUEST:
Code:
bios: ovmf
scsihw: virtio-scsi-pci
bootdisk: scsi0
scsi0: .....
hostpci0: 00:02,x-vga=on


DMAR FAULT Errors:
Code:
[Tue Nov 10 20:12:53 2020] DMAR: DRHD: handling fault status reg 2
[Tue Nov 10 20:12:53 2020] DMAR: [DMA Write] Request device [00:02.0] PASID ffffffff fault addr 0 [fault reason 02] Present bit in context entry is clear
[Tue Nov 10 20:13:26 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:26 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 478ac69000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:26 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:26 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 478ac69000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:26 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:26 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 268b269000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:26 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:31 2020] dmar_fault: 3101 callbacks suppressed
[Tue Nov 10 20:13:31 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:31 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:31 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:31 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr c6c0c7000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:31 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:31 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:31 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:36 2020] dmar_fault: 3458 callbacks suppressed
[Tue Nov 10 20:13:36 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:36 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:36 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:36 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr c6c0c7000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:36 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:36 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:36 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:41 2020] dmar_fault: 3521 callbacks suppressed
[Tue Nov 10 20:13:41 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:41 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:41 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:41 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr c6c0c7000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:41 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:41 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:41 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:46 2020] dmar_fault: 2441 callbacks suppressed
[Tue Nov 10 20:13:46 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:46 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:46 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:46 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr c6c0c7000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:46 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:46 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:46 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:51 2020] dmar_fault: 3221 callbacks suppressed
[Tue Nov 10 20:13:51 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:51 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:51 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:51 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr c6c0c7000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:51 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:51 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 1dcf0dc000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:51 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:59 2020] dmar_fault: 3296 callbacks suppressed
[Tue Nov 10 20:13:59 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:59 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 30dcb0c000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:59 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:59 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 30dcb0c000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:59 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:13:59 2020] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 30dcb0c000 [fault reason 06] PTE Read access is not set
[Tue Nov 10 20:13:59 2020] DMAR: DRHD: handling fault status reg 3
[Tue Nov 10 20:16:53 2020] dmar_fault: 824 callbacks suppressed
[Tue Nov 10 20:16:53 2020] DMAR: DRHD: handling fault status reg 2
[Tue Nov 10 20:16:53 2020] DMAR: [DMA Write] Request device [00:02.0] PASID ffffffff fault addr 0 [fault reason 02] Present bit in context entry is clear


I'll post any other info if needed.
Thanks in advance for your time.
 
Last edited:
Anybody succeeded so far?

I'm also trying a similar VM + Kodi like setup with my NUC type box (GA-J3455N-D3H / HD 400), but I'm failing with a similar error:

Code:
$ dmesg | grep -i -e DMAR -e IOMMU
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-0.bpo.4-amd64 root=UUID=daf7a8fb-6422-4083-8e71-08ac6400f508 ro quiet elevator=noop intel_iommu=on iommu=pt
[    0.012546] ACPI: DMAR 0x0000000079BBFA90 0000A8 (v01 INTEL  EDK2     00000003 BRXT 0100000D)
[    0.305533] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-0.bpo.4-amd64 root=UUID=daf7a8fb-6422-4083-8e71-08ac6400f508 ro quiet elevator=noop intel_iommu=on iommu=pt
[    0.305651] DMAR: IOMMU enabled
[    0.403277] DMAR: Host address width 39
[    0.403279] DMAR: DRHD base: 0x000000fed64000 flags: 0x0
[    0.403291] DMAR: dmar0: reg_base_addr fed64000 ver 1:0 cap 1c0000c40660462 ecap 7e3ff0505e
[    0.403293] DMAR: DRHD base: 0x000000fed65000 flags: 0x1
[    0.403303] DMAR: dmar1: reg_base_addr fed65000 ver 1:0 cap d2008c40660462 ecap f050da
[    0.403306] DMAR: RMRR base: 0x00000079771000 end: 0x00000079790fff
[    0.403308] DMAR: RMRR base: 0x0000007b800000 end: 0x0000007fffffff
[    0.403312] DMAR-IR: IOAPIC id 1 under DRHD base  0xfed65000 IOMMU 1
[    0.403313] DMAR-IR: HPET id 0 under DRHD base 0xfed65000
[    0.403315] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.405368] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.876040] iommu: Default domain type: Passthrough (set via kernel command line)
[    2.215796] DMAR: No ATSR found
[    2.215868] DMAR: dmar0: Using Queued invalidation
[    2.215873] DMAR: dmar1: Using Queued invalidation
[    2.216286] pci 0000:00:00.0: Adding to iommu group 0
[    2.216314] pci 0000:00:02.0: Adding to iommu group 1
[    2.216335] pci 0000:00:0e.0: Adding to iommu group 2
[    2.216375] pci 0000:00:0f.0: Adding to iommu group 3
[    2.216397] pci 0000:00:0f.1: Adding to iommu group 3
[    2.216413] pci 0000:00:0f.2: Adding to iommu group 3
[    2.216432] pci 0000:00:12.0: Adding to iommu group 4
[    2.216486] pci 0000:00:13.0: Adding to iommu group 5
[    2.216509] pci 0000:00:13.1: Adding to iommu group 5
[    2.216532] pci 0000:00:13.2: Adding to iommu group 5
[    2.216560] pci 0000:00:13.3: Adding to iommu group 5
[    2.216584] pci 0000:00:15.0: Adding to iommu group 6
[    2.216614] pci 0000:00:1f.0: Adding to iommu group 7
[    2.216633] pci 0000:00:1f.1: Adding to iommu group 7
[    2.216649] pci 0000:01:00.0: Adding to iommu group 5
[    2.216668] pci 0000:03:00.0: Adding to iommu group 5
[    2.216684] pci 0000:04:00.0: Adding to iommu group 5
[    2.216756] DMAR: Intel(R) Virtualization Technology for Directed I/O
[    2.275537] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[    2.275538] AMD-Vi: AMD IOMMUv2 functionality not available on this system
[   93.894695] DMAR: DRHD: handling fault status reg 2
[   93.894821] DMAR: [DMA Write] Request device [00:02.0] PASID ffffffff fault addr 0 [fault reason 02] Present bit in context entry is clear
[  111.003430] DMAR: DRHD: handling fault status reg 2
[  111.003585] DMAR: [DMA Write] Request device [00:02.0] PASID ffffffff fault addr 0 [fault reason 02] Present bit in context entry is clear
 
Did you tested if that CPU can handle HTPC workloads?
I switched some weeks ago from my bare metal installed J3710 (quadcore 2.64GHz), 8GB RAM, Intel HD Graphics 405 with Win10 to a HTPC-VM on my big server, because even watching 1080p youtube videos used 100% CPU utilization on all 4 max clocked cores.

I think you wouldn't have fun watch media with that especially if it is additionally virtualized so you got virtualization overhead too.
 
Last edited:
I'm currently using Kodi/LibreELEC on a Udoo Dual 1GHz i.MX6 ARM Cortex-A9 CPU... which works pretty decent for this quite old hardware. Unfortunately, with LibreELEC 8 (Kodi 17) not all Apps are working anymore hence I'm checking for some alternatives. But yes, the J3455 might not be the optimal alternative.
 
The J3455 or for that matter the Apollo Lake / Goldmont plus / Gemini Lake platforms are not supported for gvt-g-linux. See here, here, here and here.
 
Last edited:

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!