x.org and GTK+ 1.x progs

Keith Packard keithp at keithp.com
Tue Aug 31 11:10:42 PDT 2004


Around 19 o'clock on Aug 31, Roland Mainz wrote:

> Is it possible to reoder the ARGB visuals in a way on the server side
> that they appear at the end of the list of visuals (e.g. after the
> normal RGB (or better: non-ARGB) visuals) ? Maybe that can prevent such
> things (crashes etc.) from happening...

If you'll check your xdpyinfo output, that's already the case.

The problem here is that applications are careless about visual matching 
and often use slightly different algorithms in different parts of the 
code.  When both algorithms end up matching the same visual, there's no 
problem.  But, introduce a new visual into the X server and you'll see 
applications breaking.  There's no real fix we can put into the X server, 
unfortunately the burden of this problem lies on the application 
developers.  It's not really the fault of the Composite extension itself; 
I did some testing with adding a simple depth-24 RGB visual to my 
nominally 16-bit X server and found all of the same issues.

I did try to move these new visuals to the Composite extension itself so 
that existing applications would never see them, but the troubles with
that approach were even worse than when these new visuals were just 
presented in the normal list (many applications segfaulted quite 
spectacularly).

I also considered a more 'clever' test for 'broken' applications inside 
xlib -- placing a test around code which only the flash plugin was using, 
but we rejected that as too difficult to document and explain to people.  
The current environment variable is easy to understand (at least by 
developers), and also easy to demonstrate (just use xdpyinfo).

If we can come up with a better method for making this all work, we'll 
certainly want to use it.  This is, of course, one of the primary reasons 
that Composite is disabled by default in the Xorg server.

-keith


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20040831/7f55aa6d/attachment.pgp>


More information about the xorg mailing list