Composite overlay window vs. Damage events

Alan Coopersmith Alan.Coopersmith at Sun.COM
Fri Mar 12 19:01:24 PST 2010

I was asked by our GNOME team how to detect if Damage was not usable,
since they've got a bug in which vino (the GNOME screen-scraping VNC
session sharing client) doesn't update the screen when compiz is
running, since it never gets Damage events.

This struck me as strange, since I thought compiz wouldn't work without
Damage working.   Looking into it a bit, it appears the problem is that
vino requests damage events on the root window, but never gets any once
compiz is drawing to the Composite Overlay window instead.

I hacked a bit to add a Composite protocol request to Query for the
Overlay window (unlike GetOverlayWindow which enables it), and tried
making vino request damage events on it instead of the root window,
but that didn't result in any being sent to it.

I've not looked deeply into the Composite Overlay window code & damage
before - is there any known interaction here that should be breaking

The bugs in question are reported at:

which include a claim that this is already fixed in Xorg, but we're
still seeing it with Xorg 1.7.5 - though admittedly using the nvidia
closed drivers:

	-Alan Coopersmith-           alan.coopersmith at
	 Oracle Solaris Platform Engineering: X Window System

More information about the xorg-devel mailing list