Bug 95539

Summary: xvfb: Composite extension supported but not active (but can return usable 32 bit depth visual)
Product: xorg Reporter: Julien Isorce <julien.isorce>
Component: Server/DDX/XvfbAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
sample to check if _NET_WM_CM_S0 is et none

Description Julien Isorce 2016-05-23 10:59:17 UTC
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.
Comment 1 Julien Isorce 2016-05-23 11:00:25 UTC
Created attachment 123993 [details]
sample to check if _NET_WM_CM_S0 is et
Comment 2 Olivier Fourdan 2016-05-23 11:16:48 UTC
(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.

See https://specifications.freedesktop.org/wm-spec/wm-spec-1.4.html#idm139915842304656

| 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].
Comment 3 Olivier Fourdan 2016-05-23 11:20:23 UTC
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.
Comment 4 Julien Isorce 2016-05-23 12:24:13 UTC
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:
./check_composite:
-> 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)

Thx

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.