[vbox-dev] support for spice?
Klaus.Espenlaub at Sun.COM
Wed Jan 13 01:51:50 PST 2010
Geoff Nordli schrieb:
>> On Thursday 31 December 2009, Alexey Eremenko wrote:
>>> On Thu, Dec 31, 2009 at 2:39 AM, Geoff Nordli <geoffn at gnaa.net>
>>>> Does anyone have any clues on the amount of effort to implement the
>>>> new graphics cards.
>>>> From the spice dev list their comment on integrating spice into
>>>> "The spice server is design to be easily used by 3rd party. You
>>>> to expose vd_interfaces in the hypervisors side (see
>>>> http://www.spice-space.org/docs/vd_interfaces.pdf) and libspice
>>>> plug into those interfaces. QXL (the GPU) is relay simple and can
>>>> also be added to other hypervisors and so benefit from having a
>> common driver.
>>>> And last thing the hypervisor need to be under GPL licance in order
>>>> to use libspice legally."
>>> Since VirtualBox userland is similar to Qemu, it should be possible
>>> port it. After all, VirtIO was ported from Qemu over here.
>> Sorry, but this is wrong. It is possible to port drivers/devices from
>> Qemu to VirtualBox but the VirtIO stuff was definitely _not_ ported
>> from Qemu but written from scratch.
>> Kind regards,
> There hasn't been a lot of discussion around this topic, but I am interested
> in seeing how viable it is. Depending on the costing side of things it may
> be something I could sponsor if someone was up to doing the work.
There probably wasn't much discussion because there isn't all that much
Sadly, the most complicated bit is getting the licensing sorted out.
Their lukewarm "most is GPL, some is LGPL and some is BSD style"
statement isn't very helpful in the context of VirtualBox. When I looked
at the spice code, I found that only a handful of header files have a
BSD style license. Which would mean that integrating spice in the
binary-only versions of VirtualBox would simply be a no go unless
someone does a full reimplementation of libspice. The random sample of
spice/qxl-related files in their hacked qemu version I've looked at bear
no copyright notices at all. My personal impression is that this looks
like a carefully designed legal nightmare. IANAL.
Implementing (or porting from qemu, if the licensing works out) a new
graphics card isn't rocket science, it's like any other device
emulation. Haven't looked into the complexity of the QXL card, but
others already said it's relatively simple. Writing a device emulation
has a very steep learning curve for people not used to writing bullet
proof code (and the VirtualBox device infrastructure). In any case, it's
surely at least a few weeks of work (if the qemu bits can be ported),
and can become several months.
Getting the device emulation done is the main coding work, and a minor
one is the integration with the VirtualBox API. Right now the graphics
card model is fixed, and that needs to be changed.
More information about the vbox-dev