Bug 740851

Summary: Add support for multiple monitors to the spice-vdagent
Product: Red Hat Enterprise Linux 6 Reporter: Hans de Goede <hdegoede>
Component: spice-vdagentAssignee: Hans de Goede <hdegoede>
Status: CLOSED CURRENTRELEASE QA Contact: Desktop QE <desktop-qa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.1CC: acathrow, cfergeau, cmeadors, cpelland, dblechte, lkocman, mkrcmari, syeghiay, tpelka
Target Milestone: rcKeywords: ZStream
Target Release: 6.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: spice-vdagent-0.8.1-2.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-24 16:48:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 732467, 741271, 748917    
Bug Blocks: 783504    

Description Hans de Goede 2011-09-23 14:35:22 UTC
The qxl driver now supports linux guests with multiple monitors (through Xinerama, which requires first creating an xorg.conf file). But the linux spice-vdagent does not yet support multiple monitors

2 changes are needed to the agent:

1) It must correctly report mouse events for multiple monitors (currently the
mouse does not work properly with multiple monitors when the mouse is in
client mode).

2) The agent also takes care of automatically adjusting the monitor configuration of the client to that of the guest. Currently the agent also only supports this for single monitor setups.

Since Xinerama does not support on the fly re-configuration, the agent won't support on the fly re-configuration, for multiple monitor setups. Instead it will generate a xorg.conf file with a Xinerama configuration matching the monitor information send be the client. The user then needs to restarts Xorg with this configuration.

While not ideal, this at least takes away the need for the user to write his own xorg.conf, and since Xinerama does not support on the fly reconfiguration it is the best we can do.


A note to QA, the fixed agent mouse input requires bug 732467 to be fixed too, actually the best way to test that bug 732467 is fixed is likely by testing the mouse input works properly with the agent in a multi monitor spice linux vm.

Comment 1 Christophe Fergeau 2011-09-26 09:04:33 UTC
For 2), it's better to have randr support in qxl/the agent to handle on the fly reconfiguration, but that's probably more work than what you suggest, I assume what you propose is for a short term fix?

Comment 2 Hans de Goede 2011-09-26 12:16:26 UTC
Hi,

(In reply to comment #1)
> For 2), it's better to have randr support in qxl/the agent to handle on the fly
> reconfiguration, but that's probably more work than what you suggest, I assume
> what you propose is for a short term fix?

To support Xrandr with multiple monitors, we either need to change the qxl device + Xorg driver to both handle having multiple outputs on 1 device, or we need to patch the X-server Xinerama code to not disable Xrandr, but instead support on the fly-reconfiguration of Xinerama setups and pass through the Xrandr / modeset requests to the underlying driver for each device. Both are not trivial to do.

So yes this is less then ideal. Hopefully one day we will get either one of the 2 above solutions to do things on the fly, but that may be a while in the mean time this is the best we can do.

Regards,

Hans

Comment 7 Hans de Goede 2011-10-11 10:19:24 UTC
This is fixed in: spice-vdagent-0.8.1-2.el6, moving to MODIFIED

Comment 8 Lubos Kocman 2011-10-20 11:20:03 UTC
Displays seems to be fine, but I can't say it's working without correctly working mouse (732467). So let's wait for it's resolution

Comment 14 Hans de Goede 2012-01-20 20:32:57 UTC
spice-vdagent-0.8.1-3.el6, which is in 6.2 already has all the necessary changes for multimonitor support the multimonitor bug 740851 was not added to the 6.2 errata since the feature was not usable with 6.2 due to some necessary X-server changes missing (bug 732467).

As soon as the X-server part is fixed in (see bug 732467), spice-vdagent-0.8.1-3.el6 should work fine with multi monitor setups. I suggest closing this bug with a resolution of current release once QA has verified this.