VirGL GPU (virtio-gl) with SPICE client

SundayDIY

Member
Nov 13, 2023
3
1
8
Am I supposed to be able to use the remote SPICE viewer client to connect to a Proxmox VM that uses the VirGL GPU (virtio-gl) GPU?

The VM is running fine. Acceleration works fine, powered by the iGPU. SPICE seems to be the default console selected by Proxmox. But when I try to open the console, nothing happens (other than the .vv file getting deleted). noVNC console works.

In case it makes a difference, the VM is running Kubuntu 24.04 and has qemu-guest-agent installed and running. It's machine type q35, UEFI, and is using whatever the latest version of QEMU is part of the Proxmox version that I'm running (see below).

Code:
proxmox-ve: 9.1.0 (running kernel: 6.17.4-2-pve)
pve-manager: 9.1.4 (running version: 9.1.4/5ac30304265fbd8e)
proxmox-kernel-helper: 9.0.4
proxmox-kernel-6.17.4-2-pve-signed: 6.17.4-2
proxmox-kernel-6.17: 6.17.4-2
ceph-fuse: 19.2.3-pve1
corosync: 3.1.9-pve2
criu: 4.1.1-1
frr-pythontools: 10.4.1-1+pve1
ifupdown: not correctly installed
ifupdown2: 3.3.0-1+pmx11
intel-microcode: 3.20251111.1~deb13u1
libjs-extjs: 7.0.0-5
libproxmox-acme-perl: 1.7.0
libproxmox-backup-qemu0: 2.0.1
libproxmox-rs-perl: 0.4.1
libpve-access-control: 9.0.5
libpve-apiclient-perl: 3.4.2
libpve-cluster-api-perl: 9.0.7
libpve-cluster-perl: 9.0.7
libpve-common-perl: 9.1.4
libpve-guest-common-perl: 6.0.2
libpve-http-server-perl: 6.0.5
libpve-network-perl: 1.2.4
libpve-rs-perl: 0.11.4
libpve-storage-perl: 9.1.0
libspice-server1: 0.15.2-1+b1
lvm2: 2.03.31-2+pmx1
lxc-pve: 6.0.5-3
lxcfs: 6.0.4-pve1
novnc-pve: 1.6.0-3
proxmox-backup-client: 4.1.1-1
proxmox-backup-file-restore: 4.1.1-1
proxmox-backup-restore-image: 1.0.0
proxmox-firewall: 1.2.1
proxmox-kernel-helper: 9.0.4
proxmox-mail-forward: 1.0.2
proxmox-mini-journalreader: 1.6
proxmox-offline-mirror-helper: 0.7.3
proxmox-widget-toolkit: 5.1.5
pve-cluster: 9.0.7
pve-container: 6.0.18
pve-docs: 9.1.2
pve-edk2-firmware: not correctly installed
pve-esxi-import-tools: 1.0.1
pve-firewall: 6.0.4
pve-firmware: 3.17-2
pve-ha-manager: 5.1.0
pve-i18n: 3.6.6
pve-qemu-kvm: 10.1.2-5
pve-xtermjs: 5.5.0-3
qemu-server: 9.1.3
smartmontools: 7.4-pve1
spiceterm: 3.4.1
swtpm: 0.8.0+pve3
vncterm: 1.9.1
zfsutils-linux: 2.3.4-pve1

Would appreciate a definitive answer on this because I tried to google it and found conflicting reports. A lot of info from years ago. Thanks in advance :)

UPDATE (Feb 9, 2026): This only happened in the live OS running off an ISO. After several minutes I received a bunch of popups from virt viewer telling me there had been an error connecting. Later the same day, and after actually installing Kubuntu, SPICE client started working. I booted into a live ISO again to see if the earlier behaviour/issue could be reproduced, but SPICE connected fine on the first attempt. Right now I can't reproduce the issue. Not sure where to go from here. Is there anything I can look for in the logs to see what happened when it didn't work?
 
Last edited:
Am I supposed to be able to use the remote SPICE viewer client to connect to a Proxmox VM that uses the VirGL GPU (virtio-gl) GPU?
Yes.

I am used to use "Virtio-GPU" with Spice. Now I switched a Windows 11 VM to "VirGL GPU" - just for this test. Works the same. For me, in my environment. I do not see/feel any subjective difference and I won't bother to run performance tests.
 
  • Like
Reactions: leesteken
Yes.

I am used to use "Virtio-GPU" with Spice. Now I switched a Windows 11 VM to "VirGL GPU" - just for this test. Works the same. For me, in my environment. I do not see/feel any subjective difference and I won't bother to run performance tests.
Thank you for the confirmation.

My understanding is that GL acceleration via virgl is not supported by Windows guests. Did I misunderstand?

On the Linux guest, I did get GL acceleration working, though I didn't compare its performance to software rendering. However, the screen tearing for general desktop tasks was brutal, at least with SPICE.

I was initially thinking of actually using VirGL for my Jellyfin VM to offload ffpmeg tasks. But after some research it appears that the necessary functions are not compiled in by default for ffmpeg to take advantage of hardware acceleration this way, and I don't want to start compiling core Proxmox components from source.
 
My understanding is that GL acceleration via virgl is not supported by Windows guests. Did I misunderstand?
Sorry, I do not know that. My normal Desktop works with Spice+"VirGL GPU" - and that was your initial question in #1 ;-)