all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>
To: "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>,
	"m.frank@proxmox.com" <m.frank@proxmox.com>
Subject: Re: [PATCH qemu-server v4 1/3] fix #6277: virtio-vga-gl: add OpenGL 4.6 and Vulkan (Venus) support
Date: Mon, 31 Aug 2026 15:29:37 +0000	[thread overview]
Message-ID: <6352f0b2ebb825d1a695fe507abbf97a3c8efc9c.camel@groupe-cyllene.com> (raw)
In-Reply-To: <20260831094605.114396-2-m.frank@proxmox.com>

Hi,
thanks for the patch serie!

I'll rebase my kyber console patches serie over it, as I was adding
venus support

https://lore.proxmox.com/pve-devel/20260826074347.1256659-6-alexandre.derumier@groupe-cyllene.com/T/#u


One question, I didn't need virgl-server to enable venus and get it
work with gpu offloading from my amd gpu.
Maybe is it because I'm using dbus display for output ?

(I really don't known how virgl-server to be honest, dont have read the
doc yet)

Best regards,

Alexandre


Le lundi 31 août 2026 à 11:38 +0200, Markus Frank a écrit :
> Adding the 'blob=on,hostmem=<size>' parameters to the 'virtio-gpu-gl'
> device allows the VM to use OpenGL 4.6. By default virtio-gpu-gl only
> supports up to OpenGL 4.3.
> 
> If Vulkan support is needed, the 'venus=on' parameter is added to the
> 'virtio-gpu-gl' device, in addition to the two parameters required
> for
> OpenGL 4.6.
> 
> The Venus protocol facilitates the translation of Vulkan API calls
> via
> the virglrenderer. To use it, the virgl-server package must be
> installed
> on the host.
> 
> Set the default VirGL memory window to 2048 MiB, as having less could
> lead to instability inside the VM.
> 
> Signed-off-by: Markus Frank <m.frank@proxmox.com>
> ---
> v4:
> * made the description of virgl-features more general
> * added bugzilla number to commit message
> 
>  src/PVE/QemuServer.pm | 36 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 35 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PVE/QemuServer.pm b/src/PVE/QemuServer.pm
> index 63d8c135..65c4a804 100644
> --- a/src/PVE/QemuServer.pm
> +++ b/src/PVE/QemuServer.pm
> @@ -171,6 +171,20 @@ my $vga_fmt = {
>              qw(cirrus qxl qxl2 qxl3 qxl4 none serial0 serial1
> serial2 serial3 std virtio virtio-gl vmware)
>          ],
>      },
> +    'virgl-features' => {
> +        description => 'Enable additional features on VirGL GPU.',
> +        type => 'string',
> +        optional => 1,
> +        enum => ['opengl4.6', 'opengl4.6+vulkan'],
> +    },
> +    'virgl-memory-window' => {
> +        description => 'Set the VirGL host memory window. This
> option allocates'
> +            . ' host memory to act as VRAM in the VM.',
> +        type => 'string',
> +        default => '2048',
> +        optional => 1,
> +        enum => ['512', '1024', '2048', '4096', '8192'],
> +    },
>      memory => {
>          description => "Sets the VGA memory (in MiB). Has no effect
> with serial display.",
>          type => 'integer',
> @@ -1549,6 +1563,23 @@ sub print_vga_device {
>          $pciaddr = print_pci_addr($vgaid, $bridges, $arch);
>      }
>  
> +    my $virgl_param = "";
> +    my $virgl_mode = $vga->{'virgl-features'};
> +    if ($virgl_mode) {
> +        my $virgl_memory_window = $vga->{'virgl-memory-window'}
> +            // $vga_fmt->{'virgl-memory-window'}->{'default'};
> +        $virgl_param = ",hostmem=${virgl_memory_window}M,blob=on";
> +
> +        if ($virgl_mode eq 'opengl4.6+vulkan') {
> +            $virgl_param .= ",venus=on";
> +            log_warn(
> +                "missing virgl render server for Vulkan (Venus)
> support! Please install 'virgl-server'.\n"
> +            ) if !-e "/usr/libexec/virgl_render_server";
> +        }
> +    } elsif ($vga->{'virgl-memory-window'}) {
> +        die "To use a VirGL host memory window, please select a
> compatible VirGL feature set.\n";
> +    }
> +
>      if ($vga->{type} eq 'virtio-gl') {
>          # VirGL renders on the host, so the guest arch is irrelevant
> for the library lookup
>          my $host_arch = get_host_arch();
> @@ -1560,9 +1591,12 @@ sub print_vga_device {
>          die
>              "no DRM render node detected (/dev/dri/renderD*), no
> GPU? - needed for '$vga->{type}' display\n"
>              if !PVE::Tools::dir_glob_regex('/dev/dri/',
> "renderD.*");
> +
> +    } elsif ($virgl_mode) {
> +        die "You need to use virtio-gl to enable OpenGL 4.6 or
> Vulkan support!\n";
>      }
>  
> -    return
> "$type,id=${vgaid}${memory}${max_outputs}${pciaddr}${edidoff}";
> +    return
> "$type,id=${vgaid}${memory}${max_outputs}${pciaddr}${edidoff}${virgl_
> param}";
>  }
>  
>  sub vm_is_volid_owner {

  reply	other threads:[~2026-08-31 15:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-31  9:38 [PATCH qemu-server/pve-manager/docs v4 0/1] add virtio-vga-gl OpenGL 4.6 & Vulkan (venus) support Markus Frank
2026-08-31  9:38 ` [PATCH qemu-server v4 1/3] fix #6277: virtio-vga-gl: add OpenGL 4.6 and Vulkan (Venus) support Markus Frank
2026-08-31 15:29   ` DERUMIER, Alexandre [this message]
2026-08-31 15:43   ` DERUMIER, Alexandre
2026-09-01  6:24     ` Dominik Csapak
2026-09-01 11:28   ` Dominik Csapak
2026-08-31  9:38 ` [PATCH pve-manager v4 2/3] ui: qemu: add VirGl feature selection in DisplayEdit Markus Frank
2026-09-01 11:35   ` Dominik Csapak
2026-08-31  9:38 ` [PATCH docs v4 3/3] VirGL: add info about feature sets with OpenGL4.6 and vulkan Markus Frank
2026-09-01 11:39   ` Dominik Csapak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6352f0b2ebb825d1a695fe507abbf97a3c8efc9c.camel@groupe-cyllene.com \
    --to=alexandre.derumier@groupe-cyllene.com \
    --cc=m.frank@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal