[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 2/7] ui/spice: Enable gl=on option for non-local or remote cli
|
From: |
Vivek Kasireddy |
|
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 |
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
- [PATCH v1 0/7] ui/spice: Enable gl=on option for non-local or remote clients, Vivek Kasireddy, 2024/01/19
- [PATCH v1 1/7] ui/spice: Add an option for users to provide a preferred codec, Vivek Kasireddy, 2024/01/19
- [PATCH v1 4/7] ui/console-gl: Add an option to override a surface's glformat, Vivek Kasireddy, 2024/01/19
- [PATCH v1 5/7] ui/spice: Override the surface's glformat when gl=on is enabled, Vivek Kasireddy, 2024/01/19
- [PATCH v1 6/7] ui/console-gl: Add a helper to create a texture with linear memory layout, Vivek Kasireddy, 2024/01/19
- [PATCH v1 2/7] ui/spice: Enable gl=on option for non-local or remote clients,
Vivek Kasireddy <=
- [PATCH v1 3/7] ui/spice: Submit the gl_draw requests at 60 FPS for remote clients, Vivek Kasireddy, 2024/01/19
- [PATCH v1 7/7] ui/spice: Create another texture with linear layout when gl=on is enabled, Vivek Kasireddy, 2024/01/19