[vbox-dev] support for spice?

Klaus Espenlaub Klaus.Espenlaub at Sun.COM
Wed Jan 13 01:51:50 PST 2010

Geoff Nordli schrieb:
>> Alexey,
>> On Thursday 31 December 2009, Alexey Eremenko wrote:
>>> On Thu, Dec 31, 2009 at 2:39 AM, Geoff Nordli <geoffn at gnaa.net>
>> wrote:
>>>> 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
>> vbox:
>>>> "The spice server is design to be easily used by 3rd party. You
>> need
>>>> to expose vd_interfaces in the hypervisors side (see
>>>> http://www.spice-space.org/docs/vd_interfaces.pdf) and libspice
>> will
>>>> 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
>> to
>>> 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,
>> Frank
>> --
> 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 
to discuss.

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 mailing list