Mathieu Westphal
2018-09-21 13:14:39 UTC
Hello Xorg list,
When using mesa, my Qt OpenGL based application has some transparency issue.
The OpenGL rendering zone is transparent but it should not be.
XLIB_SKIP_ARGB_VISUALS seems to fix the issue but I wonder how I could
specify this in the c++ code instead as in the environnement.
Regarding the Xorg documentation :
5.3. Composite exposes extra visuals
When the Composite extension is enabled via xorg.conf or the command line,
a new visual is created. This visual is different from the other visuals
used by X applications in that it includes an alpha component. It is used
by the compositing manager and other Composite aware applications.
Most X applications ignore this visual since it is not useful to them;
however some applications mistakenly try to use it, which will cause them
to fail. An environment variable, XLIB_SKIP_ARGB_VISUALS, was added to the
X11 library to hide this visual from applications that mistakenly try to
use it. If an application fails only when the Composite is enabled, try
setting this environment variable before starting the application.
Since Composite is not enabled by default, it is not expected that this
issue will be visible to most users.
My question would be : How to programmatic ally ensure that my Qt
application does not mistakenly try to use the extra composite visual.
Thanks,
Mathieu Westphal
When using mesa, my Qt OpenGL based application has some transparency issue.
The OpenGL rendering zone is transparent but it should not be.
XLIB_SKIP_ARGB_VISUALS seems to fix the issue but I wonder how I could
specify this in the c++ code instead as in the environnement.
Regarding the Xorg documentation :
5.3. Composite exposes extra visuals
When the Composite extension is enabled via xorg.conf or the command line,
a new visual is created. This visual is different from the other visuals
used by X applications in that it includes an alpha component. It is used
by the compositing manager and other Composite aware applications.
Most X applications ignore this visual since it is not useful to them;
however some applications mistakenly try to use it, which will cause them
to fail. An environment variable, XLIB_SKIP_ARGB_VISUALS, was added to the
X11 library to hide this visual from applications that mistakenly try to
use it. If an application fails only when the Composite is enabled, try
setting this environment variable before starting the application.
Since Composite is not enabled by default, it is not expected that this
issue will be visible to most users.
My question would be : How to programmatic ally ensure that my Qt
application does not mistakenly try to use the extra composite visual.
Thanks,
Mathieu Westphal