virglrenderer for 3d support

Could you please summarize what is working right now and how it works? Does Proxmox automatically start the virglrenderer in background and does the VirGL GPU access that renderer in Proxmox VMs? Do we have VirGL 3D drivers for Windows Guests yet?
Edit: But as it seems there is still no GPU accelerated driver for Windows, right?
 
Last edited:
Basically.

We'll look into this, but newer QEMU and also supporting graphical library packages might be required, so I'd not hold my breath for a very quick update to this. In the worst case, it might not be realistic to upgrade those without wide breakage in the ecosystem, so it might then even need a new Debian release cycle (due mid 2025). I'm not expecting that just yet, but I want to manage expectations here.
Hi @t.lamprecht there're quite recent HowTos on how to get Virtio-GPU Venus up and running. Maybe that helps for proxmox to implement this in the next release?
 
  • Like
Reactions: SInisterPisces
Hi @t.lamprecht,

i just found a very recent information / GitHub repo that will include all the patches that are needed to get Virtio-GPU Venus up and running:
In addtition, please check out the corresponding Reddit discussion for background information (it's a topic about a game because this is used as a showcase):
The required patches are not upstream yet. Maybe your devs could take a look into that and either build PVE against the patches for the upcoming release or maybe even help getting those upstream. Thanks for your attention. :)
 
Hi @t.lamprecht,

i just found a very recent information / GitHub repo that will include all the patches that are needed to get Virtio-GPU Venus up and running:
In addtition, please check out the corresponding Reddit discussion for background information (it's a topic about a game because this is used as a showcase):
The required patches are not upstream yet. Maybe your devs could take a look into that and either build PVE against the patches for the upcoming release or maybe even help getting those upstream. Thanks for your attention. :)

I would love to see Venus in PVE. The existing VirtIO-GL works, but it's not performant enough on, e.g., Intel iGPUs, to support, e.g., low latency audio in a VM using Pulse Audio. Combining VirtIO GL with hardware accelerated (H.264) xrdp from the experimental repo is almost there on a i5-12500T's iHD 770, but not fast enough yet.

If Venus is that much of a performance improvement, it might push GPU-accelerated remote desktops with sound into the usuable realm without real GPU passthrough. :)

That said, while I can't speak for the PVE devs, I imagine this is not yet high on their list of features invest time in to release. It will be non-trivial in any case, and likely won't be considered stable enough to try to implement at least until the relevant patches are upstreamed.

I'm really excited to see how this goes, though. I've been hoping we get Venus support for a while now.
 
I would love to see Venus in PVE. The existing VirtIO-GL works, but it's not performant enough on, e.g., Intel iGPUs, to support, e.g., low latency audio in a VM using Pulse Audio. Combining VirtIO GL with hardware accelerated (H.264) xrdp from the experimental repo is almost there on a i5-12500T's iHD 770, but not fast enough yet.

If Venus is that much of a performance improvement, it might push GPU-accelerated remote desktops with sound into the usuable realm without real GPU passthrough. :)

That said, while I can't speak for the PVE devs, I imagine this is not yet high on their list of features invest time in to release. It will be non-trivial in any case, and likely won't be considered stable enough to try to implement at least until the relevant patches are upstreamed.

I'm really excited to see how this goes, though. I've been hoping we get Venus support for a while now.
Well, unfortunately PVE 8.2 does not support it. But it looks like Proxmox followed my suggestions in helping upstream with the needed stacks. They have an open position in that field now. ;)

https://www.proxmox.com/de/ueber-uns/karriere
 
  • Like
Reactions: SInisterPisces
So, regarding OpenGL support: If I use PCI-forwarding for an NVIDIA GPU, will it be OpenGL enabled?

Because I tried creating a Win Server 2k22 VM with an NVIDIA RTX A2000 passed through to it; however I could not get OpenGL to work (not even supporting OpenGL 1.1)

In this thread I saw some discussion about OpenGL support in VMs.
 
News
- https://wiki.qemu.org/ChangeLog/9.2

Graphics
  • virtio-gpu now support venus encapsulation for vulkan (need recent virglrenderer on host and mesa on guest)
@t.lamprecht If you guys could target qemu 9.2 as well as recent enought VirGL renderer (maybe via Debian Backports if needed?) VirtIO GPU Venus could be working with the next release! This would be another unique selling point for Proxmox! Your customers could use accelerated GPU workloads in VMs with consumer graphics on there virtualization nodes!
 
News
- https://wiki.qemu.org/ChangeLog/9.2


@t.lamprecht If you guys could target qemu 9.2 as well as recent enought VirGL renderer (maybe via Debian Backports if needed?) VirtIO GPU Venus could be working with the next release! This would be another unique selling point for Proxmox! Your customers could use accelerated GPU workloads in VMs with consumer graphics on there virtualization nodes!
thanks for mentioning that, we'll look into that for sure once we're evaluating qemu 9.2
 
Note though that newer virglrenderer version seems to need newer mesa related libraries on the host, and with that a simple backport suddenly became a rather huge effort, especially if we want to provide i686 build too, which a lot of mesa users require.

So if I'm not mistaken, which I kinda hope I am, as having this could be indeed really great, I think this is probably more material for the next PVE major release based on future Debian 13 Trixie, which is due sometime around the middle of next year.
 
  • Like
Reactions: cRaZy-bisCuiT
Note though that newer virglrenderer version seems to need newer mesa related libraries on the host, and with that a simple backport suddenly became a rather huge effort, especially if we want to provide i686 build too, which a lot of mesa users require.

So if I'm not mistaken, which I kinda hope I am, as having this could be indeed really great, I think this is probably more material for the next PVE major release based on future Debian 13 Trixie, which is due sometime around the middle of next year.
Thanks for looking into this, either way. :)

It's great to know that Venus might well be usable in Proxmox by mid-2025. iGPU passthrough is one of the most byzantine things I've had to learn while exploring virtualization, and it seems to be a constant marathon to keep it working for certain hardware with every minor kernel update. And on some hardware it doesn't work at all. The latest indications are that Intel won't have the Xe2 driver ready to go for SR-IOV when 6.13 releases, and it's unclear whether it'll hit before 6.14, so the community Intel iGPU DKMS driver and its considerable difficulty curve will still be around for a while.

It'd be awesome if we didn't have to go through all that for VMs that just need GPU-acceleration for otherwise low-resource remote desktop work or non-production transcoding, etc.

I'm looking forward to this. :)
 
Note though that newer virglrenderer version seems to need newer mesa related libraries on the host, and with that a simple backport suddenly became a rather huge effort, especially if we want to provide i686 build too, which a lot of mesa users require.

So if I'm not mistaken, which I kinda hope I am, as having this could be indeed really great, I think this is probably more material for the next PVE major release based on future Debian 13 Trixie, which is due sometime around the middle of next year.
You're most likely right, I guess it would mean use backports for more than just virgl. It looks like it might also make sense to use the newest version of virgl/virglrenderer 1.1.0, since it has still a lot of Venus improvements:
- https://gitlab.freedesktop.org/virgl/virglrenderer/-/releases
Changes since version 1.0.1

Venus:
  • Enable support for new extensions:
    • EXT_attachment_feedback_loop_layout
    • VK_KHR_maintenance5
    • VK_KHR_fragment_shading_rate support
    • VK_EXT_external_memory_acquire_unmodified
    • VK_KHR_format_feature_flags2
  • Fixes and improvements:
    • Fix a prior ring wait seqno validation
    • handle ring fatal error more robustly
    • hide priority request logging behind debug build
    • lock device tracked object list
    • log more on ring fatal
    • only set ring thread prio if requested
    • optimize to avoid locking each encoder write
    • set forwarded nice priority for ring threads
 
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!