> > Proposed changes to squash with previous patch > --- > multiple-monitors.rst | 28 ++++++++++++++++------------ > 1 file changed, 16 insertions(+), 12 deletions(-) > > diff --git a/multiple-monitors.rst b/multiple-monitors.rst > index 5967999..dd7a439 100644 > --- a/multiple-monitors.rst > +++ b/multiple-monitors.rst > @@ -28,17 +28,18 @@ QXL driver supports multiple displays (up to 4) with a > single video device, > whereas the Windows QXL driver only supports a single display for each video > device. So to enable 4 monitors, a Linux guest would need only a single QXL > device, while a Windows guest would need to be configured with 4 separate > QXL > -devices. It is possible to limit the number of displays that a single linux > -driver supports by setting the `qxl-vga.max_outputs` property in qemu. If > you > -are using libvirt to configure your guest, you may need to ensure that the > -`heads` parameter for the video device is set properly. > +devices. Since qemu 2.4.0, it is possible to limit the number of displays > that > +a single linux driver supports by setting the `qxl-vga.max_outputs`. If you > are > +using libvirt to configure your guest, you may need to ensure that the > `heads` > +parameter for the video device is set properly. > > QXL Driver Video Memory > ----------------------- > If you want to use multiple displays on your guest, you need to make sure > that > the device has enough video memory to support the number and size of screens > -you intend to use. There are several QXL parameters that you can use to > control > -the amount of memory allocated to the QXL devices. These parameters are: > +you intend to use. There are several QXL parameters in qemu that you can use > to > +control the amount of memory allocated to the QXL devices. These parameters > +are: > > * `ram_size` / `ram_size_mb` > * `vram_size` / `vram_size_mb` > @@ -57,8 +58,8 @@ determines the size of the primary surface, and therefore > determines the > maximum resolution of the device. For devices that support > multiple displays with a single device (i.e. Linux drivers), this primary > surface must be large enough to contain all displays. This bar is also used > for > -dynamic meory such as cursors, commands, and images. The second bar is used > for > -offscreen memory. > +dynamic memory such as cursors, commands, and images. The second bar is used > +for offscreen memory. > > In KMS-based Linux drivers, all surfaces (including the primary surface) are > allocated in the second memory bar and the first memory bar is used for > dynamic > @@ -66,8 +67,11 @@ memory such as cursors, commands, images, and monitor > configs. Therefore, > devices that support multiple displays will need larger values for > `vram_size` > / `vram_size_mb`. > > -XXX: what is `vram64_size_mb` used for? Does the non-KMS driver actually use > -the second bar? > +64 bit drivers support a larger second memory bar that can be configured > with > +`vram64_size_mb`. If `vram_size_mb` is configured to 32 and `vram64_size_mb` > is > +configured to 128, you will get a 32 bit memory bar of 32 megabytes and a 64 > +bit memory bar of 128 megabytes. The first 32 megabytes of the 64 bit memory > +bar will contain the same data as the 32 bit memory bar. > > Spice Protocol > ++++++++++++++ > @@ -91,7 +95,7 @@ As mentioned above, the Linux QXL device supports multiple > displays in a single > device, whereas the Windows QXL device requires a separate device for each > display. This has implications at the protocol level as well. A Linux guest > will have a single DisplayChannel which manages up to 4 displays on the same > -channel. A Windows guest will have multiple DisplayChannels, one for each > +channel. A Windows guest will have multiple Display channels, one for each > device and each managing a single display. > > Implementation > @@ -131,7 +135,7 @@ Older versions of the QXL driver do not provide the > callback mentioned above > and instead handle all monitor configuration changes via the spice-vdagent > executable running within the guest. The configuration is sent from the host > to > the guest via the vdagent char device. The spice-vdagent executable then > uses > -platform APIs (e.g. xrandr on linux) to attempt to configure the displays to > +platform APIs (e.g. xrandr on Linux) to attempt to configure the displays to > match the requested configuration. > > Device implementation Acked-by: Frediano Ziglio <fziglio@xxxxxxxxxx> Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel