Yet another Intel Quick Sync iGPU trouble-thread (but working)

Amadea

New Member
Feb 22, 2021
5
0
1
34
My goal: (pass and) let 1 Windows VM and 1 Ubuntu/Debian VM use my hosts Intel Quick Sync Video at the same time for video encoding/decoding/transcoding. I do not need display output for the VM('s), it would be nice but I like having VGA access to the console better.

Environment (that matters for the thread):
  • CPU: Intel Core i7 10700
  • MB: Gigabyte H470 HD3 [fw: F2] (VT-d enabled in BIOS, no VT-x option found)
  • Proxmox: 6.3-3
After endless threads on forum.proxmox.com, reddit.com and pve.proxmox.com my situation is as follow:
  • Altered and updated grub (nano /etc/default/grub) to GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1".
    Then update-grub, update-initramfs -u -k all, reboot.
  • dmesg | grep -e DMAR -e IOMMU: DMAR: IOMMU enabled
  • Added (nano /etc/modules) kernel modules then reboot again:
    Code:
    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
    kvmgt
    #exngt
    vfio-mdev
    Added exngt according to source, but disabled due to error in systemctl status systemd-modules-load.service.
  • ls /sys/bus/pci/devices/0000\:00\:02.0/mdev_supported_types/: i915-GVTg_V5_4 i915-GVTg_V5_8
  • Add i915-GVTg_V5_8 PCI device to Windows 10 VM (with virtio-serial, qemu-ga-x86_64.exe and virtio-win-gt-x64.msi installed, from ISO version 0.1.185)
  • Windows 10 VM automatically recognizes the PCI device and installs the Intel UHD Graphics 630
  • The iGPU shows up in Task Manager and using Handbrake to transcode a H.264 or H.265 video with Intel Quick Sync actually works! :D
So why am I writing?
I am still stuck with some issues, some bigger than the other:
  1. When I reboot the Windows 10 VM from itself (Start > Power > Reboot), no problem.
    When I shutdown the Windows 10 VM from itself (Start > Power > Shutdown), and I then start the Windows 10 VM from the Proxmox GUI: I get a BSOD in the VM regarding VIDEO_TDR_FAILURE and igdkmd64.sys. It then reboots after the BSOD collection and boots fine into a workable Windows with iGPU. This issue seems to only apply to "cold boots".
    So far I've tried:
    • Setting TdrDelay and TdrDdiDelay in (regedit) HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers to a higher value (no effect).
    • Setting (same regedit as above) TdrDebugMode to 1 (TDR_DEBUG_MODE_IGNORE_TIMEOUT) (effect: no more auto reboot).
    • I've tried using i440fx, q35, pc-q35-3.1, pc-q35-4.0.1 (no effect).
    • Blacklisting the nouveau driver on the Proxmox host echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf (no effect, VGA console also still works).
  2. Every time the Windows 10 VM is started "cold" I get some nice "error" messages in the VGA console:
    Code:
    gvt: vgpu 1: write invalid HWSP address, reg:xxxx, value:xxxx
    gvt: vgpu 1: fail to emulate MMIO write xxxxxx len 4
    gvt: vgpu(1) Invalid FORCE_NONPRIV write xxxxxx at offset xxxx
    Detected your guest driver doesn't support GVT-g.
    Now vgpu 1 will enter failsafe mode.
    Whenever I restart the Windows 10 VM from itself it only complains about:
    Code:
    gvt: vgpu(1) Invalid FORCE_NONPRIV write xxxxxx at offset xxxx
  3. As soon as the Intel UHD Graphics 630 drivers are installed the alignment with the mouse pointer in noVNC is off on the horizontal-axis. It is accurate to the left side, but drifts further away when going to the right. I have found multiple topics on this matter that mostly point towards the Guest Agent, which is installed. I haven't tried using spice with the iGPU working and I would like to stick to noVNC.

In the end my goal is technically still reached; Intel Quick Sync Video works, at least in the Windows 10 VM. I haven't tried the Ubuntu/Debian VM, but I can't imagine it being more of a ***** than Windows.

However those BSOD's are highly undesirable from "cold boots" and I would like to be able to solve this issue. The pointer alignment is still workable but also undesirable. The error messages in the console are of lesser concern.
 
Last edited:
I was able to solve issue 3 myself. The Intel iGPU (driver) created another monitor besides the display driver for Proxmox and noVNC. For some reason Windows translated the X,Y% coordinates of the pointer on the VNC monitor, to the X,Y% coordinates of both monitors next to each other. I was able to solve the issue by setting the monitors to mirror instead of extend. As far as I can make up now this has no negative implications to my project goals.

For issue 1 and 2 I'm still looking for a solution. Any help is appreciated.
 
Amadea, are you solve your problem with cold boot?

I'm also have the same problem.:(
 

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!