Re: [PATCH spice-server 1/2] gl: fix client mouse mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

----- Original Message -----
> > 
> > Hi
> > 
> > ----- Original Message -----
> > > Since 2.8, QEMU now longer creates QXL primary surfaces when using GL.
> > > This change broke client-side mouse mode, because Spice server relies on
> > > primary surface conditions.
> > > 
> > > When GL is enabled, use GL scanout informations.
> > > Mouse mode is always client when GL surfaces are used.
> > > 
> > > This patch and most of the message are based on a patch from
> > > Marc-André Lureau, just moving responsibility from reds to RedQxl.
> > > 
> > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
> > > ---
> > >  server/red-qxl.c | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > > 
> > > diff --git a/server/red-qxl.c b/server/red-qxl.c
> > > index 53f3338..896bb76 100644
> > > --- a/server/red-qxl.c
> > > +++ b/server/red-qxl.c
> > > @@ -883,6 +883,13 @@ void spice_qxl_gl_scanout(QXLInstance *qxl,
> > >      /* FIXME: find a way to coallesce all pending SCANOUTs */
> > >      dispatcher_send_message(qxl_state->dispatcher,
> > >                              RED_WORKER_MESSAGE_GL_SCANOUT, &payload);
> > > +
> > > +    qxl_state->x_res = width;
> > > +    qxl_state->y_res = height;
> > > +    qxl_state->use_hardware_cursor = TRUE;
> > > +    qxl_state->primary_active = TRUE;
> > 
> > Are those values restored when switching back to QXL-2D?
> > 
> > 
> 
> What do you mean? Suspend/resume, reboot or other cases?

Yes, with older qemu version <2.8, or depending on how the server is used, you may switch freely from/to GL/2D etc.

With qemu, this happens before virgl driver is enabled, so across reboots. 

I am worried about mixing the state of GL/QXL with 2D/QXL.
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]