Bug 240956 - Blur effect loads but doesn't work if FBO status is not GL_FRAMEBUFFER_COMPLETE_EXT
Summary: Blur effect loads but doesn't work if FBO status is not GL_FRAMEBUFFER_COMPLE...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: git master
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 239890 240952 241113 241479 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-06-06 22:56 UTC by eightmillion
Modified: 2011-03-20 14:20 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
glxinfo (16.83 KB, text/plain)
2010-06-06 23:11 UTC, eightmillion
Details
glxinfo mgerdin (16.43 KB, text/plain)
2010-06-10 13:03 UTC, Mikael Gerdin
Details
glxinfo igor (10.89 KB, text/plain)
2010-06-11 15:59 UTC, Igor Poboiko
Details
glxinfo jakob (16.85 KB, text/plain)
2010-06-12 03:28 UTC, disabled account
Details
Patch to test if FBO's are working (1.17 KB, patch)
2010-06-12 09:27 UTC, Martin Flöser
Details
Blur enabled (152.04 KB, image/jpeg)
2010-06-13 01:39 UTC, Edney Matias
Details
Blur disabled (190.20 KB, image/jpeg)
2010-06-13 01:40 UTC, Edney Matias
Details
Present windows with blur enabled (158.00 KB, image/jpeg)
2010-06-13 02:31 UTC, Edney Matias
Details
opengl fbo testcase (1.18 KB, text/x-python)
2010-06-13 15:08 UTC, Mikael Gerdin
Details
glxinfo igor (new) (11.01 KB, text/plain)
2010-06-13 16:48 UTC, Igor Poboiko
Details
glxinfo (saya) (18.05 KB, text/plain)
2010-09-07 04:58 UTC, saya.sheng
Details

Note You need to log in before you can comment on or make changes to this bug.
Description eightmillion 2010-06-06 22:56:33 UTC
Version:           SVN (using Devel) 
OS:                Linux

The blur plugin in KDE 4.4.80 produces no blurring. Judging from Martin Graesslin's blog, my hardware should support it.

$ glxinfo | grep GL_ARB_fragment_program                                                                                                                                                       
    GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program,                                                                                                                                 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,

Running kwin manually and logging output, I get the following.

kwin(24054) KWin::EffectsHandlerImpl::loadEffect: Trying to load  "kwin4_effect_blur"
kwin(24054): Invalid framebuffer status:  0

Reproducible: Always
Comment 1 Martin Flöser 2010-06-06 23:08:45 UTC
I forgot an important part in my blog post: you also need frambuffer objects. It's mentioned in the comments.

Could you please post your complete glxinfo, so that we know which driver you use, what is supported, etc. etc.
Comment 2 eightmillion 2010-06-06 23:11:23 UTC
Created attachment 47758 [details]
glxinfo
Comment 3 eightmillion 2010-06-06 23:12:00 UTC
I've attached my glxinfo output. Thanks for the super fast response, Martin.
Comment 4 Martin Flöser 2010-06-06 23:39:06 UTC
the output looks fine: it should work.

developer blah following:
I just looked at the source code for the debug statement and found this snippet in (kwinglutils.cpp line 1023)

void GLRenderTarget::initFBO()
    {
    glGenFramebuffers(1, &mFramebuffer);
    glBindFramebuffer(GL_FRAMEBUFFER_EXT, mFramebuffer);

    glFramebufferTexture2D(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
                           mTexture->target(), mTexture->texture(), 0);

    GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER_EXT);

    glBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);

    if( status != GL_FRAMEBUFFER_COMPLETE_EXT )
        { // We have an incomplete framebuffer, consider it invalid
        kError(1212) << "Invalid framebuffer status: " << status;
        glDeleteFramebuffers(1, &mFramebuffer);
        return;
        }

    mValid = true;
    }

Judging from that the driver does not return a complete framebuffer object and that's why the blur effect does not work.

As the check if the blur effect is supported just checks for the required extensions it looks like blur would work and that's why the background is so translucent.

Maybe we should try to bind a shader and a fbo in the supported method?
Comment 5 Thomas Lübking 2010-06-07 16:33:52 UTC
*** Bug 240952 has been marked as a duplicate of this bug. ***
Comment 6 Thomas Lübking 2010-06-08 17:16:28 UTC
*** Bug 241113 has been marked as a duplicate of this bug. ***
Comment 7 Fredrik Höglund 2010-06-08 22:22:41 UTC
SVN commit 1136053 by fredrik:

Add more detailed debug output in GLRenderTarget::initFBO().
CCBUG: 240956


 M  +89 -14    kwinglutils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1136053
Comment 8 eightmillion 2010-06-09 04:22:10 UTC
I rebuilt libkwineffects.so with Fredrik's changes, and this is the new output:

kwin(12432) KWin::EffectsHandlerImpl::loadEffect: Trying to load  "kwin4_effect_blur"                                                                                                          
kwin(12432): glCheckFramebufferStatus failed:  "GL_NO_ERROR"

Doesn't seem to narrow the problem down any.
Comment 9 Mikael Gerdin 2010-06-10 13:02:17 UTC
I am experiencing the exact same issue with blur, and I also get the exact same error message "GL_NO_ERROR" with libkwineffects compiled with the extra debug output enabled.
I'll attach my glxinfo aswell.
Comment 10 Mikael Gerdin 2010-06-10 13:03:01 UTC
Created attachment 47850 [details]
glxinfo mgerdin
Comment 11 S. Burmeister 2010-06-10 13:53:13 UTC
I have the same issue, i.e. the standard plasma theme is far too translucent, no matter whether I enable blur effect or not. Is this due to kwin thinking that the blur effect is available and thus using this degree of translucency or is it a usability bug of the plasma theme that it uses that much translucency?

glxinfo
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_OML_swap_method, GLX_SGI_swap_control, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, 
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group, 
    GLX_EXT_texture_from_pixmap
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 945GME GEM 20090712 2009Q2 RC3 x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 7.6
OpenGL extensions:
    GL_ARB_copy_buffer, GL_ARB_depth_texture, GL_ARB_draw_buffers, 
    GL_ARB_fragment_program, GL_ARB_half_float_pixel, GL_ARB_map_buffer_range, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_pixel_buffer_object, 
    GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_shadow, GL_ARB_sync, 
    GL_ARB_texture_border_clamp, GL_ARB_texture_compression, 
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, 
    GL_ARB_transpose_matrix, GL_ARB_vertex_array_object, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_window_pos, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, 
    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, 
    GL_EXT_cull_vertex, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, 
    GL_EXT_draw_range_elements, GL_EXT_framebuffer_object, 
    GL_EXT_framebuffer_blit, GL_EXT_fog_coord, GL_EXT_gpu_program_parameters, 
    GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, 
    GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, 
    GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, 
    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
    GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, 
    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, 
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, 
    GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage, 
    GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, 
    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3, 
    GL_ATI_separate_stencil, GL_IBM_multimode_draw_arrays, 
    GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
    GL_MESA_window_pos, GL_NV_blend_square, GL_NV_light_max_exponent, 
    GL_NV_point_sprite, GL_NV_texture_env_combine4, GL_NV_texture_rectangle, 
    GL_NV_texgen_reflection, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    GL_OES_read_format, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
glu version: 1.3
glu extensions:
    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xb6 24 tc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xb7 24 tc  0 24  0 r  .  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
0xb8 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xb9 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
0xba 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xbb 24 tc  0 24  0 r  y  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
0xbc 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  0  0  0  0  0  0 0 None
0xbd 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  0 16 16 16  0  0 0 Slow
0xbe 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  0  0  0  0  0  0 0 None
0xbf 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  0 16 16 16  0  0 0 Slow
0xc0 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  0  0  0  0  0  0 0 None
0xc1 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  0 16 16 16  0  0 0 Slow
0xc2 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc3 24 tc  0 24  0 r  .  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xc4 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc5 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xc6 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xc7 24 tc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xc8 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xc9 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xca 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xcb 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xcc 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xcd 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xce 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0xcf 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0xd0 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0xd1 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0xd2 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0xd3 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0xd4 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xd5 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xd6 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xd7 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xd8 24 dc  0 24  0 r  .  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xd9 24 dc  0 24  0 r  .  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
0xda 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xdb 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
0xdc 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0  0  0  0  0  0 0 None
0xdd 24 dc  0 24  0 r  y  .  8  8  8  0  0  0  0 16 16 16  0  0 0 Slow
0xde 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  0  0  0  0  0  0 0 None
0xdf 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  0 16 16 16  0  0 0 Slow
0xe0 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  0  0  0  0  0  0 0 None
0xe1 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  0 16 16 16  0  0 0 Slow
0xe2 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  0  0  0  0  0  0 0 None
0xe3 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  0 16 16 16  0  0 0 Slow
0xe4 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xe5 24 dc  0 24  0 r  .  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xe6 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xe7 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xe8 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8  0  0  0  0  0 0 None
0xe9 24 dc  0 24  0 r  y  .  8  8  8  0  0 24  8 16 16 16  0  0 0 Slow
0xea 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xeb 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xec 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xed 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xee 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xef 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xf0 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0xf1 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0xf2 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0xf3 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0xf4 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0xf5 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0xf6 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xf7 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xf8 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xf9 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xfa 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x55 32 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
Comment 12 Thomas Lübking 2010-06-11 03:00:40 UTC
*** Bug 239890 has been marked as a duplicate of this bug. ***
Comment 13 Igor Poboiko 2010-06-11 15:59:45 UTC
Created attachment 47904 [details]
glxinfo igor

Same there, glxinfo attached
Comment 14 Martin Flöser 2010-06-12 00:02:46 UTC
*** Bug 241479 has been marked as a duplicate of this bug. ***
Comment 15 disabled account 2010-06-12 03:28:20 UTC
Created attachment 47922 [details]
glxinfo jakob
Comment 16 Martin Flöser 2010-06-12 09:27:58 UTC
Created attachment 47929 [details]
Patch to test if FBO's are working

This patch trys to get a FBO and verifies that it is valid. If this one is not valid it will not claim any more that FBOs are supported and the blur effect should not load.

As I don't have a GPU which shows this problem someone experiencing the issue should try the patch and verify that blur does not load any more.

This is not a fix to the issue - it is a workaround! We want to have a proper solution (blur working for all of you). Nevertheless we don't want to ship a broken desktop in the RCs.
Comment 17 eightmillion 2010-06-12 20:21:18 UTC
Martin, this is the output with your patch:

kwin(6042) KWin::EffectsHandlerImpl::loadEffect: Trying to load  "kwin4_effect_blur"                                                                                                               
kwin(6042) KWin::EffectsHandlerImpl::loadEffect: EffectsHandler::loadEffect : Effect  "kwin4_effect_blur"  is not supported

It seems to do what it's meant to do.
Comment 18 Edney Matias 2010-06-12 21:31:13 UTC
Hi there!

Well messing around i managed to activate the desktop effects with the blur effect loaded. 

To get that i had to start with a clean ~/.kde folder (i backed up the old one) and activate the effects with the default options. If i change any value they don't work. If kwin crash i can't get effects again.

I did this twice, the first time the blur effect stoped to work a couple of days after, but i don't know what i did. I cleaned the folder again and right now i have the blur effect. It even responds to changes on the plug-in config. 

On one of the tries i activated the weather wallpaper and when i logged out, the plasma-desktop crashed and when i get back there was no desktop effects, any of them. The is nothing i could do to activate them.

Is this related to the FBO not being a complete FBO at all? So sometimes it works, sometimes not. Wondering...

Thank you all
Comment 19 Thomas Lübking 2010-06-12 22:07:28 UTC
(In reply to comment #18)
> Is this related to the FBO not being a complete FBO at all? So sometimes it
> works, sometimes not. Wondering...

do you get the 
kwin(12432) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_blur"                                                             
kwin(12432): glCheckFramebufferStatus failed:  "GL_NO_ERROR"

output when starting "kwin --replace&" from konsole? (and blur doesn't work)
what's you GPU?
Comment 20 Edney Matias 2010-06-12 23:37:13 UTC
Hi!

Sorry, i came from this bug

https://bugs.kde.org/show_bug.cgi?id=235620

Here is the full output from kwin --replace &

[edney@padme ~]$ kwin --replace &
[1] 9612
[edney@padme ~]$ kwin(9612) KWin::CompositingPrefs::detectDriverAndVersion: GL vendor is "Tungsten Graphics, Inc" 
kwin(9612) KWin::CompositingPrefs::detectDriverAndVersion: GL renderer is "Mesa DRI Intel(R) 965GM GEM 20100328 2010Q1 " 
kwin(9612) KWin::CompositingPrefs::detectDriverAndVersion: GL version is "2.1 Mesa 7.8.1" 
kwin(9612) KWin::CompositingPrefs::detectDriverAndVersion: Detected driver "intel" , version "2010.Q.1" 
kwin(9612): OpenGL compositing self-check failed, falling back to XRender. 
kwin(9612): Render targets aren't supported! 

Nice! Now i know why some moment in time the blur effect failed, doing that put the effects on XRender and now i don't have blur! Effects are also very slow now just like they were on my original ~/.kde folder. Crashing and restarting kwin may have the same results.

Heres is my GPU, but i think you can guess from the above output

[edney@padme ~]$ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)

On the other bug i have an attachment with glxinfo output.

Thank you all!
Comment 21 Thomas Lübking 2010-06-12 23:55:08 UTC
try to disable checks (advanced tab) to enforce GL (though this might be crash prone)

However the GPU is the one related to this bug, so blurring will probably not work either.
did you really have working blur once a time in the past?
Comment 22 Edney Matias 2010-06-13 01:39:18 UTC
Created attachment 47961 [details]
Blur enabled

This one i got after deleting ~/.kde folder. I just enabled desktop effects and blur was there.
Comment 23 Edney Matias 2010-06-13 01:40:25 UTC
Created attachment 47962 [details]
Blur disabled

This one i got after running kwin --replace &.
Comment 24 Edney Matias 2010-06-13 01:42:27 UTC
(In reply to comment #21)
> try to disable checks (advanced tab) to enforce GL (though this might be crash
> prone)

This option is already uncheck when i log in with a clean  ~/.kde folder. After the first crash or the 'kwin --replace &' command i can't enable effects again even if i check or uncheck this option. 

> 
> However the GPU is the one related to this bug, so blurring will probably not
> work either.
> did you really have working blur once a time in the past?
Comment 25 Edney Matias 2010-06-13 01:43:23 UTC
(In reply to comment #21)
> try to disable checks (advanced tab) to enforce GL (though this might be crash
> prone)

This option is already uncheck when i log in with a clean  ~/.kde folder. After the first crash or the 'kwin --replace &' command i can't enable effects again even if i check or uncheck this option. 

> did you really have working blur once a time in the past?

Check the attachments.
Comment 26 Edney Matias 2010-06-13 02:31:56 UTC
Created attachment 47964 [details]
Present windows with blur enabled

Present windows with blur enabled. Not so good! :(
Comment 27 Edney Matias 2010-06-13 02:43:49 UTC
Hi,

i don't need to remove the ~/.kde folder at all, i just need to remove ~/.kde/share/config/kwin* files. Do that files keep the last valid effect configs?

Regards.
Comment 28 Jonathan Thomas 2010-06-13 02:53:41 UTC
Clearing away the kwin*rc fixes things here, too. (With a stock beta2)
Comment 29 Edney Matias 2010-06-13 03:08:10 UTC
it's seems that...

1. first run. can enable opengl effects with blur;
2. kwin restared due to a crash or not;
3. can't renable opengl defaulting to xrender without blur;
4. removing kwin*rc files;
5. starting over;
Comment 30 Martin Flöser 2010-06-13 09:10:06 UTC
> it's seems that...
> 
> 1. first run. can enable opengl effects with blur;
> 2. kwin restared due to a crash or not;
> 3. can't renable opengl defaulting to xrender without blur;
> 4. removing kwin*rc files;
> 5. starting over;
Your problem has nothing to do with blur or not. The driver is too buggy and 
KWin does not enable OpenGL because each time it would try so number 2 happens 
and KWin crashes.

This is completely irrelevant to this bug reports. This bug report is about 
Mesa drivers claiming to support FBOs without supporting them. Your issue is a 
crashing driver.
Comment 31 Martin Flöser 2010-06-13 09:33:13 UTC
SVN commit 1137490 by graesslin:

Try to get a FBO in the init method of GLRenderTarget. If the FBO is incomplete there is no need to claim that the driver supports FBO.
This is a workaround to the problem that some drivers do not return a complete FBO, but support the extension. Which caused the blur effect to get loaded without working and in consequence Plasma to use the blur-optimized and very translucent backgrounds.
CCBUG: 240956

 M  +20 -0     kwinglutils.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1137490
Comment 32 Mikael Gerdin 2010-06-13 15:08:14 UTC
Created attachment 47971 [details]
opengl fbo testcase

I've tried to replicate the unsuccessful glCheckFramebufferStatus in a much more scaled down environment using pyopengl.
Using this small python script I can successfully create an FBO with a texture the size of my screen. But I'm no OpenGL guy, so I could be doing something completely mad.
The output of the script on both a computer where blur fails and where it works is:
framebuffer: 1
status: True, (36053)
Comment 33 Igor Poboiko 2010-06-13 16:48:44 UTC
Created attachment 47974 [details]
glxinfo igor (new)

After updating to Xorg server 1.8.1.901 (from 1.7.7) blur works fine for me.
Comment 34 Edney Matias 2010-06-13 17:05:52 UTC
(In reply to comment #33)
> Created an attachment (id=47974) [details]
> glxinfo igor (new)
> 
> After updating to Xorg server 1.8.1.901 (from 1.7.7) blur works fine for me.

humm

running with  xorg-x11-server-Xorg-1.8.0-12.fc13.i686.

Maybe...
Comment 35 Igor Poboiko 2010-06-13 17:54:49 UTC
I just downgraded back to 1.7.7 - and blur stopped working.
Comment 36 Emil 2010-06-13 19:10:02 UTC
Xorg server 1.8.1.901 fixes the problem for me too, blur works fine now. (I use a RadeonHD 3200 IGP with open source drivers)
Comment 37 Fredrik Höglund 2010-06-14 00:15:07 UTC
(In reply to comment #32)
> Created an attachment (id=47971) [details]
> opengl fbo testcase
> 
> I've tried to replicate the unsuccessful glCheckFramebufferStatus in a much
> more scaled down environment using pyopengl.
> Using this small python script I can successfully create an FBO with a texture
> the size of my screen. But I'm no OpenGL guy, so I could be doing something
> completely mad.
> The output of the script on both a computer where blur fails and where it works
> is:
> framebuffer: 1
> status: True, (36053)

To replicate what's going on, you have to set LIBGL_ALWAYS_INDIRECT to 1 before starting your program.

OpenGL has two modes of operation on X; direct rendering where the client sends commands directly to the graphics HW, and indirect rendering where the X server executes the OpenGL commands on behalf of the client.

For windows to be usable as textures with direct rendering, some conditions have to be met; you must have DRI2 support and a kernel memory manager (GEM or TTM). KWin currently also assumes that it won't work if the GLX version is less than 1.3. Since the Intel driver only supports 1.2 on X servers earlier than 1.8, you get indirect rendering.

The problem here appears to be that the driver claims to support framebuffer objects with indirect rendering even though they only work with direct rendering.

Texturing from window pixmaps does seem to work in direct rendering mode with the Intel driver when the GLX version is 1.2 though, so I'm going to modify the checks kwin does to allow direct rendering, and hopefully that will make the blur effect work with older versions of the X server.

In the meantime you can force kwin to use direct rendering by setting KWIN_DIRECT_GL to 1 before starting kwin.
Comment 38 Fredrik Höglund 2010-06-14 00:58:25 UTC
SVN commit 1137668 by fredrik:

Allow direct rendering with GLX versions older than 1.3 if the GLX
extensions list includes "GLX_EXT_texture_from_pixmap".

BUG: 240956


 M  +13 -7     opengltest.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1137668
Comment 39 Edney Matias 2010-06-14 01:24:51 UTC
(In reply to comment #30)

> Your problem has nothing to do with blur or not. The driver is too buggy and 
> KWin does not enable OpenGL because each time it would try so number 2 happens 
> and KWin crashes.

Hi there

I got a bug report on bugzilla.redhat.com against xorg-x11-drv-intel. Here it is https://bugzilla.redhat.com/show_bug.cgi?id=603501.

I also add an attachment to the kwin backtrace
https://bugzilla.redhat.com/attachment.cgi?id=423708&action=edit

Even if it isn't related to this bug maybe it interests.

Thank you all.
Comment 40 Igor Poboiko 2010-06-14 09:15:00 UTC
After applying Frederiks patch (from comment #38) to KWin-4.4.85 blur works for me with Xorg-server 1.7.7. Thanks :)
Comment 41 saya.sheng 2010-09-07 04:31:12 UTC
The version of kdebase I use is 4.5. I also have similar problem like this bug report.The source opengltest.cpp is the same as the one from Frederik (comment #38) and Xorg version is 1.8.99.905. I get the following messages while executing kwin.

kwin(1416) KWin::CompositingPrefs::detectDriverAndVersion: GL vendor is "Mesa Project"
kwin(1416) KWin::CompositingPrefs::detectDriverAndVersion: GL renderer is "Software Rasterizer"
kwin(1416) KWin::CompositingPrefs::detectDriverAndVersion: GL version is "1.4 (2.1 Mesa 7.9-devel)"
kwin(1416) KWin::CompositingPrefs::detectDriverAndVersion: Detected driver "software" , version "7.9.-devel)"
kwin(1416): glCheckFramebufferStatus failed:  "GL_NO_ERROR"
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QMetaObject::invokeMethod: No such method KUniqueApplication::loadCommandLineOptionsForNewInstance()
kbuildsycoca4 running...
QMetaObject::invokeMethod: No such method KUniqueApplication::loadCommandLineOptionsForNewInstance()
kwin(1416) KWin::EffectsHandlerImpl::loadEffect: EffectsHandler::loadEffect : Effect  "kwin4_effect_blur"  is not supported
QDBusConnection: name 'org.kde.kglobalaccel' had owner '' but we thought it was ':1.6'
WARNING: Application calling GLX 1.3 function "glXCreatePixmap" when GLX 1.3 is not supported!  This is an application bug!
WARNING: Application calling GLX 1.3 function "glXQueryDrawable" when GLX 1.3 is not supported!  This is an application bug!
<unknown program name>(1446)/: Communication problem with  "knotify" , it probably crashed.
Error message was:  "org.freedesktop.DBus.Error.Disconnected" : " "Connection is closed" "
Comment 42 saya.sheng 2010-09-07 04:58:06 UTC
Created attachment 51376 [details]
glxinfo (saya)
Comment 43 Fredrik Höglund 2010-09-07 20:28:41 UTC
(In reply to comment #42)
> Created an attachment (id=51376) [details]
> glxinfo (saya)

The glxinfo output indicates that you're not using an accelerated driver at all. Note the line that says: "OpenGL renderer string: Software Rasterizer".
Comment 44 saya.sheng 2010-09-08 17:07:44 UTC
Is it possible to launch kwin by indirect rendering?
Comment 45 Thomas Lübking 2010-09-08 19:47:44 UTC
export KWIN_DIRECT_GL=0
export LIBGL_ALWAYS_INDIRECT=1
kwin --replace &

i don't think this will resolve your problem at all though... a "software renderer" does not sound like any capable of expensive shader functions... (iff at all)
Comment 46 Edney Matias 2011-03-20 14:20:49 UTC
Hi there.

I updated to Fedora 15 alpha just to find out that blur effect is working now with kde 4.6.1. I remember reading something related to intel video stack fixed on kernel.

uname -a
Linux padme 2.6.38-1.fc15.i686 #1 SMP Tue Mar 15 05:26:56 UTC 2011 i686 i686 i386 GNU/Linux

rpm -qa | grep mesa
mesa-dri-llvmcore-7.10-0.29.fc15.i686
mesa-libGL-7.10-0.29.fc15.i686
mesa-libGLU-7.10-0.29.fc15.i686
mesa-dri-filesystem-7.10-0.29.fc15.i686
mesa-libGLU-devel-7.10-0.29.fc15.i686
mesa-libGL-devel-7.10-0.29.fc15.i686
mesa-dri-drivers-7.10-0.29.fc15.i686

rpm -qa | grep intel
xorg-x11-drv-intel-2.14.0-3.fc15.i686

When running for the first time the effects shows a white background before doing the blur. I think this is related to poor performance of my video card. Is it right or can i tune some config?

Bye.