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
 
Hmm. Interesting. What happens when you remove that hostpci0 in the VM settings.
 

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!