[Spice-devel] [PATCH v2 spice-protocol 2/2] Add unix GL scanout messages

Gerd Hoffmann kraxel at redhat.com
Fri Dec 18 07:21:44 PST 2015


  Hi,

> The protocol can be the same of the GL case, actually being the frame buffer format
> being used by QXL very standard I think that GL buffer can be used for the same
> purpose. The problem is that the frame buffer is allocate into the virtual card
> memory by the guest (the guest pass the memory range to use to spice-server).

Yes, when using qxl and the guest driver is active all surfaces are in
guest memory.

> So in case or a dma buffer all card BARs should be in different dma buffers

Backing qxl device memory (PCI bars) with host shared memory could be
possible.  But we'd have to place the complete bar into shared memory
then, including the command rings and other non-surface memory.  Don't
like that idea very much.  I'm also not fully sure what effects that
will have for dirty page tracking.  I suspect this is alot more complex
than it seems to be on first glance.

> or
> there should be a way (using Qemu) to share the memory range given by the guest
> using a dma buffer (kind of remapping the memory into a new allocated dma buffer so
> it's transparent for the guest).

I.e. remapping anonymous pages into shared memory or dma-buf.  I don't
think this can work.

I think one copy from guest memory to somewhere else can hardly be
avoided for the 2d case.  But we are free in choosing that "somewhere
else" in a way that another copy can be avoided.

cheers,
  Gerd



More information about the Spice-devel mailing list