[Spice-devel] [Qemu-devel] [PATCH v2 10/12] spice/gl: create dummy primary surface (RfC)
Marc-André Lureau
mlureau at redhat.com
Tue May 24 19:34:24 UTC 2016
Hi
----- Original Message -----
> On Mo, 2016-05-23 at 16:03 +0200, Marc-André Lureau wrote:
> > Hi
> >
> > On Mon, May 23, 2016 at 3:52 PM, Gerd Hoffmann <kraxel at redhat.com> wrote:
> > > Hi,
> > >
> > > Resuming to work on this after 2.6 freeze break ...
> > >
> > >> I have done some more testing and sent a series for spice-gtk fixing
> > >> display with gl scanout-only case. And a minor patch to spice server
> > >> to solve a cursor initialization when there is no canvas.
>
> What is the upstream status of this? Built a bunch of fresh packages
> today, including new spice-server and spice-gtk from master branch. And
> a bunch spice-gtk dependencies, due to soname change. Still not working
> without the dummy primary surface.
spicy from master works for me. However I found an issue with virt-viewer, due to delayed widget realize in this gl-only case, see: https://lists.freedesktop.org/archives/spice-devel/2016-May/029446.html
>
> > >> (process:21117): Spice-CRITICAL **:
> > >> red-qxl.c:900:spice_qxl_gl_draw_async: condition
> > >> `qxl_state->scanout.drm_dma_buf_fd != -1' failed
>
> > I can't really make sense of a call to spice_qxl_gl_draw_async() if
> > there is no scanout backing. So I can imagine the fix is on qemu side.
>
> Indeed. That one should be fixed now.
Thanks
>
> > Do you have an up to date branch for testing?
>
> Pushed fresh branch to the usual work/virgl location.
I found a cursor issue, due to spice worker being idle, and this solves it: What do you think?
commit bae34dde7b229cc87347639ac34d835b80725e1f
Author: Marc-André Lureau <marcandre.lureau at redhat.com>
Date: Tue May 24 20:34:05 2016 +0200
spice: wakeup worker to pick up mouse changes
Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
diff --git a/ui/spice-display.c b/ui/spice-display.c
index 5ed7630..a04432c 100644
--- a/ui/spice-display.c
+++ b/ui/spice-display.c
@@ -766,6 +766,7 @@ static void display_mouse_set(DisplayChangeListener *dcl,
g_free(ssd->ptr_move);
ssd->ptr_move = qemu_spice_create_cursor_update(ssd, NULL, on);
qemu_mutex_unlock(&ssd->lock);
+ qemu_spice_wakeup(ssd);
}
static void display_mouse_define(DisplayChangeListener *dcl,
@@ -784,6 +785,7 @@ static void display_mouse_define(DisplayChangeListener *dcl,
g_free(ssd->ptr_define);
ssd->ptr_define = qemu_spice_create_cursor_update(ssd, c, 0);
qemu_mutex_unlock(&ssd->lock);
+ qemu_spice_wakeup(ssd);
}
static const DisplayChangeListenerOps display_listener_ops = {
More information about the Spice-devel
mailing list