2007-06-11 19:25:10

by Anthony Liguori

[permalink] [raw]
Subject: Re: [Xen-devel] Re: More virtio users

Gerd Hoffmann wrote:
> Hi,
>
>> Framebuffer is an interesting one. Virtio doesn't assume shared memory,
>> so naively the fb you would just send outbufs describing changed memory.
>> This would work, but describing rectangles is better. A helper might be
>> the right approach here
>
> Rectangles work just fine for a framebuffer console. They stop working
> once you plan to run any graphical stuff such as an X-Server on top of
> the framebuffer. Only way to get notified about changes is page faults,
> i.e. 4k granularity on the linear framebuffer memory.
>
> Related to Framebuffer is virtual keyboard and virtual mouse (or better
> touchscreen), which probably works perfectly fine with virtio. I'd
> guess you can even reuse the input layer event struct for the virtio
> events.

Virtio seems like overkill for either of those things. It's necessary
for pure PV but not at all necessary for something like KVM.

> Xen has virtual framebuffer, kbd & mouse, although not (yet?) in the
> paravirt_ops patch queue, so there is something you can look at ;)

In retrospect, IMHO, a shared framebuffer was a bad idea for Xen. It's
easy enough for dealing with an unaccelerated display, but once you
start getting into more advanced features like blitting (which is really
important actually for decent VNC performance), the synchronization
becomes a big problem.

If we were to do a PV display driver again, I really think something
that is closer to a VNC protocol is the right way to go. There simply
isn't a significant performance overhead to copying the relatively small
amount of memory.

So virtio in it's current form would actually be pretty useful for that.

Regards,

Anthony Liguori


> cheers,
> Gerd