Anthony Liguori <anth...@codemonkey.ws> writes: > So that's what I'm trying to understand. How far does the guest's > visibility go? Is the guest totally ignorant of anything other than > QXL? If so, that's good, and I'm very happy about it :-)
The guest only sees a QXL video device. This video device accepts commands that it then turns into SPICE protocol. It also maintains a data structure containing enough commands to reproduce any part of the frame buffer. This means that if applications do not read from the frame buffer - which they usually don't - no rendering has to take place on the server side. [1] Whenever a particular command is not needed anymore in this data structure, the device will notify the driver that the memory associated with it can now be reused. If the driver runs out of memory, it can tell the device to store all of the framebuffer as one big bitmap, in which case all of the stored commands become available for reuse. Soren [1] The existing X driver does not make use of this functionality for various reasons, the main one being that without offscreen pixmaps, essentially all drawing to the frontbuffer would just be pixmaps anyway.