[Spice-devel] New xrandr multi-mon / arbitrary resolution support issues

Hans de Goede hdegoede at redhat.com
Sun Aug 26 06:58:17 PDT 2012


Hi,

On 08/26/2012 03:48 PM, Hans de Goede wrote:
> Hi,
>
> As part of integrating the spice-vdagent xrandr patches
> (done, as there were many other patches pending, so fixes
> can just be applied on top), I've been testing the new
> xrandr multi-mon / arbitrary resolution support.
>
> With single monitor setups, things work fine, but with
> multiple monitor setups things don't work as advertised.
>
> 1) There is no way to enable extra monitors from
> remote-viewer, with the new xrandr code I would expect
> there to be 4 displays under the view->displays menu, but
> there is only 1.
>
> 2) Starting remote viewer with --full-screen=auto-conf,
> does result in the 2nd qxl head being enabled, but
> remote-viewer viewer does not see it as a separate
> display, instead the 2 monitors are rendered next to
> each other in a single window. And since windows full
> screen to a single monitor, this means that after
> --full-screen=auto-conf, the user gets 2 small views
> into the guest next to each other in a single full-screen
> window, with large black areas above and below, see the
> attached screenshot (which shows both my monitors)
>

Note this happens with a vm with had 2 qxl devices (as I used it
to test multi-mon with Xinerama in the past, but it now is no
longer using Xinerama) removing one of the qxl devices,
seems to move me directly to problem 4, as soon as
--full-screen=auto-conf is used, likely a race condition and
we now have slightly different timing, more on this later.

> 3) Exiting fullscreen mode after using --full-screen=auto-conf
> results in remote-viewer resizing its window to fit both
> monitors next to each other, so in my case to 3840x1080, and
> then telling the agent to resize monitor 1 inside the guest
> to 3840x1080, and not touching monitor 2. So the guest now
> thinks it has 2 monitors 1 of 3840x1080, and  a second one
> mapped of 1920x1080+1920+0, so it thinks the second monitor
> is a clone of the right halve of the screen... And remote-viewer
> does not show this clone at all
>
> 4) Resizing the window after step 3. (since 3840x1080 won't fit
> when adding window decorations, etc. results in the per x-session
> agent process in the guest crashing with:
>
> spice-vdagent[1483]: 0xc07010 received monitors config, arg1: 0, arg2: 0, size 48
> spice-vdagent[1483]: from guest: 2, 1
> spice-vdagent[1483]: received monitor 0 config 3840x1080+0+0
> spice-vdagent[1483]: received monitor 1 config 1920x1080+1920+0
> spice-vdagent[1483]: after zeroing: 2, 1
> spice-vdagent[1483]: received monitor 0 config 3840x1080+0+0
> spice-vdagent[1483]: received monitor 1 config 1920x1080+1920+0
> spice-vdagent[1483]: delete_mode of in use mode, setting crtc to NULL mode
> X Error of failed request:  BadMatch (invalid parameter attributes)
>    Major opcode of failed request:  148 (RANDR)
>    Minor opcode of failed request:  21 (RRSetCrtcConfig)
>    Serial number of failed request:  100
>    Current serial number in output stream:  100
> [hans at localhost ~]$
>

Regards,

Hans


More information about the Spice-devel mailing list