I have a possible culprit.

The composite extension requires premultiplied alpha data when
compositing images with alpha. So (0, 0, 0, 0) means fully transparent
and (0, 0, 0, 1) means solid black. This is consistent with what I am
seeing with the login window.

I found some example code with walks through the proposed matching GLX
FB configs and uses the Render exentsion to check for the alpha mask of
that framebuffer. This is used by code that explicitly wants an alpha
channel for compositing.

Something along the lines of

        for (i = 0; i < numfbconfigs; i++) {
                visinfo = glXGetVisualFromFBConfig(dpy, fbconfigs[i]);
                if (!visinfo) continue;
                pictFormat = XRenderFindVisualFormat(dpy, visinfo->visual);
                if (!pictFormat) continue;
                printf("%d %d %d\n", numfbconfigs, i, 
pictFormat->direct.alphaMask);
        }

When playing around with attributes and looking for matching FB visuals,
there are usually one or more matches and only the last one listed has
an alphaMask of 255, all others are 0.

Now it appears that on my system the only FB config available matching
Minecraft's requested attributes is the one with alphaMask of 255, i.e.
its alpha value *is* passed to the compositor.

Now my guess is that Minecraft simply isn't expecting that, so the alpha
bit contains a random value (typically 0) which is then accidentally
used by the compositor.

So, to support my theory one would need to check if the issue is simply
Minecraft/LWJGL now selecting an RGBA visual with the alpha channel
interpreted by the compositor whereas before that was not the case.

I'll try to hack Minecraft to set the alpha value to 1 in the meantime
to see if it helps. I am just wondering whether this is standard or
nonstandard and Minecraft/LWJGL is supposed to handle this correclty or
not.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1277905

Title:
  Game windows (minecraft, titan attacks, maybe others) on Intel are
  transparent and no longer playable

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1277905/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to