Bug 103655

Summary: Broken transparency in Plasma 5.10 (c591b1e59454db2e8854e36852e0d413ce38b2f2)
Product: Mesa Reporter: bartos.petr
Component: Drivers/DRI/i965Assignee: Tapani Pälli <lemody>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: major    
Priority: medium CC: germano.massullo
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: enable sna
glxapp
glxinfo

Description bartos.petr 2017-11-09 21:30:24 UTC
Hi,
with mesa git build from commit 688d6958682f96aaeb88aa8cc23cc5c9886a6be4 there is problem with broken transparency in Plasma 5.10. Plasma panel, krunner, application menu and also logout screen are fully opaque. It might be caused by some combination with blur, because moving windows are still transparent.

I found problem is caused by commit c591b1e59454db2e8854e36852e0d413ce38b2f2. Reverting this commit makes everything working again.

Probably also connected with https://bugs.freedesktop.org/show_bug.cgi?id=103646
Comment 1 Tapani Pälli 2017-11-10 05:00:08 UTC
Just to be sure this is not mismatch between X and Mesa visuals, did you restart Xorg after driver installation?
Comment 2 bartos.petr 2017-11-10 09:22:02 UTC
Hi,
I've noticed transparency problem after restart, so yes. Also I'm building mesa package via Fedora COPR, so I've both versions available and switched several times (an restarted) to be sure it is really problem with that commit.

But based on your question I've also tried Wayland session and problem is not present there. So it is problem only with Xorg.
Comment 3 Tapani Pälli 2017-11-10 11:47:17 UTC
This was tested today on Arch Linux using Plasma 5.11 and this bug was not reproduced.

Would it be possible for you to take an apitrace of the issue? This would make it possible to see exact GLX commands and arguments and help debugging the issue.
Comment 4 bartos.petr 2017-11-10 16:06:55 UTC
It might be fixed in 5.11 since there were some clenaups in Xorg/Wayland Kwin codepaths if I'm not mistaken.
However from the other linked issue I see you are using also Fedora 26 (as am I), so maybe you can try to debug it yourself?
Or please give me instruction how to provide API trace since I have no idea how to do it.
Comment 5 Tapani Pälli 2017-11-10 19:15:25 UTC
(In reply to bartos.petr from comment #4)
> It might be fixed in 5.11 since there were some clenaups in Xorg/Wayland
> Kwin codepaths if I'm not mistaken.
> However from the other linked issue I see you are using also Fedora 26 (as
> am I), so maybe you can try to debug it yourself?
> Or please give me instruction how to provide API trace since I have no idea
> how to do it.

OK no worries, I'll take a look.
Comment 6 bartos.petr 2017-11-10 19:39:49 UTC
Thanks. In case it helps, here is my copr repo https://copr.fedorainfracloud.org/coprs/petrb/thisandthat/. build 17.4.0-6.git688d695.fc26 is broken, build 17.4.0-7.git688d695.fc26 is with reverted commit.
Comment 7 Tapani Pälli 2017-11-13 09:25:40 UTC
I've spent quite a bit of time trying to get kde/plasma desktop to launch on fc26 but could not get it working. I'll need to install kubuntu or similar on a separate box to debug this.

However priority for this will be quite low now as it seems very likely that this is not a Mesa bug.
Comment 8 Tapani Pälli 2017-11-14 14:15:12 UTC
Having said that ... I'm not too sure anymore. I've reproduced this and have now apitrace of kwin_x11. Will investigate what is going on.
Comment 9 Tapani Pälli 2017-11-15 07:47:48 UTC
Hello, could you please retry with using "sna" as the acceleration method? I will attach here required configuration file for testing this. You will need to copy this file to /usr/share/X11/xorg.conf.d/.
Comment 10 Tapani Pälli 2017-11-15 07:48:08 UTC
Created attachment 135479 [details]
enable sna
Comment 11 Tapani Pälli 2017-11-15 08:16:33 UTC
(also please try again with latest mesa)
Comment 12 bartos.petr 2017-11-16 12:08:19 UTC
Hi,
I've tested it with latest mesa (or to be precise commit 059d25a, it took a while for COPR to built) and unfortunately problem is still there.
I didn't mention before that I am regulary using modesetting driver (glamor). So I've switched to intel driver, tried both SNA and UXA, and also switch between DRI3 and DRI2, but it didn't help.
Btw my integrated card is Intel HD Graphics 5500 (Broadwell GT2) in case it makes any difference.
Comment 13 Tapani Pälli 2017-11-16 12:22:36 UTC
There is also bug #103699 , do you have similar symptoms on your system? Could you also attach glxinfo and if possible, the output from test program attached in bug #103699. Thanks!
Comment 14 bartos.petr 2017-11-16 19:59:08 UTC
I need some help with compilation. I ended with:

/tmp/ccwrQS7Q.o: In function `find_depth_visual(_XDisplay*, int, int)':
test.cpp:(.text+0x3a): undefined reference to `XGetVisualInfo'
test.cpp:(.text+0x8b): undefined reference to `XRenderFindVisualFormat'
test.cpp:(.text+0xd6): undefined reference to `XFree'
/tmp/ccwrQS7Q.o: In function `glxapp::glxapp(unsigned int, unsigned int)':
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x32): undefined reference to `XOpenDisplay'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x1dd): undefined reference to `XVisualIDFromVisual'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x21c): undefined reference to `XCreateColormap'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x2d4): undefined reference to `XCreateWindow'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x302): undefined reference to `XInternAtom'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x33d): undefined reference to `XSetWMProtocols'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x362): undefined reference to `XSelectInput'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x382): undefined reference to `XClearWindow'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x3a2): undefined reference to `XMapWindow'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x3b4): undefined reference to `XFlush'
test.cpp:(.text._ZN6glxappC2Ejj[_ZN6glxappC5Ejj]+0x3e3): undefined reference to `XIfEvent'
/tmp/ccwrQS7Q.o: In function `glxapp::glx_attrib(__GLXFBConfigRec*, int)':
test.cpp:(.text._ZN6glxapp10glx_attribEP16__GLXFBConfigReci[_ZN6glxapp10glx_attribEP16__GLXFBConfigReci]+0x29): undefined reference to `glXGetFBConfigAttrib'
/tmp/ccwrQS7Q.o: In function `glxapp::list_kwin_configs()':
test.cpp:(.text._ZN6glxapp17list_kwin_configsEv[_ZN6glxapp17list_kwin_configsEv]+0x1cc): undefined reference to `glXChooseFBConfig'
test.cpp:(.text._ZN6glxapp17list_kwin_configsEv[_ZN6glxapp17list_kwin_configsEv]+0x2b2): undefined reference to `glXChooseFBConfig'
/tmp/ccwrQS7Q.o: In function `glxapp::init_glx_by_choosing_config()':
test.cpp:(.text._ZN6glxapp27init_glx_by_choosing_configEv[_ZN6glxapp27init_glx_by_choosing_configEv]+0xaa): undefined reference to `glXChooseFBConfig'
test.cpp:(.text._ZN6glxapp27init_glx_by_choosing_configEv[_ZN6glxapp27init_glx_by_choosing_configEv]+0x13b): undefined reference to `glXGetVisualFromFBConfig'
test.cpp:(.text._ZN6glxapp27init_glx_by_choosing_configEv[_ZN6glxapp27init_glx_by_choosing_configEv]+0x19d): undefined reference to `glXCreateContext'
test.cpp:(.text._ZN6glxapp27init_glx_by_choosing_configEv[_ZN6glxapp27init_glx_by_choosing_configEv]+0x1de): undefined reference to `glXCreateWindow'
/tmp/ccwrQS7Q.o: In function `glxapp::~glxapp()':
test.cpp:(.text._ZN6glxappD2Ev[_ZN6glxappD5Ev]+0x51): undefined reference to `glXMakeContextCurrent'
test.cpp:(.text._ZN6glxappD2Ev[_ZN6glxappD5Ev]+0x6e): undefined reference to `glXDestroyContext'
test.cpp:(.text._ZN6glxappD2Ev[_ZN6glxappD5Ev]+0x88): undefined reference to `XDestroyWindow'
test.cpp:(.text._ZN6glxappD2Ev[_ZN6glxappD5Ev]+0x97): undefined reference to `XCloseDisplay'
/tmp/ccwrQS7Q.o: In function `glxapp::ask_fb_param(unsigned int)':
test.cpp:(.text._ZN6glxapp12ask_fb_paramEj[_ZN6glxapp12ask_fb_paramEj]+0x41): undefined reference to `glXGetProcAddressARB'
/tmp/ccwrQS7Q.o: In function `glxapp::exec()':
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x78): undefined reference to `glXMakeCurrent'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0xeb): undefined reference to `glClearColor'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x1c9): undefined reference to `glGetError'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x211): undefined reference to `XEventsQueued'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x224): undefined reference to `glClear'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x245): undefined reference to `XNextEvent'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x279): undefined reference to `XLookupKeysym'
test.cpp:(.text._ZN6glxapp4execEv[_ZN6glxapp4execEv]+0x2da): undefined reference to `glXSwapBuffers'
collect2: error: ld returned 1 exit status
Comment 15 Tapani Pälli 2017-11-17 06:26:16 UTC
You will need to install (at least) following development packages:

libX11-devel
libXrender-devel
mesa-libGL-devel

Following line should compile the app:

g++ -g -ggdb -o glxapp test.cpp -lX11 -lXrender -lGL
Comment 16 bartos.petr 2017-11-17 19:39:54 UTC
So, I don't see any problems in Firefox (but I'm already using Quantum, so it may behave differently).
For the testing app, it creates visible window with fully opaque white content (but you didn't tell what exactly I should see, so maybe it's ok :o) ). Both logs from app and glxinfo are attached.
Comment 17 bartos.petr 2017-11-17 19:40:16 UTC
Created attachment 135559 [details]
glxapp
Comment 18 bartos.petr 2017-11-17 19:40:34 UTC
Created attachment 135560 [details]
glxinfo
Comment 19 Tapani Pälli 2017-11-20 08:38:01 UTC
(In reply to bartos.petr from comment #16)
> So, I don't see any problems in Firefox (but I'm already using Quantum, so
> it may behave differently).
> For the testing app, it creates visible window with fully opaque white
> content (but you didn't tell what exactly I should see, so maybe it's ok :o)
> ). Both logs from app and glxinfo are attached.

Thanks, expected result is a visible window with a white background and the visual lists should all have srgb as 0 like in your log. It seems the result may vary though so there are clearly 2 different issues here. Bug #103699 is different and there likely the window is invisible. Will continue digging ..
Comment 20 Tapani Pälli 2018-01-16 06:05:14 UTC
I haven't been able to reproduce this after following commit landed to Xorg and I haven't received any new bugs on this subject. Resolving as fixed, please reopen if this still occurs.

--- 8< ---
commit c2954b16c8730c7ed8441fd8dba25900f3aed265
Author: Tapani Pälli <tapani.palli@intel.com>
Date:   Tue Nov 28 09:23:29 2017 +0200

    glx: do not pick sRGB config for 32-bit RGBA visual
    
    This fixes blending issues seen with kwin and gnome-shell when
    32bit visual has sRGB capability set.
    
    Reviewed-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
Comment 21 WilliamRiley 2019-05-24 05:13:32 UTC
Very useful post regarding Bug 103655-Broken transparency in Plasma 5.10. Thank you so much for sharing with us and looking forward for more useful posts.

- William,
http://www.eliteassignment.co.uk/assignment-writing-service/
Comment 22 Lyla Taylor 2019-08-28 08:23:36 UTC
Treat Assignment Help providing Assignment Help in UK. Our team help to complete assignment writing, essay writing, academic writing within timing. If you need assignment service to contact me.https://www.treatassignmenthelp.co.uk

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.