Ok, so this proves my point. The unwanted "change" somewhere in the X/GL stack is that the visual with the composite alpha channels is now "accidentally" chosen by default whereas the applications expect the alpha channel to be ignored.
I just decompiled Minecraft and hacked the calls to glClearColor to set the alpha value to "1.0" and this "corrects" the output (at least for Minecraft...).
Ok, so this proves my point. The unwanted "change" somewhere in the X/GL stack is that the visual with the composite alpha channels is now "accidentally" chosen by default whereas the applications expect the alpha channel to be ignored.
I just decompiled Minecraft and hacked the calls to glClearColor to set the alpha value to "1.0" and this "corrects" the output (at least for Minecraft...).
gcc -o test test.c -lX11 -lXrender -lGL && ./test
Prints:
visual 0: alphaMask = 255
visual 1: alphaMask = 0
visual 2: alphaMask = 0
visual 3: alphaMask = 0
visual 4: alphaMask = 0
visual 5: alphaMask = 0
visual 6: alphaMask = 0
visual 7: alphaMask = 0
Which means that the first visual proposed contains the alpha mask causing unwanted alpha compositing.