Only getting limited success trying to passthrough Intel UHD 620 graphics

NoBloodyABCorD

New Member
May 23, 2020
3
0
1
34
I've recently gotten a ThinkCentre m90n-IoT and I figured it would be fun to throw proxmox on it and use it as a portable lab / testbench device, one thing I really wanted to get working was GPU passthrough of the Intel UHD 620 so that way it could also be plugged into a monitor and used as a "desktop" if needed with a few VMs. Here has been my experience thus far:

I originally started with 6.3 but the graphics card would not output a picture when set to a windows 10 or a debian 10 vm so I went back and started again with the 6.2-1 installer as I haven't upgraded my own server to 6.3 yet so I figured I'd start there and see if I could get any success.

After installation I ran "lspci -nnk | grep "VGA\|Audio""
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 (Whiskey Lake) [8086:3ea0] (rev 02)
00:1f.3 Audio device [0403]: Intel Corporation Cannon Point-LP High Definition Audio Controller [8086:9dc8] (rev 30)
Subsystem: Lenovo Cannon Point-LP High Definition Audio Controller [17aa:314d]

Edited /etc/modules-load.d/vfio.conf
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Edited /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:3ea0,8086:9dc8

Ran "update-initramfs -u -k all" then edited grub
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
....

Ran "update-grub" and rebooted. Set up a Windows 10 VM
bios: ovmf
bootdisk: ide0
cores: 2
cpu: host
efidisk0: local-lvm:vm-100-disk-1,size=4M
hostpci0: 00:02,pcie=1
hostpci1: 00:1f,pcie=1
ide0: local-lvm:vm-100-disk-0,size=32G
ide2: local:iso/Windows10.iso,media=cdrom
machine: q35
memory: 2048
name: fuhs
net0: e1000=62:EE:DC:D5:CD:A1,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=c3e369c5-40d8-4058-b8b8-0d63fb9943a7
sockets: 1
vmgenid: 68796aa6-cd03-4657-8d7b-f919593a180e
After a successful install, I enabled RDP, shut down and changed the config
bios: ovmf
bootdisk: ide0
cores: 2
cpu: host
efidisk0: local-lvm:vm-100-disk-1,size=4M
hostpci0: 00:02,pcie=1,x-vga=1
hostpci1: 00:1f,pcie=1
ide0: local-lvm:vm-100-disk-0,size=32G
ide2: local:iso/Windows10.iso,media=cdrom
machine: q35
memory: 2048
name: fuhs
net0: e1000=62:EE:DC:D5:CD:A1,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=c3e369c5-40d8-4058-b8b8-0d63fb9943a7
sockets: 1
vga: none
vmgenid: 68796aa6-cd03-4657-8d7b-f919593a180e

Upon starting the screen goes black, followed shortly by a "no signal". I can RDP in just fine, ran all updates and no errors with the graphics card shows up.

WindowsDeviceManager.PNG

I decide to then update proxmox (apt update and upgrade) and reboot, no change. I set up a debian VM to see if there's any difference there, initially I use a VirtIO-GPU to run the install, then I set the graphics card as the primary gpu and remove the VirtIO-GPU.

bios: ovmf
bootdisk: scsi0
cores: 2
cpu: host
efidisk0: local-lvm:vm-101-disk-1,size=4M
hostpci0: 00:02,pcie=1,x-vga=1
hostpci1: 00:1f,pcie=1
ide2: none,media=cdrom
machine: q35
memory: 2048
name: roh
net0: virtio=BA:CF:13:30:30:E0,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-101-disk-0,size=32G
scsihw: virtio-scsi-pci
smbios1: uuid=d5ee8914-c6b3-45b3-9170-569e3188e03a
sockets: 1
vga: none
vmgenid: 60901ad3-c34c-41d6-aea1-009e64398986

I don't get a black screen, but a grid-like glitch pattern
20210107-114121.jpg

I grabbed the xorg (https://pastebin.com/0N9WMsHm) and the syslog (https://pastebin.com/k1U3tVDi) , but I'm a little out of my element here.

I went ahead and upgraded to 6.3 and no changes in either VM.. Does anyone have any tips I can try? Thank you!
 
I've also since created /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915

and /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1

But no noticeable difference. So for some variety I try a windows install using SeaBios instead of ovmf on an i440fx machine. No difference. I also try SeaBios and q35 to no difference.

lspci -nnk for reference
 
Based on another guide I tried the following

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:eek:ff,efifb:eek:ff"

/etc/modprobe.d/iommu_unsafe_interrupts.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1

/etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:3ea0,8086:9dc8 disable_vga=1

/etc/pve/qemu-server/100.conf
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'

No noticeable changes
 
I've all so tried everything with a Intel UHD 630 graphics

Via RDP everything is fine 3D acceleration is working!

every try to use the build in HDMI / DVI / VGA ports results in a black screen...
even disabling the audio in the bios dose not help

any news ?
 
I've all so tried everything with a Intel UHD 630 graphics

Via RDP everything is fine 3D acceleration is working!

every try to use the build in HDMI / DVI / VGA ports results in a black screen...
even disabling the audio in the bios dose not help

any news ?
That has also been my experience with Intel UHD 630 (on a Lenovo ThinkCentre 920x) as well. I can RDP into Win10 guest, and have acceleration, but there's no video out via the HDMI port (aka black screen).

I also had that exact "grid-like glitch pattern" as described by @NoBloodyABCorD on spinning up a few Linux guests. What worked for me, at least on Linux, was to change the machine type from Q35 to i440fx. After setting the machine type to i440fx, I can see the video getting output on the screen.
 
I've started a new try...

PVE 7.0-10 Intel-UHD630 i9-10900
only added intel_iommu=on and iommu=pt to grubcmdline


OVMF q35 latest Ubuntu 20.04
installed quemu-guest-agent
added PCI-Device via GUI
selected GPU ticked all boxes
-> WORKS OUT OF THE BOX !!! 4k Display Output from the VM to my monitor from the Motherboard HDMI


OVMF q35 6.0 Windows 10
installed quemu-guest-agent
added PCI-Device via GUI
selected GPU ticked all boxes
installed UHD630 driver via windows updates
-> GPU acceleration works via RDP no output to Monitor....


At least now I know it is possible and not a Hardware restriction, seems to be again a windows problem =D ...

Thanks @taichi never tried it with a Linux VM!!
I also can see that exact "grid-like glitch pattern" for some brief milliseconds when the display switches over from the PVE host to the VM output.
 
I've started a new try...

PVE 7.0-10 Intel-UHD630 i9-10900
only added intel_iommu=on and iommu=pt to grubcmdline


OVMF q35 latest Ubuntu 20.04
installed quemu-guest-agent
added PCI-Device via GUI
selected GPU ticked all boxes
-> WORKS OUT OF THE BOX !!! 4k Display Output from the VM to my monitor from the Motherboard HDMI


OVMF q35 6.0 Windows 10
installed quemu-guest-agent
added PCI-Device via GUI
selected GPU ticked all boxes
installed UHD630 driver via windows updates
-> GPU acceleration works via RDP no output to Monitor....


At least now I know it is possible and not a Hardware restriction, seems to be again a windows problem =D ...

Thanks @taichi never tried it with a Linux VM!!
I also can see that exact "grid-like glitch pattern" for some brief milliseconds when the display switches over from the PVE host to the VM output.
Hi,

Did you ever solve this as I am experiencing the same issue.

Thanks
 

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!