[Spice-devel] RFC: Integrating Virgil and Spice

Gerd Hoffmann kraxel at redhat.com
Tue Oct 8 18:05:54 CEST 2013


  Hi,

> This is mostly Dave's area of expertise, but let me try to explain things
> a bit better here. The dma-buf pass-through is for the Virgil case, so
> we're passing through 3D rendering commands from the guest to a real,
> physcial GPU inside the host, which then renders the final image to show
> inside the ui to its own, potentially on card, memory, reading from which
> is expensive.

Ah, host dma-buf not guest dma-buf.  It makes more sense then.

So virgil just opens one of those new render-only drm nodes, asks the
gpu to process the rendering ops from the guest & store the results in a
dma-buf, then this dma-buf must be displayed somehow, correct?

> When displaying locally (so SDL-2 or gtk ui), we want to avoid the read by
> passing a kernel dma_buf handle from the virtual card (in this case
> virtio-vga with Virgil) to the ui (in this case SDL-2), so it can then
> directly ask the GPU to blit from that dma_buf to its own visible surface.

Hmm.  Both SDL and gtk ui have the problem that they effectively bind
your VM to the desktop session.  Which is not what you want for anything
but short-running test VMs.  It's also a PITA to maintain them with
libvirt.

Any plans for a separate UI process?  Something using a unix socket for
control commands and to hand over a dma-buf handle using fd descriptor
passing maybe?

cheers,
  Gerd




More information about the Spice-devel mailing list