From: Vivek Kasireddy <vivek.kasireddy@intel.com>
To: qemu-devel@nongnu.org
Cc: "Vivek Kasireddy" <vivek.kasireddy@intel.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Dmitry Osipenko" <dmitry.osipenko@collabora.com>,
"Frediano Ziglio" <freddy77@gmail.com>,
"Dongwon Kim" <dongwon.kim@intel.com>
Subject: [PATCH v4 3/7] ui/spice: Enable gl=on option for non-local or remote clients
Date: Wed, 14 May 2025 19:45:41 -0700 [thread overview]
Message-ID: <20250515024734.758335-4-vivek.kasireddy@intel.com> (raw)
In-Reply-To: <20250515024734.758335-1-vivek.kasireddy@intel.com>
Newer versions of Spice server should be able to accept dmabuf
fds from Qemu for clients that are connected via the network.
In other words, when this option is enabled, Qemu would share
a dmabuf fd with Spice which would encode and send the data
associated with the fd to a client that could be located on
a different machine.
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Cc: Frediano Ziglio <freddy77@gmail.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
include/ui/spice-display.h | 1 +
ui/spice-core.c | 4 ++++
ui/spice-display.c | 1 +
3 files changed, 6 insertions(+)
diff --git a/include/ui/spice-display.h b/include/ui/spice-display.h
index e1a9b36185..f4922dd74b 100644
--- a/include/ui/spice-display.h
+++ b/include/ui/spice-display.h
@@ -151,6 +151,7 @@ struct SimpleSpiceCursor {
};
extern bool spice_opengl;
+extern bool remote_client;
int qemu_spice_rect_is_empty(const QXLRect* r);
void qemu_spice_rect_union(QXLRect *dest, const QXLRect *r);
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 907b0e9a81..6c3bfe1d0f 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -848,9 +848,13 @@ static void qemu_spice_init(void)
#ifdef HAVE_SPICE_GL
if (qemu_opt_get_bool(opts, "gl", 0)) {
if ((port != 0) || (tls_port != 0)) {
+#if SPICE_SERVER_VERSION >= 0x000f03 /* release 0.15.3 */
+ remote_client = 1;
+#else
error_report("SPICE GL support is local-only for now and "
"incompatible with -spice port/tls-port");
exit(1);
+#endif
}
egl_init(qemu_opt_get(opts, "rendernode"), DISPLAY_GL_MODE_ON, &error_fatal);
spice_opengl = 1;
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 9c39d2c5c8..9140169015 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -31,6 +31,7 @@
#include "standard-headers/drm/drm_fourcc.h"
bool spice_opengl;
+bool remote_client;
int qemu_spice_rect_is_empty(const QXLRect* r)
{
--
2.49.0
next prev parent reply other threads:[~2025-05-15 2:50 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-15 2:45 [PATCH v4 0/7] ui/spice: Enable gl=on option for non-local or remote clients Vivek Kasireddy
2025-05-15 2:45 ` [PATCH v4 1/7] ui/egl-helpers: Error check the fds in egl_dmabuf_export_texture() Vivek Kasireddy
2025-05-15 2:45 ` [PATCH v4 2/7] ui/spice: Add an option for users to provide a preferred codec Vivek Kasireddy
2025-05-15 2:45 ` Vivek Kasireddy [this message]
2025-05-24 14:44 ` [PATCH v4 3/7] ui/spice: Enable gl=on option for non-local or remote clients Marc-André Lureau
2025-05-15 2:45 ` [PATCH v4 4/7] ui/spice: Add an option to submit gl_draw requests at fixed rate Vivek Kasireddy
2025-05-24 14:47 ` Marc-André Lureau
2025-05-24 14:57 ` Marc-André Lureau
2025-05-27 4:22 ` Kasireddy, Vivek
2025-05-15 2:45 ` [PATCH v4 5/7] ui/console-gl: Add a helper to create a texture with linear memory layout Vivek Kasireddy
2025-05-25 2:44 ` Dmitry Osipenko
2025-05-26 13:06 ` Michael Scherle
2025-05-26 15:16 ` Michael Scherle
2025-05-27 4:20 ` Kasireddy, Vivek
2025-05-27 13:45 ` Michael Scherle
2025-05-15 2:45 ` [PATCH v4 6/7] ui/spice: Create a new texture with linear layout when gl=on is enabled Vivek Kasireddy
2025-05-15 2:45 ` [PATCH v4 7/7] ui/spice: Blit the scanout texture if its memory layout is not linear Vivek Kasireddy
2025-05-24 14:43 ` [PATCH v4 0/7] ui/spice: Enable gl=on option for non-local or remote clients Marc-André Lureau
2025-05-27 4:18 ` Kasireddy, Vivek
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=20250515024734.758335-4-vivek.kasireddy@intel.com \
--to=vivek.kasireddy@intel.com \
--cc=dmitry.osipenko@collabora.com \
--cc=dongwon.kim@intel.com \
--cc=freddy77@gmail.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).