Intel IGP (Gemini Lake) Passthrough (q35) fails to boot on Ubuntu 18.04.3 LTS – i915 conflict detected with stolen region

n1nj4888

Member
Jan 13, 2019
116
3
18
40
Hi There,

I currently have a headless Intel NUC7PJYH and can passthrough the Intel IGP to a VM running Ubuntu 18.04.3LTS as long as the machine type is set to “Default (i440fx)”. I don’t use the passthrough Intel IGP for graphics output, I just pass it through as a secondary graphics card (the primary is set to “Default (memory=128)”) to use the Intel Quicksync functionality of the IGP and this seems to work ok…

I wanted to test the setup out but using the newer q35 machine type and passing the same Intel IGP through to a cloned VM where the only change was the machine type from i440fx to q35… With the previous i440fx VM stopped, when starting this new VM, the boot process hangs at the following point (see attached screenshot). I also tried booting the Ubuntu 18.04.3 LTS ISO and that hangs similarly when starting the Ubuntu Setup at the same prompt: [drm:i915_gem_init_stolen [i915]] *ERROR* conflict detected with stolen region: ….

1567503662542.png

I’ve tried using both machine type “q35” from the GUI and machine type “pc-q35-3.1” (from the console) and both seem to result in the same hang message at boot.

The VM configuration is as below.

Code:
agent: 1
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 4
cpu: host
efidisk0: DataStore:113/vm-113-disk-1.qcow2,size=4M
hostpci0: 00:02.0
ide2: none,media=cdrom
machine: q35
memory: 8192
name: pve-vm-q35-passthrough-test
net0: virtio=<MAC>,bridge=vmbr0
numa: 0
ostype: l26
scsi0: DataStore:113/vm-113-disk-0.qcow2,discard=on,size=50G
scsihw: virtio-scsi-pci
smbios1: uuid=<UUID>
sockets: 1
vga: memory=128
vmgenid: <VMGENID>
I currently have the following set on the Proxmox 6 Host:

Code:
cat /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on
And the following set - Although these were not required for the Intel IGP Passthrough to work using the i440fx machine type:

Code:
cat /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
Code:
cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:3184
Any pointers how to fix this or what I might be doing wrong?
 

n1nj4888

Member
Jan 13, 2019
116
3
18
40
Anyone any ideas on this? I've since tried the following combinations:

  1. Adding
    Code:
    root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on video=efifb:off
    to the kernel command line and running
    Code:
    pve-efiboot-tool refresh
    before rebooting
  2. Changing the machine type between q35 and pc-q35-3.1 using
    Code:
    qm set VMID -machine pc-q35-3.1
  3. Adding the "kernel_irqchip=on" arguement using the following - Both with the machine type set to q35 and pc-q35-3.1
  4. Code:
    qm set 113 -args '-machine type=q35,kernel_irqchip=on'
  5. Changing the PCI device to PCI Express in the GUI (it worked previously under the i440fx machine type as PCI)
  6. Toggling the PCI / PCIe Device "All Functions" to on/off in the GUI

Still I'm getting Ubuntu 18.04.3LTS hanging at the initial boot screens with the following output to the noVNC console:

1567653741825.png


Current VMID.conf is as follows:

Code:
agent: 1
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 4
cpu: host
efidisk0: DataStore:113/vm-113-disk-1.qcow2,size=4M
hostpci0: 00:02.0
ide2: none,media=cdrom
machine: pc-q35-3.1
memory: 8192
name: pve-vm-q35-passthrough-test
net0: virtio=<MAC>,bridge=vmbr0
numa: 0
ostype: l26
scsi0: DataStore:113/vm-113-disk-0.qcow2,discard=on,size=50G
scsihw: virtio-scsi-pci
smbios1: uuid=<UUID>
sockets: 1
vga: memory=128
vmgenid: <VMGENID>
... So, I'm stumped! Would appreciate any insight into how others have got the Gemini Lake IGP passed through under PVE 6.0-6 using the q35 / pc-q35-3.1Machine Type!

Thanks:)
 
Last edited:

n1nj4888

Member
Jan 13, 2019
116
3
18
40
Hi Guys,

Anyone got any suggestions on how to fix this since I'm stumped?

The VM (Ubuntu 18.04.3 LTS Server) fails to boot (hangs at the following screen in the console) when I set the Machine Type to Q35:

1568872986320.png

Code:
agent: 1
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 4
cpu: host
efidisk0: DataStore:113/vm-113-disk-1.qcow2,size=4M
hostpci0: 00:02.0
ide2: none,media=cdrom
machine: q35
memory: 8192
name: pve-vm-q35
net0: virtio=<MAC>,bridge=vmbr0
numa: 0
ostype: l26
scsi0: DataStore:113/vm-113-disk-0.qcow2,discard=on,size=50G
scsihw: virtio-scsi-pci
smbios1: uuid=<UUID>
sockets: 1
vga: memory=128
vmgenid:<VMGENID>
I've also tried changing the Machine Type to the following different options but it still doesn't boot...
qm set ID -machine pc-q35-3.1
qm set ID -args '-machine type=q35,kernel_irqchip=on'


The VM does boot if I delete the VM conf arguments above and revert the Machine Type back to i440fx?

The following is the similar dmesg output in that case where the VM boots with a i440fx Machine Type - Note there is no "Conflict detected with stolen region" and the "owns=io+mem" rather than "owns=none" here - and the DMC firmware i915/glk_dmc_ver1_04.bin (v1.4) is successfully loaded...

Code:
[    2.309068] i915 0000:00:10.0: GuC: No firmware known for this platform!
[    2.310139] [drm] HuC: No firmware known for this platform!
[    2.313554] checking generic (c0000000 160000) vs hw (800000000 10000000)
[    2.313556] [drm] Replacing VGA console driver
[    2.330027] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    2.330988] [drm] Driver supports precise vblank timestamp query.
[    2.332690] i915 0000:00:10.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0cfc
[    2.332769] hidraw: raw HID events driver (C) Jiri Kosina
[    2.334386] [drm] Failed to find VBIOS tables (VBT)
[    2.337096] i915 0000:00:10.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    2.340530] [drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
[    2.343913] [drm] Applying Increase DDI Disabled quirk
 

n1nj4888

Member
Jan 13, 2019
116
3
18
40
I've tested this on both Coffee Lake (NUC8i5BEH) and Gemini Lake (NUC7PJYH) and both exhibit the same issue - The Ubuntu 18.04.3 LTS VM boots using i440fx Machine Type but fails to boot on both NUCs using either q35 or pc-q35-3.1 Machine Types

I've raised this as a bug at: https://bugzilla.proxmox.com/show_bug.cgi?id=2381
 

n1nj4888

Member
Jan 13, 2019
116
3
18
40
Hi Guys,

Some progress... I've just tried booting two different Ubuntu Server 19.10 VMs with the Intel IGP passed-through, one with q35 machine type and the other with i440fx machine type - Like Ubuntu 18.04.3 LTS, the i440fx seems to work fine but the q35 VM console hangs at the following screen


1571996262725.png

After about 20-30seconds though, I'm able to SSH to the VM (which I wasn't able to do with the Ubuntu 18.04.3 LTS q35 VM) but I still get the i915 conflict detected with stolen region error message and the VM console does not get passed the screen above...

Anything I'm doing wrong with the passthrough here for the q35 VM?

The VMID.conf is as follows;

Code:
agent: 1,fstrim_cloned_disks=1
bios: ovmf
bootdisk: scsi0
cores: 4
efidisk0: DataStore:121/vm-121-disk-1.qcow2,size=128K
hostpci0: 00:02.0
ide2: DataStore:iso/ubuntu-19.10-live-server-amd64.iso,media=cdrom
machine: q35
memory: 8192
name: pve-vm-ubuntu-server-19-10-q35
net0: virtio=<MACADDRESS>,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
parent: Snapshot4
scsi0: DataStore:121/vm-121-disk-0.qcow2,discard=on,size=50G
scsihw: virtio-scsi-pci
smbios1: uuid=<UUID>
sockets: 1
vmgenid: <VMGENID>
And here is some sample output of "drm" messages from dmesg from the VM:

Code:
# dmesg | grep drm
[    1.030376] bochs-drm 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 0: 0xc0000000 -> 0xc0ffffff
[    1.031360] bochs-drm 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 2: 0xc324b000 -> 0xc324bfff
[    1.032361] fb0: switching to bochsdrmfb from EFI VGA
[    1.032869] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console
[    1.032968] [drm] Found bochs VGA, ID 0xb0c5.
[    1.032970] [drm] Framebuffer size 16384 kB @ 0xc0000000, mmio @ 0xc324b000.
[    1.033115] [drm] Initialized bochs-drm 1.0.0 20130925 for 0000:00:01.0 on minor 0
[    1.033640] fbcon: bochs-drmdrmfb (fb0) is primary device
[    1.067067] bochs-drm 0000:00:01.0: fb0: bochs-drmdrmfb frame buffer device
[    1.076418] [drm] Found 128MB of eDRAM
[    1.076746] [drm:i915_gem_init_stolen [i915]] *ERROR* conflict detected with stolen region: [mem 0x7c000000-0x7fffffff]
[    1.104763] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.105276] [drm] Driver supports precise vblank timestamp query.
[    1.128538] [drm:gen9_set_dc_state [i915]] *ERROR* DC state mismatch (0x0 -> 0x2)
[    1.131687] [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    2.234051] [drm] failed to retrieve link info, disabling eDP
[    3.216907] [drm] Initialized i915 1.6.0 20190619 for 0000:06:10.0 on minor 1
[    3.254161] [drm] Cannot find any crtc or sizes
[    3.289569] [drm] Cannot find any crtc or sizes
[    3.327230] [drm] Cannot find any crtc or sizes

Thanks!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE 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 your own in 60 seconds.

Buy now!