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

Victor Toso victortoso at redhat.com
Thu Jun 22 07:38:26 UTC 2017


Hi,

On Tue, Jun 13, 2017 at 05:18:41AM -0400, Marc-André Lureau wrote:
> > > ----- 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 at redhat.com>
> > > > ---
> > > >  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.

Atm, here, on wayland, both patches (1/2 of this series and the previous
patch from Marc-André) only fix the client mouse mode when the guest
user is signed in. On reboot the mouse will disappear and it'll keep that
way when guest user login.

I recall testing this in the past and it was working just fine and also
another use give a positive feedback on both solutions.

Note sure if that matters but libvirt/qemu here is from
fedora-virt-preview repo.

To be honest, that could simply be a bug in the client/wayland as IIRC
teuf was working in something around this... but I find interesting that
both patches works 100% when the user is logged in.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170622/2f9f876d/attachment-0001.sig>


More information about the Spice-devel mailing list