Yaniv Kamay wrote:
Hi,
Spice project is now open, for more information visit http://spice-space.org,
due to a server relocation the site will be down during this weekend.
Spice ship patched QEMU based on fairly old KVM snapshot as a reference
implementation. The Spice team plane to push all the relevant bits into
QEMU upstream.
Historically, we have not supported multiple display mechanisms favoring
making one mechanism as good as it can be.
Supporting both Spice and VNC would go against this policy. It's not
outside the realm of possibility, but there has to be a good
justification for it.
We need to separate the advantages of having a paravirtual display
driver from the advantages of a remote display protocol. For instance,
VNC is capable of doing ARGB cursor offloading to the client. We do not
support it in QEMU because the VGA drivers we emulate do not support
this functionality. Likewise, VNC can support sound tunneling and QEMU
does implement this (although virt-manager does not yet).
So from a protocol perspective, what are the advantages of Spice over VNC?
Obviously, the disadvantages are that for all practical purposes, it's a
closed protocol. While there is now a specification, there is not a
clear mechanism for extending it by third parties. VNC has a published
protocol and there's a documented process for extending by third
parties. There are a large number of existing VNC clients so from an
interoperability perspective, VNC clearly wins.
Since VNC is extensible (and we've extended it many times for QEMU), if
Spice possesses unique encoding mechanisms that are advantageous, why
wouldn't we just add those mechanisms to VNC as an extension?
Regards,
Anthony Liguori