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

Marc-André Lureau mlureau at redhat.com
Tue Apr 15 08:49:39 PDT 2014



----- Original Message -----
> 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.

gnome3 / mutter is watching xrandr events, and reconfiguring the display to follow preferred resolution.

https://git.gnome.org/browse/mutter/tree/src/backends/x11/meta-monitor-manager-xrandr.c

> 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?

There is no easy solution, each components has different tracing functionality.

In this case (monitor configuration issues), it's usually easier to add a few printf and break on point of interest and follow the code. Having 10 traces of various components won't help you much as you will be struggling and overwhelm to understand the interactions.


More information about the Spice-devel mailing list