From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=59755 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PdOgp-0003Tp-HD for qemu-devel@nongnu.org; Thu, 13 Jan 2011 10:02:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PdOgn-0002Es-Ok for qemu-devel@nongnu.org; Thu, 13 Jan 2011 10:02:15 -0500 Received: from e34.co.us.ibm.com ([32.97.110.152]:33896) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PdOgn-0002Cc-JK for qemu-devel@nongnu.org; Thu, 13 Jan 2011 10:02:13 -0500 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e34.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p0DEotKq004349 for ; Thu, 13 Jan 2011 07:50:55 -0700 Received: from d03av05.boulder.ibm.com (d03av05.boulder.ibm.com [9.17.195.85]) by d03relay04.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p0DF1dOU074220 for ; Thu, 13 Jan 2011 08:01:44 -0700 Received: from d03av05.boulder.ibm.com (loopback [127.0.0.1]) by d03av05.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p0DF1d59018149 for ; Thu, 13 Jan 2011 08:01:39 -0700 Subject: Re: spice vdagent protocol, was Re: [Qemu-devel] KVM call minutes for Jan 11 From: Adam Litke In-Reply-To: <20110111183301.GO4581@playa.tlv.redhat.com> References: <20110111155340.GC25929@x200.localdomain> <20110111183301.GO4581@playa.tlv.redhat.com> Content-Type: text/plain; charset="UTF-8" Date: Thu, 13 Jan 2011 09:01:34 -0600 Message-ID: <1294930894.2197.78.camel@aglitke> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alon Levy Cc: qemu-devel@nongnu.org On Tue, 2011-01-11 at 20:33 +0200, Alon Levy wrote: > > Spice guest agent: > > - virt agent, matahari, spice agent...what is in spice agent? > > - spice char device > > - mouse, copy 'n paste, screen resolution change > > - could be generic (at least input and copy/paste) > > - send protocol details of what is being sent > > - need to look at how difficult it is to split it out from spice > > (how to split out in qemu vs. libspice) > > - goal to converge on common framework > > - more discussion on char device vs. protocol > > - eg. mouse_set breaks if mouse channel is part pv and part spice specific > > - Alon will send link to protocol and try to propose new interfaces > > http://spice-space.org/page/Whiteboard/AgentProtocol > > That's the corrent documentation. Notably the clipboard is a todo there, I'll > try to get that filled in. I'll continue this discussion on a separate thread later. Thanks for sending this out Alon. The use cases you have outlined are very similar to the ones we have for virtagent. The main differences I can see so far are the the data encoding strategy and the spice agent's method for delivery of events (mouse, etc). Virtagent implements an RPC interface and uses xmlrpc-c to encode data in XML. This approach seems more general-purpose, extensible and easier to manage over the long term than relying on a custom binary representation. As for event delivery, virtagent does not yet have an interface to allow external programs to subscribe to events. I am sure this can be done in a generic way that is backwards-compatible with the current spice architecture. Such an interface should allow arbitrary programs to subscribe to events but have no dependencies on those programs. I am not sure if something like D-Bus would be appropriate for Linux guests. We'd need to consider Windows too. I see no reason why the core qemu use cases (shutdown, exec, copyfile) and the spice use cases (mouse, copy-paste, graphics reconfiguration) cannot (and should not) be satisfied by a single agent. Going forward, I think we'd need to agree on the wire protocol and guest-side event subscription. Thoughts? -- Thanks, Adam