qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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>,
	"Frediano Ziglio" <freddy77@gmail.com>,
	"Dongwon Kim" <dongwon.kim@intel.com>
Subject: [PATCH v1 2/7] ui/spice: Enable gl=on option for non-local or remote clients
Date: Fri, 19 Jan 2024 16:30:08 -0800	[thread overview]
Message-ID: <20240120003013.1829757-3-vivek.kasireddy@intel.com> (raw)
In-Reply-To: <20240120003013.1829757-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: 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 13bfbe4e89..3b9a54685f 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -849,9 +849,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"), DISPLAYGL_MODE_ON, &error_fatal);
         spice_opengl = 1;
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 6eb98a5a5c..384b8508d4 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -29,6 +29,7 @@
 #include "ui/spice-display.h"
 
 bool spice_opengl;
+bool remote_client;
 
 int qemu_spice_rect_is_empty(const QXLRect* r)
 {
-- 
2.39.2



  parent reply	other threads:[~2024-01-20  0:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-20  0:30 [PATCH v1 0/7] ui/spice: Enable gl=on option for non-local or remote clients Vivek Kasireddy
2024-01-20  0:30 ` [PATCH v1 1/7] ui/spice: Add an option for users to provide a preferred codec Vivek Kasireddy
2024-01-22  8:41   ` Marc-André Lureau
2024-01-26  7:41     ` Kasireddy, Vivek
2024-01-20  0:30 ` Vivek Kasireddy [this message]
2024-01-22  8:40   ` [PATCH v1 2/7] ui/spice: Enable gl=on option for non-local or remote clients Marc-André Lureau
2024-01-26  7:38     ` Kasireddy, Vivek
2024-01-20  0:30 ` [PATCH v1 3/7] ui/spice: Submit the gl_draw requests at 60 FPS for " Vivek Kasireddy
2024-01-22  8:40   ` Marc-André Lureau
2024-01-26  7:38     ` Kasireddy, Vivek
2024-01-20  0:30 ` [PATCH v1 4/7] ui/console-gl: Add an option to override a surface's glformat Vivek Kasireddy
2024-01-20  0:30 ` [PATCH v1 5/7] ui/spice: Override the surface's glformat when gl=on is enabled Vivek Kasireddy
2024-01-20  0:30 ` [PATCH v1 6/7] ui/console-gl: Add a helper to create a texture with linear memory layout Vivek Kasireddy
2024-01-20  0:30 ` [PATCH v1 7/7] ui/spice: Create another texture with linear layout when gl=on is enabled Vivek Kasireddy
2024-01-22  8:40   ` Marc-André Lureau
2024-01-26  7:36     ` 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=20240120003013.1829757-3-vivek.kasireddy@intel.com \
    --to=vivek.kasireddy@intel.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).