
On Fri, May 13, 2011 at 05:15:56PM -0600, Eric Blake wrote:
On 05/13/2011 02:56 AM, Daniel P. Berrange wrote:
On Fri, May 13, 2011 at 10:34:24AM +0200, Michal Prívozník wrote:
Then, screen is calculated as
Screen Device Head 0 video0 0 1 video0 1 2 video1 0 3 video1 1 4 video1 2 5 video1 3
Incidentally an RFE is needed against QEMU, since it can only do screen dump of the first device :-(
Daniel
Yes, that is what I had in my mind when creating this concept.
Ok, please document that in the API docs for the public API
Or would it be better to split screen ID into video # and head #?
No, I think that's probably overkill, unless anyone can think of something we can do with them separated, that we can't do with them combined...
Good thing we have the flags argument. When you have a card that supports multiple monitors, I could see it being worth capturing a screenshot of just one monitor, vs. a combined screenshot of both monitors as a single image. With the above layout, this could be done as:
virDomainScreenshot(dom, st, 1, 0) - just screen 1 (head 1 of video0) virDomainScreenshot(dom, st, 1, VIR_DOMAIN_SCREENSHOT_DEVICE) - composite of all screens on video1 (that is, screens 2-5)
of course, supposing that the hypervisors support combined imaging.
The only way I could see that being possible, is if there was actually a guest OS agent that captured the screenshot, because the hypervisor has no way of knowing what the layout of the screens are. ie if the device has 2 outputs and you want a single image of both outputs how do you know if the output 1 is left of output 2, or right of it, or above it, or below it, etc. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|