Composite

You are not allowed to use this action.

Clear message

Before it can be used, the Composite extension has to be initialized. This is done in the CompositeExtensionInit() function. Beyond that however, the extension also appears to need a PictureScreen (provided by RENDER), this is done by calling fbPictureInit(). Originally I had tried to use the mfbPictureInit()/cfbPictureInit() series of functions, but they did not support Compositing. This is provied in fb/fbpict.c as fbComposite().

Xnest appears to have the same bug as Xvnc (which is loosely based on Xnest and Xvfb), in that it never calls CompositeExtensionInit() and thus crashes when the Composite extension is turned on.

One interesting thing which was discovered was that XAACompositeSrcCopy() was basically an optimized version of XAAComposite() (it seems a bug had been filed for the slow down caused by always using the code in XAAComposite() directly).

There appears to be more code involved when moving windows around. Specifically, when running under Xvnc rendering errors occur in the pixmap used to store the images drawn onto the window. Currently the workaround is to re-expose the window every time it is moved.