On Mon, 2012-05-07 at 09:28 +0300, Alon Levy wrote: > Hi, > > Currently we support multiple monitors by having: > single pci = single display channel = single client window > > The RANDR architecture doesn't lend itself to this, but on the other hand it > makes it very easy to have an alternative scheme: > single pci = single display channel = multiple client windows > > RANDR introduces a concept of a CRTC and an OUTPUT. The CRTC scansout a > portion of the framebuffer onto one or more OUTPUTs. I propose having a 1:1 CRTC:OUTPUT correspondence and introducing two new commands, one on PCI and one for the protocol: > QXLHead = (id, x, y, width, height) > SpiceHead = (id, x, y, width, height) I'd like to point out that while this is the current way things work the plan for the furture is to implement Per-CRTC pixmaps[1] which will allow clients to map a separate pixmap to each crtc rather than have all the crtcs scan out from a separate one (the framebuffer). This is important, because the current situation with multiple monitors means the framebuffer can easily become much wider than the hardware limitation on texture widths of modern GPUs which means you can't run a 3D compositor in such multi-monitor setups. So, instead the plan is to have a separate pixmap per monitor and have the compositor draw the windows to the right pixmap(s). [1] http://lists.x.org/archives/xorg-devel/2010-May/008141.html _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel