Can't get hardware acceleration working with Intel Graphics passthrough on Debian VM

bugsdabunny

New Member
Aug 5, 2021
7
0
1
44
I have a Debian 11 (Bullseye) VM where I have attempted to passthrough the intel GPU according to posts like this https://forum.proxmox.com/threads/guide-intel-intergrated-graphic-passthrough.30451/

It seems to be doing something b/c Proxmox no longer outputs the console to the monitor. However I don't get the Debian VM's console on the monitor either. I don't really care about seeing the Debian VM monitor on the screen but I would like to get it working b/c I run Plex inside the VM and want to get the hardware acceleration working.

Is there an issue with the above forum post's method of blacklisting the GPU from Proxmox perhaps? If I run `vainfo` on Proxmox, I get a list of supported profiles so I know my CPU has the integrated graphics with quicksync ability. It's only on the VM I get an error like:

Code:
sudo vainfo

error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileNone                   :    VAEntrypointVideoProc

I am pretty sure I should be using the iHD driver b/c it works on Proxmox and according to this it should work. Also I tried installing those drivers on Proxmox and it worked.

I found this guide where they have a q35 machine set but when I try switching to that my VM fails to boot.

Code:
lspci | grep VGA
00:02.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:10.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630]


Also here is the output from sudo dmesg | grep drm:

Code:
sudo dmesg | grep drm
[    2.382075] systemd[1]: Starting Load Kernel Module drm...
[    2.408821] systemd[1]: modprobe@drm.service: Succeeded.
[    2.408999] systemd[1]: Finished Load Kernel Module drm.
[    2.734710] bochs-drm 0000:00:02.0: vgaarb: deactivate vga console
[    2.747759] [drm] Found bochs VGA, ID 0xb0c0.
[    2.747761] [drm] Framebuffer size 16384 kB @ 0xf0000000, mmio @ 0xfe470000.
[    2.749399] [drm] Found EDID data blob.
[    2.749607] [drm] Initialized bochs-drm 1.0.0 20130925 for 0000:00:02.0 on minor 0
[    2.750866] fbcon: bochs-drmdrmfb (fb0) is primary device
[    2.894825] bochs-drm 0000:00:02.0: [drm] fb0: bochs-drmdrmfb frame buffer device
[    3.183325] i915 0000:00:10.0: [drm] VT-d active for gfx access
[    3.203854] i915 0000:00:10.0: [drm] Failed to find VBIOS tables (VBT)
[    3.203864] i915 0000:00:10.0: [drm] *ERROR* DC state mismatch (0x0 -> 0x2)
[    3.211384] i915 0000:00:10.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[    3.316901] [drm:wait_panel_status [i915]] *ERROR* PPS state mismatch
[    3.813395] i915 0000:00:10.0: [drm] failed to retrieve link info, disabling eDP
[    4.021119] i915 0000:00:10.0: [drm:add_taint_for_CI [i915]] CI tainted:0x9 by intel_gt_init+0xb4/0x2c0 [i915]
[    4.115560] [drm] Initialized i915 1.6.0 20200917 for 0000:00:10.0 on minor 1
[    4.807633] i915 0000:00:10.0: [drm] Cannot find any crtc or sizes
[    5.488674] i915 0000:00:10.0: [drm] Cannot find any crtc or sizes
[    6.202048] i915 0000:00:10.0: [drm] Cannot find any crtc or sizes

I have Googled many of the errors for hours and I'm at my wit's end. Some of them people say are harmless and I'm not really sure whether there are any problems in dmesg here. It seems people have gotten this to work but I don't know what I'm missing here.

EDIT: Used code format on console output
 
Last edited:
can you post your vm config (qm config ID) and the complete 'dmesg' output ?
 
Here is qm config:

Code:
agent: 1
balloon: 2048
boot: order=scsi0;ide2;net0
cores: 6
cpu: host
hostpci0: 0000:00:02,x-vga=1
ide2: none,media=cdrom
memory: 12288
name: debian
net0: virtio=4E:CC:60:AC:8D:E6,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: vm_storage:100/vm-100-disk-0.qcow2,size=192G
scsihw: virtio-scsi-pci
smbios1: uuid=8a30bc52-bc05-4c0d-a1b2-d68a7af7ae6d
sockets: 1
vmgenid: 7704c934-6d28-4006-9e6c-619f46045f9a

And I have attached the full output of running sudo dmesg. Thanks!
 

Attachments

  • dmesg.log
    46.4 KB · Views: 2
oh i meant also the dmesg from the host
also i'd try to use ovmf, q35 machine type and passing the device through as pci express
 
Sorry for the late reply, I was fighting with this for a long time looking through this documentation and even trying to download a dumped VBIOS to load. None if it worked so I ended up giving up b/c I wasn't getting anywhere. Besides, the only thing I wanted was the hardware acceleration feature which I was able to get with a GVT-g passthrough (not full passthrough). I heard the performance of Intel's GVT-g passthrough wasn't so good but it didn't seem worth it anymore to try to do full passthrough. Performance was ok so far
 

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!