Hi Marc-André,

> Subject: Re: [PATCH v4 0/7] ui/spice: Enable gl=on option for non-local or
> remote clients
> 
> Hi
> 
> On Thu, May 15, 2025 at 4:49 AM Vivek Kasireddy
> <vivek.kasire...@intel.com <mailto:vivek.kasire...@intel.com> > wrote:
> 
> 
>       To address the limitation that this option is incompatible with
>       remote clients, this patch series adds an option to select a
>       preferred codec and also enable gl=on option for clients that
>       are connected via the network. In other words, with this option
>       enabled (and the below linked Spice series merged), it would be
>       possible to have Qemu share a dmabuf fd with Spice, which would
>       then forward it to a hardware or software based encoder and
>       eventually send the data associated with the fd to a client that
>       could be located on a different machine.
> 
>       Essentially, this patch series provides a hardware accelerated,
>       opensource VDI option for users using Qemu and Spice by leveraging
>       the iGPU/dGPU on the host machine to encode the Guest FB via the
>       Gstreamer framework.
> 
> 
> 
> 
> for v5, please fix the patches to pass scripts/checkpatch.pl
> <http://checkpatch.pl> .
Sure, will do this and include all your suggestions in v5.

Thanks,
Vivek

> 
> 
> 
>       v3 -> v4 (suggestions from Marc-André):
>       - Add a new parameter to make max_refresh_rate configurable
>       - Have surface_gl_create_texture_from_fd() return bool after checking
>         for errors
>       - Remove the check for PIXMAN_r5g6b5() in
> spice_gl_replace_fd_texture()
>       - Report errors in spice_gl_replace_fd_texture() when someting fails
>       - Use glGetError() correctly by adding an additional (dummy) call
>         before checking for actual errors (Dmitry)
>       - Add a new patch to check fd values in egl_dmabuf_export_texture()
>       - Rebase on Qemu master
> 
>       v2 -> v3:
>       - Check for errors after invoking glImportMemoryFdEXT() using
>         glGetError() and report the error to user (Dmitry)
> 
>       v1 -> v2:
>       - Replace the option name preferred-codec with video-codecs (Marc-
> André)
>       - Add a warning when an fd cannot be created from texture (Marc-
> André)
>       - Add a new patch to blit the scanout texture into a linear one to
>         make it work with virgl
>       - Rebased and tested against the latest Spice master
> 
>       Tested with the following Qemu parameters:
>       -device virtio-vga,max_outputs=1,xres=1920,yres=1080,blob=true
>       -spice port=3001,gl=on,disable-ticketing=on,video-
> codecs=gstreamer:h264
> 
>       and remote-viewer --spice-debug spice://x.x.x.x:3001 on the client side.
> 
>       Associated Spice server MR (merged):
>       https://gitlab.freedesktop.org/spice/spice/-/merge_requests/229
> 
>       ---
>       Cc: Gerd Hoffmann <kra...@redhat.com <mailto:kra...@redhat.com>
> >
>       Cc: Marc-André Lureau <marcandre.lur...@redhat.com
> <mailto:marcandre.lur...@redhat.com> >
>       Cc: Dmitry Osipenko <dmitry.osipe...@collabora.com
> <mailto:dmitry.osipe...@collabora.com> >
>       Cc: Frediano Ziglio <fredd...@gmail.com
> <mailto:fredd...@gmail.com> >
>       Cc: Michael Scherle <michael.sche...@rz.uni-freiburg.de
> <mailto:michael.sche...@rz.uni-freiburg.de> >
>       Cc: Dongwon Kim <dongwon....@intel.com
> <mailto:dongwon....@intel.com> >
>       Cc: Alex Bennée <alex.ben...@linaro.org
> <mailto:alex.ben...@linaro.org> >
> 
>       Vivek Kasireddy (7):
>         ui/egl-helpers: Error check the fds in egl_dmabuf_export_texture()
>         ui/spice: Add an option for users to provide a preferred codec
>         ui/spice: Enable gl=on option for non-local or remote clients
>         ui/spice: Add an option to submit gl_draw requests at fixed rate
>         ui/console-gl: Add a helper to create a texture with linear memory
>           layout
>         ui/spice: Create a new texture with linear layout when gl=on is
>           enabled
>         ui/spice: Blit the scanout texture if its memory layout is not linear
> 
>        include/ui/console.h       |   2 +
>        include/ui/spice-display.h |   5 +
>        qemu-options.hx            |  10 ++
>        ui/console-gl.c            |  32 ++++++
>        ui/egl-helpers.c           |   6 ++
>        ui/spice-core.c            |  27 +++++
>        ui/spice-display.c         | 212 ++++++++++++++++++++++++++++++++++-
> --
>        7 files changed, 278 insertions(+), 16 deletions(-)
> 
>       --
>       2.49.0
> 
> 

Reply via email to