Difference Between VirtIO GPU and VirGL GPU

Dec 17, 2021
21
2
8
Ohio
I only ask because the documentation says this

"virtio-gl, often named VirGL is a virtual 3D GPU for use inside VMs that can offload workloads to the host GPU without requiring special (expensive) models and drivers and neither binding the host GPU completely, allowing reuse between multiple guests and or the host.",
so it is my belief that these two are the same thing. So why is there an option for VirGL and VirtIO. Is there a difference or what makes one better than the other?
 
Since nobody responded yet, my uneducated take ;).
The virgl option was just recently added in PVE 7.2 [1], with basic support [2].
Virgl is still maturing, and possibly will be replaced by venus [3].
Th pve admin guide is a bit confusing because it doesn´t mention the difference. Also the official QEMU docs seem incomplete.
so it is my belief that these two are the same thing
They are not the same: [4],[5].

To my understanding the virtio: 'VirtIO-GPU' option just implements the standard virtio GPU driver, without opengl host offloading support. Also without needing to install mesa libraries on the host.
And virtio-gl: 'VirGL GPU' implements the virtio gpu driver with on top virgl, adding opengl host offloading, and needing to install mesa libraries as mentioned in the pve admin doc.
VirGL GPU could be faster if your hardware supports opengl, but doesn't necessarily mean better, because virgl needs to mature. So just try them out and see for yourself what fits best.

A technical talk about different gpu virtualisation classes with a video and presentation slides[6].
Presentation start at 8:02:42.

[1] https://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_7.2
[2] https://bugzilla.proxmox.com/show_bug.cgi?id=3849#c11
[3] https://git.proxmox.com/?p=pve-qemu.git;a=commit;h=799cf8c5a32ddb3bbfc742a2868c3b2ee29a4c62
[4] https://git.proxmox.com/?p=qemu-ser...5;hp=a183576e3038f9b06c3a6f23f694693386186591
[5] https://git.proxmox.com/?p=pve-mana...3;hp=a8b93d096697c8dddcd06066c12c9f4381f7017d
[6] https://www.phoronix.com/news/DRM-Native-Contexts-FPS-VM
 
just to be clear to me and maybe help someone else, this Virt* GPU has no relationship with gpu passthrough? I mean, If I want to passthrough the gpu to a vm, I have to use the "adding a pci device" way, or I might select a Virté GPU to have the same effect?
 
Last edited:

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!