tl;dr pve-qemu-kvm source package needs to add
libgbm-dev to
Build-Depends as well as
libgl1-mesa-glx to
Recommends and then add an option to select
virtgl-vga-gl from the drop-down menu
To get egl-headless compiled-in I found that libgbm is needed, but it was not included in debian/control and it is checked via pkg-config - if it ever worked for somebody before I assume the build environment had gbm dev installed for some reason (I am using sbuild-qemu so I always get a clean build environment).
Adding
libgbm-dev
to
debian/control
Build-Depends
fixed that part and now egl-headless shows up
Code:
$ qemu-system-x86_64 -display ?
Available display backend types:
none
egl-headless
spice-app
Still, to get a VM started I had to install
libgl1-mesa-glx
, so this needs to be added to pve-qemu package as
Recommends
or
Suggests
.
virgl is somewhat enabled on the guest:
Code:
$ dmesg | grep -i virgl
[ 1.855512] [drm] features: +virgl +edid -resource_blob -host_visible
Unfortunately
vlxgears/vlxinfo
still use the default display device as Proxmox always adds it's own display, it gets used first. To workaround that I hacked
/usr/share/perl5/PVE/QemuServer.pm
to use
virtgl-vga-gl in place of
vmware. With
args: -display egl-headless,gl=core
and after restarting pvedaemon.service I was finally able to use the host virgl - got about 3-5x speed improvement for a 5700G CPU+iGPU compared to the default virtio-vga or qxl drivers.
cheers!