(is 4.11.60 valid version?) c/p from {up,downstream} report (fdo#70706): Since trying out 1.14.99.2, i'm encountering the issue that KWin is not able to activate compositing, probably as a result of refactoring: kwin(18388): Failed to get visual from fbconfig kwin(18388) KWin::OpenGLBackend::setFailed: Creating the OpenGL rendering failed: "Could not initialize the buffer" Regression is somewhere between da5e20127a5b6e11a47eb6e61f3ea87b056cdf5f (works correctly) and f0659a7f68a5a334879af01a6a63742eab1bf5de (fails with above errors) Let me know what further info i can provide. Glxinfo also spits: Error: couldn't find RGB GLX visual or fbconfig Reproducible: Always Steps to Reproduce: 1. Build mentioned xserver commits/release GL ES works though ;-) Opened the bug for reference only, as depending how long it takes to get it fixed there, there might be some reports against KWin also.
I'm experiencing the same problem. Here are the - according to Martin - relevant lines from kwin' console output: QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread kwin(2039) KWin::Compositor::slotCompositingOptionsInitialized: Initializing OpenGL compositing kwin(2039) KWin::GlxBackend::initDrawableConfigs: Drawable visual (depth 24 ): 0x "228" kwin(2039) KWin::GlxBackend::initDrawableConfigs: Drawable visual (depth 32 ): 0x "85" kwin(2039): Failed to get visual from fbconfig kwin(2039) KWin::OpenGLBackend::setFailed: Creating the OpenGL rendering failed: "Could not initialize the buffer" And here is my glxinfo output: name of display: :0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 server glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control client glx vendor string: Mesa Project and SGI client glx version string: 1.4 client glx extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync GLX version: 1.4 GLX extensions: GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD TURKS OpenGL core profile version string: 3.1 (Core Profile) Mesa 10.0.2 OpenGL core profile shading language version string: 1.40 OpenGL core profile context flags: (none) OpenGL core profile extensions: GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, GL_ARB_ES2_compatibility, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_stencil_export, GL_ARB_shader_texture_lod, GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, GL_ARB_sync, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_range, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array, GL_ARB_texture_float, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ATI_blend_equation_separate, GL_ATI_texture_compression_3dc, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr, GL_EXT_blend_equation_separate, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_sRGB, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_pixel_buffer_object, GL_EXT_provoking_vertex, GL_EXT_texture_array, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_integer, GL_EXT_texture_mirror_clamp, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array_bgra, GL_IBM_multimode_draw_arrays, GL_KHR_debug, GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil, GL_NV_texture_barrier, GL_NV_vdpau_interop, GL_OES_EGL_image, GL_OES_read_format OpenGL version string: 3.0 Mesa 10.0.2 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_stencil_export, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ARB_ES2_compatibility, GL_ARB_base_instance, GL_ARB_blend_func_extended, GL_ARB_color_buffer_float, GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_seamless_cube_map, GL_ARB_shader_bit_encoding, GL_ARB_shader_objects, GL_ARB_shader_stencil_export, GL_ARB_shader_texture_lod, GL_ARB_shading_language_100, GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_storage, GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle, GL_ARB_timer_query, GL_ARB_transform_feedback2, GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced, GL_ARB_transpose_matrix, GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers, GL_ATI_separate_stencil, GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3, GL_ATI_texture_float, GL_ATI_texture_mirror_once, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, 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_array, GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc, GL_EXT_texture_cube_map, 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_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_KHR_debug, GL_MESA_pack_invert, GL_MESA_texture_array, GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_fog_distance, GL_NV_light_max_exponent, GL_NV_packed_depth_stencil, GL_NV_primitive_restart, GL_NV_texgen_reflection, GL_NV_texture_barrier, GL_NV_texture_env_combine4, GL_NV_texture_rectangle, GL_NV_vdpau_interop, GL_OES_EGL_image, 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 I'm running Linux 3.11.10.3 (or 3.12.8 with the same problem), xorg-server 1.15.0, mesa 10.0.2 and libdrm 2.4.52 Using either "kwin_gles" or "KWIN_OPENGL_INTERFACE=egl kwin --replace" fixes the problem.
(In reply to comment #1) > I'm running Linux 3.11.10.3 (or 3.12.8 with the same problem), xorg-server > 1.15.0, mesa 10.0.2 and libdrm 2.4.52 Yes, downstream report didn't move any further -> https://bugs.freedesktop.org/show_bug.cgi?id=70706
Please see bug #329908, likely being bug #327310 Either set the compositor to OGL2.0 (config or environment) or (if that doesn't help) bypass the glXCreateContextAttribsARB branch in glxbackend.cpp (or in kwin/libkwineffects/kwinglutils_funcs.cpp enforce the function pointer to be 0L)
Both bugs you linked seem to be specific to Intel HD, but I have a Radeon card. Setting to OpenGL 2.0 via kwinrc did not help. The other two possible solutions would mean I'd have to change the source code and then compile kwin myself, right? I don't think I have the skills to do that...
There's also bug #329984 which seems a dupe by chance and despite the little information provided, it's apparently radeon (crash in mesa, user mentions fglrx -> was radeon. qed.) - also the upstream bug has AMD reporters. You'd have to recompile KWin, but Hrvoje should be able to do so ;-) If it "fixes" this for him, we'll likely need a patch to disable glXCreateContextAttribsARB by environment variable (and pot. by default)
ps, when this happens and *before* restarting the kwin compositor, call nvidia-settings -q UsedDedicatedGPUMemory -q TotalDedicatedGPUMemory I guess you see why ;-)
sorry, wrong bug - ignore last comment.
Yep, i can compile it - just point me what to do ;-) Which fbconfig call is the 'guilty' one?
It's likely not the fbconfig calls, but "glXCreateContextAttribsARB" In kwin/libkwineffects/kwinglutils_funcs.cpp:258ff // if (hasGLExtension("GLX_ARB_create_context")) // glXCreateContextAttribsARB = (glXCreateContextAttribsARB_func) getProcAddress("glXCreateContextAttribsARB"); // else glXCreateContextAttribsARB = NULL; This will cause "legacy" context creation.
Same error with that, kwin(26086): Failed to get visual from fbconfig kwin(26086) KWin::OpenGLBackend::setFailed: Creating the OpenGL rendering failed: "Could not initialize the buffer" function is no-op
did you reboot before? (i guess you'll at least have to unload the kernel module)
I'm using radeon/Mesa, so i guess i shouldn't reboot ;-) Will logout though
see bug #329908 comment #9 - the GPU may have entered an invalid state
Created attachment 84808 [details] support info Hm, indeed compositing operates correctly post-reboot with glx. Other side-effect is that moving windows, etc is noticeably slower.
> slower As compared to GLES? That's probably in the cards (Better with OGL1?) About the original issue, it might be sufficient to just disable glCoreProfile (ie. choose GL1 or GL2, but never even touch GL3) @Thomas P.: kwriteconfig --file kwinrc --group Compositing --key GLCore false then reboot (really)
(In reply to comment #15) > As compared to GLES? That's probably in the cards (Better with OGL1?) Compared to GLES/egl/Xrender/no compositing. Will try vanilla KWin and no GL3
Switching to OGL2 via kwriteconfig brought back compositing! OGL3 did work with earlier versions of the graphics stack, though, so it does indeed seem to be a bug in xserver or whatever.
@Martin Yes, it's an upstream bug. However this one apparently has the potential to make kwin entirely breaking OpenGL for endusers. They've to know that it's required to disable OGL3 - what's hard enough because of the failsafe mechanism in the config dialog - and then reboot to get it back usable. Therefore I propose to skip OGL3.1 context creation if glx vendor contains "mesa" unless overruled by environment ("KWIN_ALLOW_MESA_GL3=1")? Objections? (No, I'm not happy with this either) *** This bug has been marked as a duplicate of bug 327310 ***
> Therefore I propose to skip OGL3.1 context creation if glx vendor contains > "mesa" unless overruled by environment ("KWIN_ALLOW_MESA_GL3=1")? > > Objections? (No, I'm not happy with this either) For KWin/4 we could also extend the opengl_test application. In KWin/5 I suggest that we implement support for GLX_MESA_query_renderer.
(In reply to comment #19) > > Therefore I propose to skip OGL3.1 context creation if glx vendor contains > > "mesa" unless overruled by environment ("KWIN_ALLOW_MESA_GL3=1")? > > > > Objections? (No, I'm not happy with this either) > For KWin/4 we could also extend the opengl_test application. Atm, this apparently affects radeon as well as intel (wanna bet on nouveau?) -> Does GL3 actually work on Sandy or Ivy? (Like it creates such context - not like it doesn't terribly crash ;-)
> -> Does GL3 actually work on Sandy or Ivy? (Like it creates such context - > not like it doesn't terribly crash ;-) just wanted to switch to GL 3, just to notice that I'm using it already (and yes it works! ;-). Here the debug output on Debian Testing: Compositing =========== Qt Graphics System: raster Compositing is active Compositing Type: OpenGL OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile OpenGL version string: 3.1 (Core Profile) Mesa 9.2.2 OpenGL shading language version string: 1.40 Driver: Intel GPU class: SandyBridge OpenGL version: 3.1 GLSL version: 1.40 Mesa version: 9.2.2 X server version: 1.14.5 Linux kernel version: 3.12 Direct rendering: yes Requires strict binding: no GLSL shaders: yes Texture NPOT support: yes Virtual Machine: no OpenGL 2 Shaders are used Painting blocks for vertical retrace: no
(In reply to comment #21) > X server version: 1.14.5 Was working here too until xserver version from the bug title ;-)
> > X server version: 1.14.5 > > Was working here too until xserver version from the bug title ;-) /me pets his good old Debian Testing
/me thinks that means we actually have no confirmation for Sandy/Ivy/AnyMesaDriver and XOrg 1.14.5, do we?
s/1.14.5/1.15/g
OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD REDWOOD OpenGL version string: OpenGL ES 3.0 Mesa 10.0.2 OpenGL shading language version string: OpenGL ES GLSL ES 3.0 Driver: R600G GPU class: EVERGREEN OpenGL version: 3.0 GLSL version: 3.0 Mesa version: 10.0.2 X server version: 1.15 Linux kernel version: 3.13 Direct rendering: yes Requires strict binding: no GLSL shaders: yes Texture NPOT support: yes Virtual Machine: no GL KWin currently does not work here: kwin(9123): Failed to get visual from fbconfig kwin(9123) KWin::OpenGLBackend::setFailed: Creating the OpenGL rendering failed: "Could not initialize the buffer" Anything you want me to test?
see lower part of comment #15 current interest is whether this actually works on _any_ chip and xorg 1.15 - notably on sandy/ivybridge (intel), so if you've such chip, it would be great if you could test it.
(In reply to comment #27) > see lower part of comment #15 > current interest is whether this actually works on _any_ chip and xorg 1.15 > - notably on sandy/ivybridge (intel), so if you've such chip, it would be > great if you could test it. Sorry, only have this AMD Redwood.
I have to partially withdraw my comment that switching to OpenGL 2.0 brought back compositing: It does so only on every second boot. When switch my computer on, I get no compositing. When I reboot, it works again.
Now compositing completely stopped working. It is still set to OpenGL 2.0, but it doesn't run. When I talked to Martin Gräßlin about the bug on January 22nd, he suggested to run "KWIN_OPENGL_INTERFACE=egl kwin --replace &" and that worked then, but it doesn't work anymore now. kwin_gles still works fine, though.
debug output still being "Could not initialize the buffer"? The setting should be meaningless when KWIN_OPENGL_INTERFACE is exported.
Correction: "KWIN_OPENGL_INTERFACE=egl kwin --replace &" does still work. The last time I tried, compositing had been completely deactivated because it had crashed KWin before (or at least KWin assumed it did).
testing now r115937