Summary: | Default i915 (GL1.4 only) to xrender compositing for segfaults on shader compilation | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Jonathan Riddell <jr> |
Component: | compositing | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | demm, fredrik |
Priority: | NOR | ||
Version: | 5.1.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/kwin/8d059ae2da8f0e3fad63b114cb2ebd6abdd0d4af | Version Fixed In: | 5.1.2 |
Sentry Crash Report: | |||
Attachments: | LIBGL_DEBUG=verbose glxinfo output and stderr at bottom |
Description
Jonathan Riddell
2014-10-23 12:11:51 UTC
Looks like a problem with the GL dispatcher. Are the OpenGL drivers working and setup at all? Best attach the output of glxinfo. Output from glxinfo http://starsky.19inch.net/~jr/tmp/GLXINFO and on the command line it says.. libGL error: Version 4 or later of flush extension not found libGL error: failed to load driver: i915 which makes me suspicious of the libgl drivers in Ubuntu I don't like the "failed to load driver". That sounds very suspicious. From the output it says that your GPUs only support OpenGL 1.4. We might consider defaulting that one to XRender as it will have problems running GL2. In general it looks like you won't have fun with that hardware and an OpenGL 2 dependent system (QtQuick). $ LIBGL_DEBUG=verbose glxinfo
you'll likely be falling back to swrast for the failure?
Does Ubuntu still ship /usr/lib/xorg/modules/dri/i915_dri.so and does ldd resolve all libs for it?
> Second login has no crash.
Because
a) compositing was disabled?
b) compositing fell back to xrender?
c) opengl and i915_dri.so now magically work?
d) you're running on swrast?
Personally, I can not recommend GL2 on i945
Created attachment 89303 [details]
LIBGL_DEBUG=verbose glxinfo output and stderr at bottom
$ ldd /usr/lib/i386-linux-gnu/dri/i915_dri.so linux-gate.so.1 => (0xb7774000) libdrm_intel.so.1 => /usr/lib/i386-linux-gnu/libdrm_intel.so.1 (0xb7171000) libdrm_nouveau.so.2 => /usr/lib/i386-linux-gnu/libdrm_nouveau.so.2 (0xb7169000) libdrm_radeon.so.1 => /usr/lib/i386-linux-gnu/libdrm_radeon.so.1 (0xb7159000) libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xb714b000) libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb7122000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7105000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7100000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb700a000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb6fc4000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb6e16000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6df8000) libpciaccess.so.0 => /usr/lib/i386-linux-gnu/libpciaccess.so.0 (0xb6ded000) /lib/ld-linux.so.2 (0xb7777000) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6dd2000) i915_dri.so is from package libgl1-mesa-dri 10.3.0-0ubuntu3 It says it has disabled compositing Google says this
> libGL error: Version 4 or later of flush extension not found
> libGL error: failed to load driver: i915
is actually "harmless" (while I'd not consider "error" a good sign for "no harm", glxinfo works) so we're on epoxy shader compilation.
Since it doesn't affect your "more powerful™" machines, i'd however first irrationally blame
a) glamor
b) aurorae (ok, QtQuick ;-)
can you try
a) oxygen decoration (and enable compositing afterwards)
b) sna acceleration instead of glamor?
/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
EndSection
I'm using the Oxygen decoration, all other settings are default too on a frash Kubuntu Plasma 5 install with Plasma 5.1. Adding that file into /etc/X11/xorg.conf.d/20-intel.conf makes no difference, still crash when logging in as a user with no previous login. The extension list is missing GL_ARB_occlusion_query which is a requirement for OpenGL 2.0. The source code shows that the driver does enable this extension for your chipset: http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/drivers/dri/i915/intel_extensions.c?h=10.3#n96 which suggests that there is something wrong with your packages. It's mesa 10.3.2 I see this patch which may be relevant but I'm not experienced enough to say http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/mesa/utopic/view/head:/debian/patches/i915-dont-default-to-2.1.patch Yeah, it looks like that patch is responsible for the problem. There are basically two ways to fix it: The first is to add code in kwinglutils_funcs.cpp that resolves the ARB_shader_objects functions that are not aliases of core functions to their core equivalents (glGetObjectParameterivARB -> glGetShaderiv etc.). The second is to make the SceneOpenGL2 constructor fail when OpenGL 2.0 is not supported. > The second is to make the SceneOpenGL2 constructor fail when OpenGL 2.0 is
> not supported.
I'd prefer that option. It looks kind of more sane to me as it would properly
raise the requirement to 2.0.
Git commit 8d059ae2da8f0e3fad63b114cb2ebd6abdd0d4af by Fredrik Höglund. Committed on 22/11/2014 at 13:19. Pushed by fredrik into branch 'Plasma/5.1'. Require OpenGL 2.0 in the SceneOpenGL2 constructor FIXED-IN: 5.1.2 M +8 -0 scene_opengl.cpp http://commits.kde.org/kwin/8d059ae2da8f0e3fad63b114cb2ebd6abdd0d4af |