On Sun, Aug 26, 2012 at 03:48:44PM +0200, 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) This sounds like an old remote-viewer which ignores the SpiceDisplayMonitorsConfig message. But otoh it can't be since in that case remote-viewer would see only one display channel and not try to use two monitors. > > 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 There are all kinds of wrong here: * if spice-server thinks it is working with an old client, it should not allow multiple monitors to be set. Maybe send a warning (main channel message) to the client "need client version >= X for multiple monitors on a single display channel". > > 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 So remote-viewer is passing a configuration that contains overlap - that's wrong. It's also wrong for the agent to try to use it, it should ignore requests with overlap. > 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@localhost ~]$ :( Using the error handler will work around this. > > Regards, > > Hans _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel