[Spice-devel] [PATCH] Adding new ioctl for updating Vdagent state

Frediano Ziglio fziglio at redhat.com
Tue Aug 9 16:42:57 UTC 2016


The code is fine but the rationale lacks a bit. 
On Linux there is no such feature but not the bug so if your rationale is this is needed to fix a bug I don't understand why. 
Also the rationale assume the server or client pointer is all dependent on vdagent existence which seems not true. 
I was looking at Sandy (should download last WDDM) code and seems that EnablePointer is used in 3 cases 
- to reply cursor support (which is wrong, driver support cursor either way); 
- to avoid sending cursor shape changes (which seems not that fine); 
- to avoid sending cursor movements (which reduces guest -> server dialog for sure and perhaps server -> client if server propagate always). 

Frediano 

> Hi,

> What do you think that needs to be done?
> The patches should be applied?
> The interface of the device should be extended to support broadcasting the
> mouse mode to the driver? ( I think would require to modify the spice
> protocol )
> The interface of spice-gtk should be extended to support broadcasting the
> mouse mode to vdagent?

> On Mon, Aug 8, 2016 at 8:08 PM, Frediano Ziglio < fziglio at redhat.com > wrote:

> > > On Mon, Aug 8, 2016 at 6:47 PM, Frediano Ziglio < fziglio at redhat.com >
> > > wrote:
> > 
> 

> > > > > An optimal solution to this would be that the driver knows somehow
> > > > > when
> > > 
> > 
> 
> > > > > we are in a server mode and when we are in a client mode. However
> > > > > this
> > > 
> > 
> 
> > > > > information isn't available in the driver nor in the vdagent.
> > > 
> > 
> 

> > > > Could you explain why an optimal solution require this knowledge?
> > > 
> > 
> 
> > > > Also "However this information isn't available in the driver nor in the
> > > > vdagent."
> > > 
> > 
> 
> > > > does not make sense to me. The vdagent is sending this information to
> > > > the
> > > 
> > 
> 
> > > > driver so this information is available in vdagent.
> > > 
> > 
> 

> > > The current information the driver is getting is about Vdagent state
> > > (running/off), When
> > 
> 
> > > Vdagent is running then the client mouse should be enabled and when
> > > Vdagent
> > > is off
> > 
> 
> > > server mouse should be enabled. This is true for the typical use case of
> > > Vdagent.
> > 
> 
> > > But this isn't exactly true all of the time, for example when running
> > > Spicy
> > > along with Vdagent on
> > 
> 
> > > and we send a command to change the mouse mode to server mode we get that
> > > Vdagent state is on
> > 
> 
> > > and the mouse in server mode.
> > 
> 

> > Now I got it.
> 

> > So currently the driver bases it's behavior on vdagent existence but this
> > is
> > not correct
> 
> > as there are cases where agent is present but you want to used server
> > mouse.
> 

> > Looking at the rationale:
> 

> > "A new ioctl for updating the driver with vdagent running state.
> 
> > This patch adds new ioctl operation to Vdagent in order to update
> 
> > the driver on Vdagent state. This allows the driver to know
> 
> > when Vdagent is running and when it is off.
> 

> > Spice supports two mouse modes: server and client. The server mouse
> 
> > mode pointer should be enabled when vdagent is off and the client
> 
> > mouse mode should be enabled when it is on. The mouse mode
> 
> > is updated by the driver and thus this patch is needed."
> 

> > I still have a doubt. Is not the service (vdagentd in Linux) that speak
> 
> > to the driver? Potentially there are multiple agents, one for login.
> 

> > Also if you can tell client to use server mode in this case you
> 
> > end up having the agent running but server mode which
> 
> > seems wrong from your rationale.
> 

> > Also "adds new ioctl operation to Vdagent" the ioctl is implemented
> 
> > in the driver so I would say "adds new ioctl operation to the driver in
> 
> > order to allow Vdagent to communicate its state to the driver".
> 

> > Frediano
> 

> > > > Frediano
> > > 
> > 
> 

> > > > > On Mon, Aug 8, 2016 at 6:33 PM, Christophe Fergeau <
> > > > > cfergeau at redhat.com
> > > > > >
> > > 
> > 
> 
> > > > > wrote:
> > > 
> > 
> 

> > > > > > On Mon, Aug 08, 2016 at 06:19:41PM +0300, Sameeh Jubran wrote:
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > > >
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > > This patch enables the driver to send move commands to the QXL
> > > > > > > device
> > > 
> > 
> 
> > > > > > > when
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > > vdagent is off.
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > > This maybe the reason you are not getting any move commands.
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 

> > > > > > But don't we have exactly the same issue with a fedora guest or a
> > > > > > win7-
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > guest? I've observed the same with a Fedora guest at least.
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > Also I don't think there is a strict equivalence between vdagent is
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > running and mouse is in server mode, so if we were to change this
> > > > > > at
> > > > > > the
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 
> > > > > > agent level, are we going to fix all cases?
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 

> > > > > > Christophe
> > > 
> > 
> 
> > > > >
> > > 
> > 
> 

> > > > > --
> > > 
> > 
> 
> > > > > Respectfully,
> > > 
> > 
> 
> > > > > Sameeh Jubran
> > > 
> > 
> 
> > > > > Linkedin
> > > 
> > 
> 
> > > > > Junior Software Engineer @ Daynix .
> > > 
> > 
> 

> > > > > _______________________________________________
> > > 
> > 
> 
> > > > > Spice-devel mailing list
> > > 
> > 
> 
> > > > > Spice-devel at lists.freedesktop.org
> > > 
> > 
> 
> > > > > https://lists.freedesktop.org/mailman/listinfo/spice-devel
> > > 
> > 
> 

> > > --
> > 
> 
> > > Respectfully,
> > 
> 
> > > Sameeh Jubran
> > 
> 
> > > Linkedin
> > 
> 
> > > Junior Software Engineer @ Daynix .
> > 
> 

> --
> Respectfully,
> Sameeh Jubran
> Linkedin
> Junior Software Engineer @ Daynix .
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160809/dfc1169e/attachment.html>


More information about the Spice-devel mailing list