Bug 198950

Summary: Blur effect has gone in RC1
Product: [Plasma] kwin Reporter: Ireyon <philip.rebohle>
Component: compositingAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: flying-sheep, fredrik, friiduh, nbensa, null
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ireyon 2009-07-04 21:06:01 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

Since I've upgraded to KDE 4.3 RC1 yesterday (from Beta 2) on Kubuntu 9.04, the KWin's blur effect is not in the plugin list anymore. Is it an Ubuntu-related problem or has it really gone? The effect was quite nice and senseful.
Comment 1 Thomas Lübking 2009-07-04 22:52:19 UTC
gone for being too buggy.
will be reimplemented and readded later. (hopefully 4.4)
Comment 2 Norberto Bensa 2009-07-05 19:40:55 UTC
hello!

buggy for whom? It was working very well here! Can it be re-enabled for 4.3 final? 

thanks!
Comment 3 Thomas Lübking 2009-07-05 21:12:03 UTC
many?
it esp. caused visual glitches after fullscreen effects (ghost framesafter desk switching etc.) interfered with other effects (zoom at least didn't work at all w/ blur enabled, i think there were similar problems with the cube?)

4.3 is fixed, so no.
as for now, it will not be available with this release, sorry :-(
Comment 4 Ireyon 2009-07-05 21:49:29 UTC
It worked also well enough for me which is why I was puzzled. Any chance to get it back an 'unofficial' way from 4.2 sources?
Comment 5 Norberto Bensa 2009-07-05 22:33:34 UTC
On Sun, Jul 5, 2009 at 4:49 PM, Ireyon<philip.rebohle@ewetel.net> wrote:
> --- Comment #4 from Ireyon <philip rebohle ewetel net>  2009-07-05 21:49:29 ---
> It worked also well enough for me which is why I was puzzled. Any chance to get
> it back an 'unofficial' way from 4.2 sources?

They only commented an include.

http://osdir.com/ml/kde-commits/2009-06/msg02244.html

The problem for me is: using transpart konsole/yakuake is almost
imposible when blur is disabled. The effect should be put back on but
disabled by default if it so "buggy".
Comment 6 lucas 2009-07-06 05:11:58 UTC
The blur effect was already disabled by default. The reason why I completely removed it the official release is that it was causing hell on this Bugzilla when people did enable the effect.

Doing a very quick search (Inaccurate but meh) of all KWin reports there have been ~80 references to the blur effect, and that doesn't include bugs reported to other programs. That pretty much makes it the buggiest part of KWin and nobody has had the time to fix it yet, thus the removal from source to keep us sane.
Comment 7 Fri13 2009-08-07 12:28:05 UTC
The blur effect is awesome and really is good for usability. But it really was very buggy. Made even widgets edges look ugly. Good it is removed but hopefully it would gain some love before 4.4. I hoped it would be keeped for 4.3 and just fixed. Now it takes 6 months again to have it. That is just bad thing for the KDE brand. :(
Comment 8 Christoph Feck 2009-09-30 11:31:20 UTC
*** Bug 208860 has been marked as a duplicate of this bug. ***
Comment 9 Ireyon 2009-10-09 20:46:32 UTC
Is there anything new about the effect? If not, it would be great if it could be re-enabled in 4.4, perhaps with the hint that it is "highly unstable" or so.
Comment 10 Martin Flöser 2009-10-09 21:21:19 UTC
(In reply to comment #9)
> Is there anything new about the effect? 
Well I have a new implementation, but I'm still very unhappy about it.
> If not, it would be great if it could be re-enabled in 4.4, perhaps with the hint that it is "highly unstable" or so.
No I think that won't happen. The effect is causing problems and I don't want to ship software which we know that it is broken.
Comment 11 Ireyon 2009-11-15 00:13:36 UTC
I know worked out where the problem of the old effect was. The blur strength is currently set only once for the whole window rect but it is necessary to render a grayscale mask to a texture.
I currently cannot fix it myself because of too little knowledge in C++ and the KDE API.

Then I've got a diff for the blur-render.frag shader that fixes the problem that the region around the window is too bright. Still quite ugly, but better than before:



@@ -30,11 +30,13 @@ vec4 windowColor(vec2 texcoord)
 void main()
 {
     vec2 blurtexcoord = pix2tex(gl_FragCoord.xy);
-
     vec4 winColor = windowColor(gl_TexCoord[0].xy);
+    // Remove these two lines as soon as the effect works properly
+    if (winColor.a * opacity <= 0.05)
+      discard;
     vec3 tex = mix(texture2D(backgroundTex, blurtexcoord).rgb,
                    winColor.rgb, winColor.a * opacity);

-    gl_FragColor = vec4(tex, pow(winColor.a, 0.2));
+    gl_FragColor = vec4(tex, 1.0);
 }
Comment 12 Ireyon 2010-02-20 16:33:46 UTC
Maybe it would be easier to do a KWin option to blur everything behind transparent windows instead of implementing it as an effect, e.g. if the windows are finally rendered, copy the window backgrund into a texture and apply a simple shader, then draw the window with the blurred texture.
Comment 13 Fredrik Höglund 2010-02-20 18:39:02 UTC
I've actually been working on a new blur effect this past week that does something similar to what you suggest.

It copies the background into a texture before a window is drawn, and then draws the texture back while blurring it with a shader and clipping it to the window shape.

There's no need to implement this in the core though, because effects can manipulate the background just before a window is drawn by the core.
Comment 14 Martin Flöser 2010-03-22 08:31:23 UTC
As Fredrik committed the effect to trunk some weeks ago, I think we can set this report to fixed :-)