Intel Alder Lake i5-12500T/Intel UHD -- Cannot Successfully Pass iGPU to VM with Q35 Machine Type

Sep 1, 2022
218
39
33
40
Hello,

This appears to be essentially the same bug as reported here in 2019 (never assigned): https://bugzilla.proxmox.com/show_bug.cgi?id=2381
It was also discussed here: https://forum.proxmox.com/threads/i...5-conflict-detected-with-stolen-region.57584/

I've got iGPU passthrough working using the latest PVE 8 tutorials, but it won't boot with the q35 machine type, so I can't use PCIe. Since I'm trying to pass through an iGPU, I need PCIe speeds.

I've included my VM config and the lspci output from inside the VM.

Please let me know what additional information would be useful for troubleshooting. This is what I have so far.

I'd really appreciate some help with this. This VM is so close to being usable. :)

1712800882050.png
1712800912539.png
1712801015879.png
 
Followup:

The solution to this was to disable ACPI within the VM options, as per this thread: https://forum.proxmox.com/threads/igpu-passthorugh-pci_hp_register-failed-with-error-16.132429/ (Thanks, @kjkent !).

Note: Make sure you have qemu-guest-tools installed inside the VM and enabled in the VM options. Otherwise the buttons in the Proxmox GUI won't be able to shutdown/restart the VM.
As it is, after shutting down the OS, you might get a black screen because the VM itself is still running. You'll need to manually STOP the VM at that point.

This is still broken for me.
This is what the PCI situation looks like inside my VM now. The Intel iGPU, in IOMMU group 0, appears to be trying to pull in the Intel Audio Device, in IOMMU group 9 ... along with all the other listed piece of real hardware in IOMMU group 9, which includes a lot of the guts of the real machine.

I'm surprised launching the VM doesn't crash the host.

I'm going to have to experiment with the IOMMU grouping fix on the wiki and hope it isolates the sound device from ... everything else in IOMMU group 9.
1712866724197.png
 
Followup:

The solution to this was to disable ACPI within the VM options, as per this thread: https://forum.proxmox.com/threads/igpu-passthorugh-pci_hp_register-failed-with-error-16.132429/ (Thanks, @kjkent !).

Note: Make sure you have qemu-guest-tools installed inside the VM and enabled in the VM options. Otherwise the buttons in the Proxmox GUI won't be able to shutdown/restart the VM.
As it is, after shutting down the OS, you might get a black screen because the VM itself is still running. You'll need to manually STOP the VM at that point.

This is still broken for me.
This is what the PCI situation looks like inside my VM now. The Intel iGPU, in IOMMU group 0, appears to be trying to pull in the Intel Audio Device, in IOMMU group 9 ... along with all the other listed piece of real hardware in IOMMU group 9, which includes a lot of the guts of the real machine.

I'm surprised launching the VM doesn't crash the host.

I'm going to have to experiment with the IOMMU grouping fix on the wiki and hope it isolates the sound device from ... everything else in IOMMU group 9.
View attachment 66225

Hey @SInisterPisces, have you had any luck with separating HD Audio into its own group? I can passthrough iGPU of the 12500T to VM but HDMI is not working, only DisplayPort. I wonder if it's because the audio is not passed through and is somehow required for HDMI to work.
 
  • Like
Reactions: SInisterPisces
Hey @SInisterPisces, have you had any luck with separating HD Audio into its own group? I can passthrough iGPU of the 12500T to VM but HDMI is not working, only DisplayPort. I wonder if it's because the audio is not passed through and is somehow required for HDMI to work.
At least on my machine, I had no luck at all trying to manipulate any of the IOMMU groups using any of the override commands. I suspect that the BIOS on my machine implements just enough for passthrough to work, but not enough for all the overrides and tricks.

What machine are you on?
Are you getting audio out of the DisplayPort? If you are, and it's otherwise working, the easiest solution might be to get a physical DP to HDMI adapter so you can use whatever HDMI output device you have.

The DP device should carry audio and video without needing the HD audio device. I think the HD audio device is for like, the mic and headphone ports on the machine. You shouldn't need it, which in my case was good as I couldn't isolate it to pass it through.

Through some trial and error (that is, tinkering at, for some reason, 2 am), I realized that on my machine, the DP ports were the actual first class connection to the iGPU. There's an HDMI port, but it doesn't seem to have the same sort of automatic, deep connection to the iGPU. I wonder if it's on a daughterboard or something, because it wasn't getting automatically passed through/recognized properly when I tried this.

I got much more stable results using a DP to HDMI adapter.
 
I'm using HP Elite Mini with i5 12500T. I'm able to get it working via DP to HDMI cable, no sound on DP port though, so I'm using an external USB sound card. So it kinda works, the problem is that its not working the same as HDMI cable was working when I ran OS on bare metal. The HDMI connection was sending some data to the TV so it would know when the device is active, when it's sleeping and when it's turning off. But with DP port it's different, my TV can go into a standby state in a middle of watching a movie, probably because it has no idea if something is playing or not.
 
I'm using HP Elite Mini with i5 12500T. I'm able to get it working via DP to HDMI cable, no sound on DP port though, so I'm using an external USB sound card. So it kinda works, the problem is that its not working the same as HDMI cable was working when I ran OS on bare metal. The HDMI connection was sending some data to the TV so it would know when the device is active, when it's sleeping and when it's turning off. But with DP port it's different, my TV can go into a standby state in a middle of watching a movie, probably because it has no idea if something is playing or not.
That's rough. Half-working stuff is often more frustrating than things that don't work at all. I'm guessing your TV is using an HDMI connection?

You shouldn't be having that issue. There's no reason that the DP port shouldn't be able to sense an active input signal (e.g., something playing a movie). You should also be getting sound.

Have you tried switching to a different DP port on the server? And if that doesn't work, on the TV? Not all TV-side HDMI and DP ports have the same settings. Your TV might even have a sleep setting enabled on that port that just turns it off no matter what.

What sort of DP to HDMI cable are you using? This all goes into the weeds because as soon as you start talking about different adapters and different displays it could be a combination of things.
 

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!