[Spice-devel] how can i trace monitor change (etc) events

David Mansfield spice at dm.cobite.com
Tue Apr 15 12:18:47 PDT 2014


On 04/15/2014 10:35 AM, David Mansfield wrote:
> Hi All:
>
> I'd like to be able to trace all events going back and forth between 
> spice server / client and also between Xorg driver (qxl) and spice 
> server regarding monitor connect resize etc.
>
> The reason for this is that I'd like to debug why gnome3 works in dual 
> head setup but other desktop env don't (eg. mate desktop, fluxbox).
>
> There must be something gnome3 desktop is doing via xrandr that is 
> different - or perhaps it's an agent message that is being generated / 
> sent.
>
> Seems the minimum would be to trace:
>
> * spice agent messages
> * xrandr events in the guest
> * the various "surfaces" (if that is the correct term) that the 
> spice-server is managing.
>
> Any pointers?
>

Further information/evidence:

I've enabled debugging in remote-viewer (--spice-debug) and can clearly 
see from the client side that the "monitor config" is different between 
gnome3 and mate desktop when activating the second display.  Here are 
the "monitor config" events on mate (i.e. grep for 'monitor config' in 
remote-viewer output):

In mate:

(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #0 1024x768+400+0 @ 32 bpp
(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #1 400x377+0+0 @ 32 bpp
(remote-viewer:12916): GSpice-WARNING **: FIXME: only support monitor 
config with primary surface 0, but given config surface 5
(remote-viewer:12916): GSpice-WARNING **: FIXME: only support monitor 
config with primary surface 0, but given config surface 5
(remote-viewer:12916): GSpice-WARNING **: FIXME: only support monitor 
config with primary surface 0, but given config surface 5
(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #0 1024x768+0+0 @ 32 bpp
(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #1 400x377+0+0 @ 32 bpp

And here is gnome3:

(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #0 1024x768+400+0 @ 32 bpp
(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #1 400x377+0+0 @ 32 bpp
(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #0 1024x768+0+0 @ 32 bpp
(remote-viewer:12916): GSpice-DEBUG: channel-main.c:1183 main-1:0: 
monitor config: #1 400x377+1024+0 @ 32 bpp

Where do the "monitor config" events originate?  spice-vdagentd? Clearly 
remote-viewer is being told to display the "wrong" area in the 
mate-desktop case.

I have the entire "debug" output of remote-viewer available during each 
scenario if anyone is interested.

Thanks,
David



More information about the Spice-devel mailing list