iGPU Pass-through - No console shell with q35 but works fine with i440fx

andrewmooreio

New Member
Jun 2, 2024
6
0
1
Hi all,

I've hit a strange issue, if I pass through the Intel Iris Xe iGPU on my i5-12600H to a VM whilst using q35 machine type, I don't get access to the VMs shell via the console.

When using q35, I see the following errors and a login prompt doesn't appear. No matter what I do, I can't get access to a shell. If I remove the PCI pass-through, I still see the pci_hp_register errors, but the login prompt does appear. SSH access works okay.

1717755651456.png

When using i440fx, the VM boots straight to the shell:
1717755547651.png

Per the manual and general recommendations, q35 is best for PCI(e) pass-through, so I'm curious why I'm facing these issues whilst i440fx works fine?

PVE version: 8.2.2
Kernel: 6.8.4-3-pve
Guest OS: Debian 12
Guest kernel: 6.1.0-21-amd64

Here's the VM config:
Code:
# qm config 101
agent: 1
bios: ovmf
boot: order=scsi0;ide2;net0
cores: 1
cpu: host
efidisk0: local-lvm:vm-101-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02
ide2: none,media=cdrom
machine: q35
memory: 2048
meta: creation-qemu=8.1.5,ctime=1717677596
name: test2
net0: virtio=BC:24:11:FF:04:52,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-101-disk-1,discard=on,iothread=1,size=32G
scsihw: virtio-scsi-single
smbios1: uuid=839dc3ea-ec14-4e32-99a5-b671d7ccdbff
sockets: 1
vmgenid: 3cc80819-3a18-4c17-9208-f3f8a9003ed7

I can just stick with i440fx, but I'd like to understand what the root cause is and hopefully resolve it, more for my education than anything else.

Thanks in advance!
 
I believe if you change CPU type of the VM to x86-64-v2-AES those errors should go away.
 
I believe if you change CPU type of the VM to x86-64-v2-AES those errors should go away.
Thanks for the suggestion, sadly it hasn't worked and has introduced a new `*ERROR* conflict detected with stolen region` error.

1717762825071.png

This is the new VM config:

Code:
# qm config 101
agent: 1
bios: ovmf
boot: order=scsi0;ide2;net0
cores: 1
cpu: x86-64-v2-AES
efidisk0: local-lvm:vm-101-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02
ide2: none,media=cdrom
machine: q35
memory: 2048
meta: creation-qemu=8.1.5,ctime=1717677596
name: test2
net0: virtio=BC:24:11:FF:04:52,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-101-disk-1,discard=on,iothread=1,size=32G
scsihw: virtio-scsi-single
smbios1: uuid=839dc3ea-ec14-4e32-99a5-b671d7ccdbff
sockets: 1
vmgenid: 3cc80819-3a18-4c17-9208-f3f8a9003ed7