Atom _NET_WM_CM_S0 is not set on xvfb server. It seems to support Composite extension but it is not active.
Since xvfb can return a usable 32 bit depth visual I wonder if the fact that _NET_WM_CM_S0 is not set could be a bug.
Sample to reproduce the problem will follow.
Created attachment 123993 [details]
sample to check if _NET_WM_CM_S0 is et
(In reply to Julien Isorce from comment #1)
> Created attachment 123993 [details]
> sample to check if _NET_WM_CM_S0 is set
_NET_WM_CM_S0 is an atom set by the compositing manager (usually the window manager who plays the role of compositing manager as well, when compositing is enabled), not something set by the X server.
WM stands for window manager and CM for compositing manager, and the last S stands for "selection", neither of those are the Xserver responsibility.
| For each screen they manage, compositing manager MUST acquire ownership of a
| selection named _NET_WM_CM_Sn, where n is the screen number. Compositing
| managers MUST comply with the conventions for "Manager Selections" described in
| section 2.8 of the [ICCCM].
So, to be clear, this bug seems invalid to me, on top of the X server (Xvfb in this case), you need to run an EWMH compliant window manager/compositing manager who will create that atom _NET_WM_CM_S0 and take that selection.
Olivier explained me that I was missing to run a specific window manager for that display I set for xvfb:
Xvfb :55 -screen 0 1280x800x24 -pixdepths 32
xcompmgr -d :55
The running the attached sample shows that _NET_WM_CM_S0 is set:
-> has composite extension: 1
-> is composite active: 1
I also tested that it works when using unity or mutter instead of xcompmgr. (But it was not working with xfwm4 on my setup)