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

The bugs in question are reported at:
http://defect.opensolaris.org/bz/show_bug.cgi?id=9790
https://bugzilla.gnome.org/show_bug.cgi?id=593982

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:

http://bugs.freedesktop.org/show_bug.cgi?id=12255
https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/353126

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



More information about the xorg-devel mailing list