From: Izik Eidus <ieidus@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: Yaniv Kamay <ykamay@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Spice project is now open
Date: Sat, 12 Dec 2009 02:53:15 +0200 [thread overview]
Message-ID: <20091212025315.2188acf5@redhat.com> (raw)
In-Reply-To: <A45422E4-9D83-4E5B-A759-9EBED1183A9B@suse.de>
On Sat, 12 Dec 2009 01:27:09 +0100
Alexander Graf <agraf@suse.de> wrote:
>
> On 12.12.2009, at 01:14, Izik Eidus wrote:
>
> > On Sat, 12 Dec 2009 00:54:47 +0100
> > Alexander Graf <agraf@suse.de> wrote:
> >
> >>
> >> On 11.12.2009, at 23:46, Izik Eidus wrote:
> >>
> >>> On Fri, 11 Dec 2009 23:08:01 +0100
> >>> Alexander Graf <agraf@suse.de> wrote:
> >>>
> >>>>
> >>>> On 11.12.2009, at 22:13, Izik Eidus wrote:
> >>>>
> >>>>> On Fri, 11 Dec 2009 14:46:55 -0600
> >>>>> Anthony Liguori <anthony@codemonkey.ws> wrote:
> >>>>>
> >>>>>> Izik Eidus wrote:
> >>>>>>> I personaly dont like mjpeg, and yes in the end of the day you
> >>>>>>> can add the video streaming into vnc, but what is the point
> >>>>>>> here?
> >>>>>>>
> >>>>>>
> >>>>>> What I'm trying to understand is, what can we do with Spice
> >>>>>> that we couldn't possibly do with vnc. That means
> >>>>>> understanding each feature and then figuring out if there's a
> >>>>>> vnc analog.
> >>>>>>
> >>>>>> If there are compellingly unique features to Spice that can't
> >>>>>> be duplicated in vnc, then it's a no brainer. If you can do
> >>>>>> most things in vnc but it would be hackish whereas Spice makes
> >>>>>> it all elegant, then provided we can merge Spice without a
> >>>>>> huge amount of pain, then it's a net win.
> >>>>>>
> >>>>>> However, if we need to make a few changes to vnc in order to
> >>>>>> get the same performance as Spice, then it's not quite as
> >>>>>> clear that it's what we should be using.
> >>>>>>
> >>>>>> We're talking about a major change here. There is a ton of
> >>>>>> management software that assumes vnc today. Even though there
> >>>>>> are Spice clients out there, there are embedded vnc clients in
> >>>>>> certain tools today along with java applets.
> >>>>>>
> >>>>>> That's not to say we shouldn't embrace Spice, we just have to
> >>>>>> make sure we have a good reason to.
> >>>>>
> >>>>> Ok, I understand your concerns.
> >>>>>
> >>>>> But even though that spice and vnc achive in the end of the day
> >>>>> the same thing - they both allow remote rendering, they have
> >>>>> fendumental diffrent architacture.
> >>>>>
> >>>>> Spice server work with a ring to the guest, it was build from
> >>>>> day one to work like that, In addition it was built from day
> >>>>> one so that the server will render only what it must to render
> >>>>> (to allow much higher virtualization denticity).
> >>>>
> >>>> The ring is from qemu <-> guest, right? I mean, qemu <-> client
> >>>> would be a TCP transport anyways, so the ring argument is void.
> >>>
> >>>
> >>> Beside the fact that we dont have the network overhead...
> >>
> >> Eh - when you connect to the VM remotely you still get the network
> >> overhead, because you're connecting to it via the network :-).
> >
> > Yes but you send the data from the HOST networking, not from the
> > virtualized guest networking (That will later send it from the Host
> > networking)...
>
> Exactly. So you'd get the same as with virtio-fb and VNC :-).
Yes, virtio-fb and spice have the same overhead for the ring part,
but this not what i understood when you said:
"The ring is from qemu <-> guest, right? I mean, qemu <-> client
would be a TCP transport anyways, so the ring argument is void."
But leave it :).
>
> >
> >
> >>
> >>>
> >>>>
> >>>>> Just to make clear how much spice is diffrence from VNC is by
> >>>>> the fact that only the library itself (not including the
> >>>>> drivers) have 128,277 lines of code inside it. (In my old qemu
> >>>>> repo i see almost 600,000 lines for qemu) so this should give
> >>>>> better prespective on how much spice is diffrent from vnc.
> >>>>>
> >>>>> So ofcurse in theory you can take all this 128,000 lines and
> >>>>> push them into qemu-vnc.c ?, but you got to remember that spice
> >>>>> is not just specific qemu thing, Spice should be used to work
> >>>>> on physical machines too, just cutting all this lines of code
> >>>>> from spice and throw it into qemu-vnc.c will be meaning a fork
> >>>>> of spice inside qemu....
> >>>>
> >>>> I definitely understand your point of having a single protocol.
> >>>> The good news is that your physical machine stuff isn't released
> >>>> yet (AFAIK), so luckily there's still time to change parts of the
> >>>> protocol :-).
> >>>>
> >>>>> It isnt just the rings and the rendering style that make spice
> >>>>> diffrence, it is the channels it have for each compoment, it is
> >>>>> the multiple drawing surfaces, and so on...
> >>>>
> >>>> These should be fairly easy to implement in VNC too. In fact, I
> >>>> remember a project implementing off-screen drawing in VNC using a
> >>>> larger region of the screen than what was visible and then
> >>>> copyrect them in.
> >>>
> >>> In theory you can even change the whole of VNC into SPICE or the
> >>> whole of VI into EMACS, so???, I personaly think changing code
> >>> isnt the problem, the problem is always the desgien, and SPICE
> >>> have fandumental diffrent desgien than VNC, (Here you can say: OK
> >>> I can make my VNC desgien like SPICE, or you can say I think
> >>> SPICE dsgien is bad, or you can just use SPICE...)
> >>
> >> Oh I'm not trying to talk you or anyone into anything. I was merely
> >> trying to stress that SPICE isn't really its own protocol but
> >> extensions to the RDP protocol (IIUC). You could do similar
> >> extensions to VNC if you liked. Thus I'd love to see a generic
> >> mid-layer and implementations of RDP and VNC on top of that
> >> actually.
> >
> > One of the decisions we have made in SPICE, was to provide a full
> > functional remote system, not realying on other system,
> > We already have far more features than VNC have, so what is the
> > logical in making spice extention of VNC? it more logical to make
> > VNC extention of SPICE...
> >
> > SPICE have networking tunneling, local/server mouse, (in progress)
> > usb remote, audio / recording channel , private channels for each
> > compoment, Even if VNC would have part of this stuff, It seems like
> > they are trying to achive things in diffrent way than SPICE does.
>
> It kind of reminds me of the vbus story ;-).
>
We are not forking qemu, we are self depended protocol, we have the
right to implment the protocol the best way as we understand, I don`t
see much connection with the VBus case...
The real interesting part is, that we not forcing any changes to qemu,
we dont say "throw" vnc, we just add another protocol, that users
already are using and are very happy.
check out:
http://www.brianmadden.com/blogs/brianmadden/archive/2009/12/10/red-hat-makes-the-qumranet-spice-protocol-open-source-a-free-alternative-to-ica-pcoip.aspx
Why is it that bad to allow user freedom of choice for whatever
protocol it want to use for its remote system?
Thanks.
>
> Alex
next prev parent reply other threads:[~2009-12-12 0:53 UTC|newest]
Thread overview: 128+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1072764996.1548651260538641101.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-12-11 13:45 ` [Qemu-devel] Spice project is now open Yaniv Kamay
2009-12-11 14:03 ` Jun Koi
2009-12-11 14:17 ` Yaniv Kamay
2009-12-11 14:09 ` Alexander Graf
2009-12-11 14:28 ` Jun Koi
2009-12-11 16:34 ` Anthony Liguori
2009-12-11 16:52 ` Chris Wright
2009-12-11 17:01 ` Anthony Liguori
2009-12-11 17:31 ` Chris Wright
2009-12-11 17:02 ` Yaniv Kamay
2009-12-11 17:16 ` Anthony Liguori
2009-12-11 17:21 ` Alexander Graf
2009-12-11 17:28 ` Anthony Liguori
2009-12-11 17:18 ` Alexander Graf
2009-12-11 18:49 ` Glauber Costa
2009-12-11 15:57 ` Anthony Liguori
2009-12-11 16:47 ` Yaniv Kamay
2009-12-11 16:57 ` Chris Wright
2009-12-11 17:00 ` Anthony Liguori
2009-12-11 17:38 ` Johannes Schindelin
2009-12-11 18:48 ` Izik Eidus
2009-12-11 18:57 ` Ben Taylor
2009-12-11 19:06 ` Izik Eidus
2009-12-11 19:09 ` Glauber Costa
2009-12-11 19:00 ` Izik Eidus
2009-12-11 19:06 ` Anthony Liguori
2009-12-11 19:22 ` Izik Eidus
2009-12-11 19:37 ` Glauber Costa
2009-12-11 19:07 ` Glauber Costa
2009-12-11 19:24 ` Izik Eidus
2010-01-23 23:39 ` Izik Eidus
2009-12-11 19:03 ` malc
2009-12-11 19:10 ` Izik Eidus
2009-12-11 19:24 ` malc
2009-12-11 19:33 ` Izik Eidus
2009-12-11 19:53 ` malc
2009-12-11 20:26 ` Izik Eidus
2009-12-13 11:11 ` Izik Eidus
2009-12-11 19:04 ` Anthony Liguori
2009-12-11 19:15 ` Glauber Costa
2009-12-11 19:25 ` Izik Eidus
2009-12-11 19:42 ` Chris Wright
2009-12-11 19:21 ` Izik Eidus
2009-12-11 19:30 ` Anthony Liguori
2009-12-11 19:39 ` Izik Eidus
2009-12-11 19:51 ` Anthony Liguori
2009-12-11 20:21 ` Izik Eidus
2009-12-11 20:46 ` Anthony Liguori
2009-12-11 21:13 ` Izik Eidus
2009-12-11 21:54 ` Anthony Liguori
2009-12-11 22:34 ` Izik Eidus
2009-12-12 0:54 ` [Qemu-devel] " Paolo Bonzini
2009-12-12 3:34 ` Anthony Liguori
2009-12-12 9:14 ` Paolo Bonzini
2009-12-12 15:11 ` Anthony Liguori
2009-12-12 16:09 ` Avi Kivity
2009-12-12 17:28 ` Anthony Liguori
2009-12-13 10:18 ` Avi Kivity
2009-12-11 22:08 ` [Qemu-devel] " Alexander Graf
2009-12-11 22:33 ` Dor Laor
2009-12-11 22:46 ` Izik Eidus
2009-12-11 23:54 ` Alexander Graf
2009-12-12 0:14 ` Izik Eidus
2009-12-12 0:27 ` Alexander Graf
2009-12-12 0:53 ` Izik Eidus [this message]
2009-12-12 1:08 ` Alexander Graf
2009-12-12 1:33 ` Izik Eidus
2009-12-11 23:58 ` [Qemu-devel] X support for QXL and SPICE Soeren Sandmann
2009-12-12 0:05 ` [Qemu-devel] " Alexander Graf
2009-12-12 0:31 ` Izik Eidus
2009-12-12 0:37 ` Alexander Graf
2009-12-12 0:08 ` Izik Eidus
2009-12-12 3:31 ` [Qemu-devel] " Anthony Liguori
2009-12-12 3:52 ` Izik Eidus
2009-12-12 15:13 ` Anthony Liguori
2009-12-12 15:29 ` Izik Eidus
2009-12-12 15:43 ` Alexander Graf
2009-12-12 16:01 ` Izik Eidus
2009-12-12 6:22 ` Dave Airlie
2009-12-12 16:39 ` Soeren Sandmann
2009-12-14 14:07 ` Gerd Hoffmann
2009-12-14 13:56 ` [Qemu-devel] Spice project is now open Gerd Hoffmann
2009-12-14 14:33 ` Anthony Liguori
2009-12-11 20:32 ` Izik Eidus
2009-12-11 20:48 ` Anthony Liguori
2009-12-11 21:31 ` Izik Eidus
2009-12-11 21:58 ` Anthony Liguori
2009-12-11 22:55 ` Chris Wright
2009-12-12 3:27 ` Anthony Liguori
2009-12-12 1:03 ` [Qemu-devel] " Paolo Bonzini
2009-12-12 3:44 ` Anthony Liguori
2009-12-12 14:44 ` Andrea Arcangeli
2009-12-12 15:03 ` Anthony Liguori
2009-12-12 16:06 ` Andrea Arcangeli
2009-12-12 17:40 ` Anthony Liguori
2009-12-12 17:48 ` Izik Eidus
2009-12-12 19:26 ` Anthony Liguori
2009-12-12 19:48 ` Izik Eidus
2009-12-12 22:41 ` Dor Laor
2009-12-12 22:35 ` Dor Laor
2009-12-12 23:46 ` Anthony Liguori
2009-12-13 0:23 ` Daniel P. Berrange
2009-12-13 10:46 ` Avi Kivity
2009-12-14 14:42 ` Anthony Liguori
2009-12-14 14:53 ` Avi Kivity
2009-12-14 15:17 ` Daniel P. Berrange
2009-12-14 15:21 ` Avi Kivity
2009-12-14 15:46 ` Anthony Liguori
2009-12-14 15:10 ` Daniel P. Berrange
2009-12-14 15:50 ` Anthony Liguori
2009-12-14 16:00 ` Avi Kivity
2009-12-14 16:15 ` Anthony Liguori
2009-12-14 17:52 ` Mark McLoughlin
2009-12-13 14:56 ` Gildas Le Nadan
2009-12-14 14:40 ` Gerd Hoffmann
2009-12-14 14:50 ` Anthony Liguori
2009-12-12 23:43 ` Andrea Arcangeli
2009-12-12 23:52 ` Anthony Liguori
2009-12-13 0:04 ` Andrea Arcangeli
2009-12-13 0:18 ` Anthony Liguori
2009-12-13 9:10 ` Izik Eidus
2009-12-15 13:25 ` Soeren Sandmann
2009-12-11 19:25 ` [Qemu-devel] " Mark McLoughlin
2009-12-11 19:38 ` Anthony Liguori
2009-12-11 19:45 ` Mark McLoughlin
2009-12-11 19:53 ` Anthony Liguori
[not found] <1743803977.1552241260541384099.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-12-11 14:23 ` Yaniv Kamay
[not found] <232864779.1569611260551125791.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-12-11 17:07 ` Yaniv Kamay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091212025315.2188acf5@redhat.com \
--to=ieidus@redhat.com \
--cc=agraf@suse.de \
--cc=qemu-devel@nongnu.org \
--cc=ykamay@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).