Bug 309510

Summary: Logout Desaturation Desktop Effect no longer works correctly
Product: [Plasma] kwin Reporter: Terry Moschou <tmoschou>
Component: effects-variousAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: tmoschou
Priority: NOR    
Version: 4.9.2   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Original Desktop
Desktop Effect with Artifacts
xsession-errors
Output of command "qdbus org.kde.kwin /KWin supportInformation"
Use of OpenGL 2 Shaders disabled
With option useBlur disabled
Output of command "glxinfo -l"

Description Terry Moschou 2012-11-04 08:05:04 UTC
Recently my Logout Desaturation Desktop Effect no longer works correctly.

When I bring up the logout/shutdown dialogue, the desktop will darken as expected however there many obvious artifacts also displayed. These artifacts, appear to be other graphical elements that my monitor has previously shown, though usually in a distorted fashion, for example launcher icons positioned upside down, stretched, and located randomly. This problem occurs every time I bring up the logout/shutdown dialogue.

I have attach two screen shots showing an example of these artifacts that appear - One showing the original desktop and one showing the logout/shutdown screen with the desktop effect running.

Though I am not certain, I believe that the desktop effect may have broken on upgrade from KDE 4.8.5 to 4.9.1, though it could have been before then.

Surprisingly, the desktop effect Desaturate that Desaturates the desktop when displaying the Plasma dashboard works, even with blur enabled.

This effect fails when I use the OpenGL compositor, XRender does not have this problem, though XRender does not support all my enabled desktop effect, so I would rather not wish to use XRender.

Disabling Use of OpenGL 2 Shaders causes catastrophic problems, as shown in Screen shot 3.

Graphics Card: nVidia Corporation GT218 [GeForce 310M] (rev a2)
Graphics Driver: nouveau

I have also attached a copy of my ~/.xsession-errors, immediately after invoking the logout dialogue and closing it. The line

kwin(5507) KWin::checkGLError: GL error ( Render blur texture ):  "GL_INVALID_OPERATION"

is written multiple times when invoking the logout dialogue.


Reproducible: Always
Comment 1 Terry Moschou 2012-11-04 08:08:25 UTC
Created attachment 74986 [details]
Original Desktop
Comment 2 Martin Flöser 2012-11-04 08:09:52 UTC
the GL_INVALID_ERRORS would explain the distortion. Could you please provide the output of:
qdbus org.kde.kwin /KWin supportInformation
Comment 3 Terry Moschou 2012-11-04 08:10:16 UTC
Created attachment 74987 [details]
Desktop Effect with Artifacts
Comment 4 Terry Moschou 2012-11-04 08:12:22 UTC
Created attachment 74988 [details]
xsession-errors
Comment 5 Terry Moschou 2012-11-04 08:13:34 UTC
Created attachment 74989 [details]
Output of command "qdbus org.kde.kwin /KWin supportInformation"
Comment 6 Terry Moschou 2012-11-04 08:15:43 UTC
Created attachment 74990 [details]
Use of OpenGL 2 Shaders disabled
Comment 7 Terry Moschou 2012-11-04 08:18:51 UTC
(In reply to comment #2)
> the GL_INVALID_ERRORS would explain the distortion. Could you please provide
> the output of:
> qdbus org.kde.kwin /KWin supportInformation

See attached file
Comment 8 Martin Flöser 2012-11-04 08:25:39 UTC
could you please try to disable the option for useBlur? Unfortunately there is no config option for it, so it's

kwriteconfig --file kwinrc --group Effect-Logout --key UseBlur --type bool false

afterwards just restart kwin with:
kwin --replace &

To enable the blur again use the same command with a true at the end.
Comment 9 Terry Moschou 2012-11-04 08:42:38 UTC
Created attachment 74991 [details]
With option useBlur disabled
Comment 10 Terry Moschou 2012-11-04 08:46:20 UTC
(In reply to comment #8)
> could you please try to disable the option for useBlur? Unfortunately there
> is no config option for it, so it's
> 
> kwriteconfig --file kwinrc --group Effect-Logout --key UseBlur --type bool
> false
> 
> afterwards just restart kwin with:
> kwin --replace &
> 
> To enable the blur again use the same command with a true at the end.

Ok I have done that and the visual artifacts go away as shown in the 4th snapshot. But return when I enable blur again. But likewise the blur & desaturation when showing the widget dashboard works correctly.
Comment 11 Martin Flöser 2012-11-04 08:55:06 UTC
(In reply to comment #10)
> Ok I have done that and the visual artifacts go away as shown in the 4th
> snapshot. But return when I enable blur again. But likewise the blur &
> desaturation when showing the widget dashboard works correctly.
In the dashboard it is implemented in a different way.

Please provide your screen dimensions and the output of:
glxinfo -l

Btw. would you be able to apply patches to KWin and compile a tested version?
Comment 12 Terry Moschou 2012-11-04 09:04:47 UTC
Created attachment 74993 [details]
Output of command "glxinfo -l"
Comment 13 Terry Moschou 2012-11-04 09:10:58 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > Ok I have done that and the visual artifacts go away as shown in the 4th
> > snapshot. But return when I enable blur again. But likewise the blur &
> > desaturation when showing the widget dashboard works correctly.
> In the dashboard it is implemented in a different way.
> 
> Please provide your screen dimensions and the output of:
> glxinfo -l
> 
> Btw. would you be able to apply patches to KWin and compile a tested version?

Screen dimensions are 1600x900.
Output of "glxinfo -l"

Yes I should be able to apply patches to KWin, compile and test.
Comment 14 Martin Flöser 2012-11-04 09:49:47 UTC
Let's first try whether mesa tells us where the error is.

Please run kwin with the environment variable MESA_DEBUG being set:
MESA_DEBUG=1 kwin --replace &

This should print to stderr what caused the error. For a full overview of environment variables have a look at http://www.mesa3d.org/envvars.html - there might be more interesting ones to figure out the problem.
Comment 15 Terry Moschou 2012-11-04 10:25:45 UTC
(In reply to comment #14)
> Let's first try whether mesa tells us where the error is.
> 
> Please run kwin with the environment variable MESA_DEBUG being set:
> MESA_DEBUG=1 kwin --replace &
> 
> This should print to stderr what caused the error. For a full overview of
> environment variables have a look at http://www.mesa3d.org/envvars.html -
> there might be more interesting ones to figure out the problem.

When I bring up the logout dialogue the lines

Mesa: User error: GL_INVALID_OPERATION in glBlitFramebufferEXT(bad src/dst multisample pixel formats)
kwin(9415) KWin::checkGLError: GL error ( Render blur texture ):  "GL_INVALID_OPERATION"

are print to stderr, until I close the logout dialogue.
Comment 16 Terry Moschou 2012-11-04 10:35:13 UTC
Also some additional information, shown below, is also printed to stderr before I bring up the logout dialogue. I don't know if that will help

Running "MESA_DEBUG=1 LIBGL_DEBUG=verbose kwin --replace >/dev/null &"
gives:

function is no-op
libGL: OpenDriver: trying /usr/lib64/dri/nouveau_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/terry/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/terry/.drirc: No such file or directory.
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
libGL: OpenDriver: trying /usr/lib64/dri/nouveau_dri.so
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/terry/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/terry/.drirc: No such file or directory.
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable
Mesa: User error: GL_INVALID_OPERATION in glBlitFramebufferEXT(bad src/dst multisample pixel formats)
kwin(9537) KWin::checkGLError: GL error ( Render blur texture ):  "GL_INVALID_OPERATION" 
Mesa: User error: GL_INVALID_OPERATION in glBlitFramebufferEXT(bad src/dst multisample pixel formats)
kwin(9537) KWin::checkGLError: GL error ( Render blur texture ):  "GL_INVALID_OPERATION" 
Mesa: User error: GL_INVALID_OPERATION in glBlitFramebufferEXT(bad src/dst multisample pixel formats)
...(repeated until logout dialogue closed)
Comment 17 Martin Flöser 2012-11-04 10:43:06 UTC
> multisample
seems the same issue as bug #308385 - let's wait whether 4.9.3 fixes this issue
Comment 18 Thomas Lübking 2012-11-04 17:31:17 UTC
It's likely the "multisample-by-default" issue, see bug #308385

*** This bug has been marked as a duplicate of bug 308385 ***
Comment 19 Thomas Lübking 2012-11-04 17:33:01 UTC
blast, while comment #18 is true (likely) i did not mean to alter this bug... sorry.
Comment 20 Terry Moschou 2012-11-18 06:43:21 UTC
This issue is fixed in 4.9.3