Bug 329908 - Since 4.12.0 Creating the OpenGL rendering failed: "Could not initialize the buffer" in KWin
Summary: Since 4.12.0 Creating the OpenGL rendering failed: "Could not initialize the...
Status: RESOLVED DUPLICATE of bug 327310
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: 4.11.4
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-13 10:06 UTC by Oliver Maurhart
Modified: 2014-02-07 21:42 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
output of glxinfo (15.39 KB, text/plain)
2014-01-13 14:31 UTC, Oliver Maurhart
Details
output of qdbus org.kde.kwin /KWin supportInformation (2.62 KB, text/plain)
2014-01-13 14:31 UTC, Oliver Maurhart
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Maurhart 2014-01-13 10:06:37 UTC
Updated to kwin 4.12.0 and now:

$ kwin --version
Qt: 4.8.5
KDE Development Platform: 4.12.0
KWin: 4.12.0

$ glxinfo | head -n 20
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,                                                                      

$ kwin --replace
kwin(29710) KWin::Extensions::init:  non_native_pixmaps:  false                                                                             
kwin(29710) KWin::Xcb::Extensions::init: Extensions: shape: 0x "11"  composite: 0x "4"  render: 0x "b"  fixes: 0x "50"  randr: 0x "14"  sync: 0x "31"  damage: 0x  "11"                                                                                                                 
kwin(29710) KDecorationPlugins::canLoad: kwin : path  "/usr/lib64/kde4/kwin3_oxygen.so"  for  "kwin3_oxygen"                                
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4                                                                     
kwin(29710) KWin::Workspace::updateClientArea: Done.                                                                                        
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread                                                 
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread                                                 
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 5413187                                                            
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 33554927 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : 5413187                                                                                                                           
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4                                                                     
kwin(29710) KWin::Workspace::updateClientArea: Done.                                                                                        
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 5405739                                                            
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 39846148 ;WMCLASS: "chromium-browser" : "chromium-browser" ;Caption: "New tab - Chromium" ' : 5405739                                                                                                   
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4                                                                     
kwin(29710) KWin::Workspace::updateClientArea: Done.                                                                                        
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 5406162                                                            
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 65011888 ;WMCLASS: "thunderbird" : "mail" ;Caption: "Inbox - dyle@dyle.org - Mozilla Thunderbird" ' : 5406162                                                                                           
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4                                                                     
kwin(29710) KWin::Workspace::updateClientArea: Done.                                                                                        
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 5415286                                                            
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 71303186 ;WMCLASS: "kate" : "kate" ;Caption: "Untitled – Kate" ' : 5415286
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4
kwin(29710) KWin::Workspace::updateClientArea: Done.
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 5490937
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 67108891 ;WMCLASS: "konsole" : "konsole" ;Caption: "dyle : bash – Konsole" ' : 5490937
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4
kwin(29710) KWin::Workspace::updateClientArea: Done.
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 5415179
kwin(29710) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 33554918 ;WMCLASS: "plasma" : "plasma" ;Caption: "plasma-desktop" ' : 5415179
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4
kwin(29710) KWin::Workspace::updateClientArea: Done.
kwin(29710) KWin::Workspace::updateClientArea: screens:  1 desktops:  4
kwin(29710) KWin::Workspace::updateClientArea: Done.
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
kwin(29710) KWin::Compositor::slotCompositingOptionsInitialized: Initializing OpenGL compositing
kwin(29710) KWin::GlxBackend::initDrawableConfigs: Drawable visual (depth  24 ): 0x "91"
kwin(29710) KWin::GlxBackend::initDrawableConfigs: Drawable visual (depth  32 ): 0x "63"
kwin(29710): Failed to get visual from fbconfig 
kwin(29710) KWin::OpenGLBackend::setFailed: Creating the OpenGL rendering failed:  "Could not initialize the buffer" 
QObject::connect: Cannot connect (null)::resetCompositing() to KWin::Compositor::restart()
kwin(29710): Failed to initialize compositing, compositing disabled 
kwin(29710): Consult http://techbase.kde.org/Projects/KWin/4.0-release-notes#Setting_up 

# lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
# cat /proc/cpuinfo | grep "model name" | uniq
model name      : Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz

# zgrep -i i915 /proc/config.gz 
CONFIG_DRM_I915=y
CONFIG_DRM_I915_KMS=y
# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
CONFIG_SND_HDA_I915=y

# uname -a
Linux graendal 3.12.7-gentoo #1 SMP PREEMPT Sun Jan 12 19:22:21 CET 2014 x86_64 Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz GenuineIntel GNU/Linux

... desktop effects disabled. Poor performance. Worked before. =(

Reproducible: Always
Comment 1 Thomas Lübking 2014-01-13 14:19:49 UTC
please attach the full output of "glxinfo" and "qdbus org.kde.kwin /KWin supportInformation"

On a wild guess: don't try to use OpenGL 3.0, but provide the requested information anyway.
Comment 2 Oliver Maurhart 2014-01-13 14:31:08 UTC
Created attachment 84622 [details]
output of glxinfo
Comment 3 Oliver Maurhart 2014-01-13 14:31:36 UTC
Created attachment 84623 [details]
output of qdbus org.kde.kwin /KWin supportInformation
Comment 4 Oliver Maurhart 2014-01-13 14:33:19 UTC
attached files as requested.

wired. Kwin reports itself as 4.11.5 ...

$ cat kwin.supportinformation.txt | grep -A 4 '^Version'
Version
=======
KWin version: 4.11.5
KDE SC version (runtime): 4.12.0
KDE SC version (compile): 4.12.0

Huh?
Comment 5 Oliver Maurhart 2014-01-13 14:36:30 UTC
(In reply to comment #1)
> On a wild guess: don't try to use OpenGL 3.0, but provide the requested
> information anyway.

In the SystemSettings I can chose between "OpenGL 3.1", "OpenGL 2.0", "OpenGL 1.2" and XRender. It is set to "OpenGL 3.1", changing the value in the drop-down to "OpenGL 2.0" or "OpenGL 1.2" results into an error messages and it changes back to "OpenGL 3.1". Didn't try XRender ...
Comment 6 Thomas Lübking 2014-01-13 14:44:38 UTC
run
kquitapp kwin; sleep 1; kwriteconfig --file kwinrc --group Compositing --key GLCore false; kwin &

The driver will likely end in an invalid state after trying to create the GL3 context and subsequently fail.

See bug #327310
Comment 7 Oliver Maurhart 2014-01-13 15:00:18 UTC
(In reply to comment #6)
> run
> kquitapp kwin; sleep 1; kwriteconfig --file kwinrc --group Compositing --key
> GLCore false; kwin &
> 
> The driver will likely end in an invalid state after trying to create the
> GL3 context and subsequently fail.
> 
> See bug #327310

Tried "kquitapp kwin; sleep 1; kwriteconfig --file kwinrc --group Compositing --key GLCore false; kwin &" but didn't change anything.

Kwin also does not crash. KDE renders 2D only like 10 years ago. So, is this a driver bug in the Intel HD Graphics? It has been working with recent kernels but my current 3.12.7 / KDE 4.12 installment.
Comment 8 Thomas Lübking 2014-01-13 15:14:58 UTC
Try restarting X11, eventually rebooting (or reloading the intel kernel module)

If this line: "Failed to get visual from fbconfig" is still present afterwards, it's "real" and a different issue. (glXGetVisualFromFBConfig fails for unknown reasons)
Comment 9 Oliver Maurhart 2014-01-14 08:32:14 UTC
Back in the office. Just booted the machine.

OpenGL and composite working ... don't know why. 
Confused.

Anything I can post to light up the behavior?
Comment 10 Thomas Lübking 2014-01-14 14:47:03 UTC
I'm fairly sure that this is bug #327310
It's likely that the (legal) attempt to create a GL3 context put the driver/kernel module into an invalid state.

@Martin
Should we better - *sigh* - blacklist intel from OGL3?

*** This bug has been marked as a duplicate of bug 327310 ***
Comment 11 Denis Sokolovsky 2014-01-27 18:11:25 UTC
I believe that this is not an intel fault. At least not always. I have, sometimes(!), same problem. If I log in to second session (different user) compositing will work. If I start receive message "kwin(...): Failed to get visual from fbconfig" then it's does not matter which OpenGL version I will choose in settings - kwin can't start with any OpenGL variation as compositing type (only xrandr still work). And, at the same time second X server working, with another kwin and allow me to choose any compositing type option.

First time this bug appeared some time ago, I just restart X server few times unless compositing start to work and, because my laptop usually have big uptime, it didn't bothered me often. But now it became annoying. Currently I run
KWin version: 4.11.5
KDE SC version (runtime): 4.12.1
KDE SC version (compile): 4.12.1
Qt Version: 4.8.5
Most settings same as in attachments that is already there.

And last but not least: kwin not crashed when it failed with fbconfig, it just disable compositing. So I don't understand why this bug is closed as dup of completely different bug.
Comment 12 Denis Sokolovsky 2014-01-27 18:16:55 UTC
Also there are another bug https://bugs.freedesktop.org/show_bug.cgi?id=70706 in which xorg server is blamed as root cause.
Comment 13 Denis Sokolovsky 2014-01-27 18:20:28 UTC
(sorry for spam) Forgot to add that in my case glxinfo still show that everything is okay, while glxinfo report attached to bug on freedesktop say "Error: couldn't find RGB GLX visual or fbconfig".
Comment 14 Thomas Lübking 2014-01-27 19:08:16 UTC
The link is bug #330440 (the source of your fdo bug and probably exact dupe)

From our POV it's just that as soon as we try to create a core profile context, MESA/Xorg/Intel/Radeon start/s to act unpredictably - you might very well run into the crash once the (apparent) Xorg bug is resolved and if we'd still try to create a core context.

The target bug got dated in it's attributes though, yes.
Comment 15 Denis Sokolovsky 2014-01-28 01:30:35 UTC
Okay then. But isn't it's strange that {glx,egl}{info,gears} work as usual while kwin still failed to do his "fbconfig" stuff? I tried to restart kwin many times, with different initial setting and env variables, to get some more info or clue what happens, but it still failed to turn on compositing. At the same time glx/eglgears works in same x server.
Comment 16 Thomas Lübking 2014-01-28 01:35:23 UTC
matter between "modern" glXCreateContextAttribsARB and glXCreateNewContext creation.

Using these extensions does not work:
GLX_ARB_create_context, GLX_ARB_create_context_profile, GLX_ARB_create_context_robustness