For anyone searching for this, yes GVT-d is possible on 12th gen Alder Lake.
I have it running now twice, I say this as it proved quite a challange to get it working twice on the same exact hardware.
The reason I am writing this down is two fold:
- help others From knocking on heaven's door
- get some feedback why it works in this convoluted way and not directly
Step 0, make sure your host is in a pristine condition, no blacklists, no kernel arguments, etc...
Step 1, create vm, uefi, q35, assign the gpu as pci express from gui, keep vga as standard, do everything via html console of proxmox.
Step 2, install os, update, reboot a couple of times because windows - install the iGPU drivers - latest intel site
(At this point your gpu should look fine in windows device manager yet not output anything - that's fine)
Step 3, switch the machine type from q35 to pc-i440fx-8.0, move the gpu to pci and set it as primary
Step 4, passthrough the sound adapter
Step 5, assign roms to both cards, and add args to vm conf form here https://github.com/gangqizai/igd
Step 6, boot and reinstall the drivers (same drivers, yes), restart a few times for good measure
(at this point output may be giberish but it's there)
Step 7, swap the rom for the GPU with the older variant http://120.25.59.132:3000/vbios_gvt_uefi.rom while keeping the gop from gangqizai.
Step 8 - reboot the host machine
Step 9 - start the quest
(output is giberish)
Step 10 - restart/reboot/poweroff the guest (dose not matter how)
Step 11 - see the windows logon screen on the HDMI output
Now my question to anyone who is wiser than me - what is the reasoning behind drivers installing correctly in PCI-e, yet working only in PCI
ProTIP if you don't like the idea of restarting the VM on a cold host boot, to fix giberish output, CRU restart64.exe does wonders, I have it setup at startup with autologin.
P.S. 1 Before telling me to blacklist X, vfio Y etc... please note that I have done all possible permutations to determine root cause, only thing that sticks is PCI vs PCIe and driver installations the rest are moot for kernel 6.8.12-2 on pve 8.2.0
P.S. 2 Also I have fiddled with running a "pre vm" virtual machine to Triger the hardware in a meaningful way, the only thing that actually works is restarting GPU drivers within windows.
P.S. 3 Have not tried linux as a guest as it was not my interest point
I have it running now twice, I say this as it proved quite a challange to get it working twice on the same exact hardware.
The reason I am writing this down is two fold:
- help others From knocking on heaven's door
- get some feedback why it works in this convoluted way and not directly
Step 0, make sure your host is in a pristine condition, no blacklists, no kernel arguments, etc...
Step 1, create vm, uefi, q35, assign the gpu as pci express from gui, keep vga as standard, do everything via html console of proxmox.
Step 2, install os, update, reboot a couple of times because windows - install the iGPU drivers - latest intel site
(At this point your gpu should look fine in windows device manager yet not output anything - that's fine)
Step 3, switch the machine type from q35 to pc-i440fx-8.0, move the gpu to pci and set it as primary
Step 4, passthrough the sound adapter
Step 5, assign roms to both cards, and add args to vm conf form here https://github.com/gangqizai/igd
Step 6, boot and reinstall the drivers (same drivers, yes), restart a few times for good measure
(at this point output may be giberish but it's there)
Step 7, swap the rom for the GPU with the older variant http://120.25.59.132:3000/vbios_gvt_uefi.rom while keeping the gop from gangqizai.
Step 8 - reboot the host machine
Step 9 - start the quest
(output is giberish)
Step 10 - restart/reboot/poweroff the guest (dose not matter how)
Step 11 - see the windows logon screen on the HDMI output
Now my question to anyone who is wiser than me - what is the reasoning behind drivers installing correctly in PCI-e, yet working only in PCI
ProTIP if you don't like the idea of restarting the VM on a cold host boot, to fix giberish output, CRU restart64.exe does wonders, I have it setup at startup with autologin.
P.S. 1 Before telling me to blacklist X, vfio Y etc... please note that I have done all possible permutations to determine root cause, only thing that sticks is PCI vs PCIe and driver installations the rest are moot for kernel 6.8.12-2 on pve 8.2.0
P.S. 2 Also I have fiddled with running a "pre vm" virtual machine to Triger the hardware in a meaningful way, the only thing that actually works is restarting GPU drivers within windows.
P.S. 3 Have not tried linux as a guest as it was not my interest point
Last edited: