Summary: | Unable to enable desktop effects with intel card, even though DRI2 works fine | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Jani-Matti Hätinen <jani-matti.hatinen> |
Component: | general | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | m_liertzer |
Priority: | NOR | ||
Version: | 4.2.4 | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Jani-Matti Hätinen
2009-07-20 15:52:32 UTC
Here's the debug output from kwin when trying to enable desktop effects in systemsettings: kwin(6740) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(6740) KWin::CompositingPrefs::detect: glx version is 1 . 2 kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: GL vendor is "Tungsten Graphics, Inc" kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: GL renderer is "Mesa DRI Intel(R) 915GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2" kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: GL version is "1.4 Mesa 7.5" kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: XGL: no kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: Detected driver "intel" , version "RC.3" kwin(6740) KWin::CompositingPrefs::applyDriverSpecificOptions: intel driver, disabling vsync, enabling direct kwin(6740) KWin::CompositingPrefs::applyDriverSpecificOptions: intel >= 20061017 and 900-series card, enabling compositing kwin(6740) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(6740) KWin::Workspace::setupCompositing: OpenGL compositing kwin(6740) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 24 ): 0x "f8" kwin(6740) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 32 ): 0x "63" kwin(6740) KWin::SceneOpenGL::initBuffer: Buffer visual (depth 24 ): 0x "fc" kwin(6740) KWin::Workspace::slotReconfigure: Workspace::slotReconfigure() kwin(6740) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(6740) KWin::CompositingPrefs::detect: glx version is 1 . 2 kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: GL vendor is "Tungsten Graphics, Inc" kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: GL renderer is "Mesa DRI Intel(R) 915GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2" kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: GL version is "1.4 Mesa 7.5" kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: XGL: no kwin(6740) KWin::CompositingPrefs::detectDriverAndVersion: Detected driver "intel" , version "RC.3" kwin(6740) KWin::CompositingPrefs::applyDriverSpecificOptions: intel driver, disabling vsync, enabling direct kwin(6740) KWin::CompositingPrefs::applyDriverSpecificOptions: intel >= 20061017 and 900-series card, enabling compositing kwin(6740) KDecorationPlugins::loadPlugin: kwin : path "/usr/lib/kde4/kwin3_ozone.so" for "kwin3_ozone" kwin(6740) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(6740) KWin::Workspace::setupCompositing: OpenGL compositing kwin(6740) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 24 ): 0x "f8" kwin(6740) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 32 ): 0x "63" kwin(6740) KWin::SceneOpenGL::initBuffer: Buffer visual (depth 24 ): 0x "fc" kwin(6740) KWin::Client::readUserTimeMapTimestamp: User timestamp, initial: 3908649 kwin(6740) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 3908649 kwin(6740) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 65019323 ;WMCLASS: "systemsettings" : "systemsettings" ;Caption: "Virhe - Järjestelmäasetukset" ' : 3908649 kwin(6740) KWin::Workspace::allowClientActivation: Activation: Belongs to active application kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(6740) KWin::CompositingPrefs::detect: glx version is 1 . 2 kwin(6740) KWin::Workspace::setupCompositing: Compositing is turned off in options or disabled kwin(6740) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(6740) KWin::Workspace::updateClientArea: Done. kwin(6740) KWin::Workspace::slotReconfigure: Workspace::slotReconfigure() kwin(6740) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(6740) KWin::CompositingPrefs::detect: glx version is 1 . 2 kwin(6740) KDecorationPlugins::loadPlugin: kwin : path "/usr/lib/kde4/kwin3_ozone.so" for "kwin3_ozone" can you just try to use alt+shift+f12 once? Somehow I think compositing get's suspended during setup. Here's the kwin debug output after pressing Alt+Shift+F12: kwin(8519) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(8519) KWin::Workspace::setupCompositing: OpenGL compositing kwin(8519) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 24 ): 0x "fa" kwin(8519) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 32 ): 0x "65" kwin(8519) KWin::SceneOpenGL::initBuffer: Buffer visual (depth 24 ): 0x "fe" kwin(8519) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(8519) KWin::Workspace::updateClientArea: Done. kwin(8519) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(8519) KWin::Workspace::updateClientArea: Done. kwin(8519) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(8519) KWin::Workspace::updateClientArea: Done. kwin(8519) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(8519) KWin::Workspace::updateClientArea: Done. Compositing doesn't get enabled, but the height of the bottom panel goes up considerably (I suppose that's probably some plasma bug I should report separately) the plasma "bug" is known and reported multiple times and if i understood it right, they say "it's a feature"... on topic: - what's the display in the Desktop FX config dialog before and after pressing ctrl+alt+f12 - how do you figure compositing isn't enabled? are any FX loaded at all? can you change the transparency by alt+mw over the titlebar (or window - i forgot the default setting...) - does checking "disable functionality checks" in the advanced tab workaround your problem? - does changing the backend from openGL to XRender change anything? One at a time: 1. The desktop FX config stays the same through Alt+Shift+F12 keypresses. 2. None of the enabled effects work. Alt+Tab is the standard one, etc. 3. Checking "Disable functionality checks" makes kwin enable compsiting, but it also results with the screen turning into a strobe show. 4. XRender-based compositing doesn't work, even when "Disable functionality checks" is checked. Based on 3 I think that this is probably an intel driver issue with DRI2 or something. Anyway, below is the kwin debug output from enabling and disabling compositing: kwin(4272) KWin::Extensions::init: Extensions: shape: 0x "11" composite: 0x "4" render: 0x "a" fixes: 0x "40" kwin(4272) KWin::Workspace::setupCompositing: OpenGL compositing kwin(4272) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 24 ): 0x "f9" kwin(4272) KWin::SceneOpenGL::initBufferConfigs: Drawable visual (depth 32 ): 0x "64" kwin(4272) KWin::SceneOpenGL::initBuffer: Buffer visual (depth 24 ): 0x "fd" kwin(4272) KWin::SceneOpenGL::SceneOpenGL: DB: true , TFP: true , SHM: false , Direct: false kwin(4272) KWin::Workspace::setupCompositing: Refresh rate 60 Hz kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_maketransparent" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_fade" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_desktopgrid" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_shadow" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_slide" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_presentwindows" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_login" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_trackmouse" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_taskbarthumbnail" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_logout" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_dimscreen" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_zoom" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_dialogparent" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_minimizeanimation" kwin(4272) KWin::EffectsHandlerImpl::loadEffect: Trying to load "kwin4_effect_coverswitch" kwin(4272) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(4272) KWin::Workspace::updateClientArea: Done. kwin(4272) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(4272) KWin::Workspace::updateClientArea: Done. kwin(4272) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(4272) KWin::Workspace::updateClientArea: Done. kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_zoom" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_dimscreen" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_trackmouse" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_logout" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_login" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_coverswitch" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_minimizeanimation" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_slide" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_desktopgrid" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_maketransparent" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_fade" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_dialogparent" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_taskbarthumbnail" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_presentwindows" kwin(4272) KWin::EffectsHandlerImpl::unloadEffect: EffectsHandler::unloadEffect : Unloading Effect : "kwin4_effect_shadow" kwin(4272) KWin::Workspace::setupCompositing: Compositing is suspended kwin(4272) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(4272) KWin::Workspace::updateClientArea: Done. kwin(4272) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(4272) KWin::Workspace::updateClientArea: Done. kwin(4272) KWin::Workspace::updateClientArea: screens: 1 desktops: 5 kwin(4272) KWin::Workspace::updateClientArea: Done. so kwin succesfully prevented you from messing up your screen =D you can try do disable "direct rendering" (in the advanced tab) but that will not really be perfomant :-( does compiz work? Same here! graphics chipset: Integrated Graphics Chipset: Intel(R) Mobile Intel® GM45 Express Chipset Here is part of my glxinfo output: OpenGL vendor string: Tungsten Graphics, Inc OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset GEM 20090712 2009Q2 RC3 OpenGL version string: 2.1 Mesa 7.5 OpenGL shading language version string: 1.20 the source of the bug is in kwin/compositingprefs.cpp In line 243:if( mGLRenderer.startsWith( "Mesa DRI Intel" )) and lines 303-314: if( mGLRenderer.contains( "Mesa DRI Intel(R) G" )) (line number taken from 4.3 branch) The renderer string of the open gl driver changed with the latest version of the intel driver for mobile chipsets. Therefore the compositing preferences code doesn't detect that this hardware is indeed capable of providing compositing support. Quick Solution: check for "Mesa DRI Mobile" in the renderer string this has already been done at LOC 243 in branch 4.3, so please backport this hasn't been done at LOC 303-314 even in branch 4.3!! notice that the (R) changed to ® as well... As this bug concerns KDE 4.3 as well, the version affected by this bug should be changed. Hopefully this bug will get fixed until the 4.3 release. /Tommy @Mathias: I think your problem is different to the original poster. As in your case it's "just" not detecting the right driver. As I see you are using the new Mesa 7.5. As that version was released this week and is not considered as stable (at least for what I read at various sources) and we weren't informed that the driver string changed we cannot detect it. Personally I'm opposed to touch the code after RC 3 in that important part of kwin without having the possibility to test the code myself. We need a better way to detect the driver. This is not the first time there was random changing in the code. We should get something for 4.4 and consider backporting for 4.3.1 - that's just my opinion. (In reply to comment #9) > @Mathias: I think your problem is different to the original poster. As in your > case it's "just" not detecting the right driver. True, I noticed too late that his renderer string should actually be detected correctly by the code. Anyway: I had a look at the mesa git repo, my GL_RENDERER string has been edited the last time 2008-07-08, therefore compositing shouldn't have worked with mesa 7.4 either, but it actually did work. > > As I see you are using the new Mesa 7.5. As that version was released this week > and is not considered as stable (at least for what I read at various sources) > and we weren't informed that the driver string changed we cannot detect it. He is using Mesa 7.5 as well..... I was even able to reproduce the "strobe bug" that he mentioned in his last comment. (i.e. If something is drawn to the screen, it will be displayed to the screen, but in the subsequent frames the part of the screen remains black, therefore you only see the updates to the screen, the rest remains black) I tried compiz 0.8.2, but unfortunately it just produced a seg fault. Direct rendering works well, at least open arena runs smoothly. The problem of not being able to enable the desktop effects seems to be coupled to Mesa 7.5. > Personally I'm opposed to touch the code after RC 3 in that important part of > kwin without having the possibility to test the code myself. > > We need a better way to detect the driver. This is not the first time there was > random changing in the code. We should get something for 4.4 and consider > backporting for 4.3.1 - that's just my opinion. I agree, but it actually seems as if only the "Mobile Intel® GM45 Express Chipset" and "Intel(R) Integrated Graphics Device" have a completely different naming scheme than the other chipsets: http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/drivers/dri/intel/intel_context.c?h=mesa_7_5_branch The black flickering (or strobe ) bug appears in KDE 4.3 too. It seems that this bug is a regression in the intel drivers, see bug: https://bugs.freedesktop.org/show_bug.cgi?id=22907 This is probably the first time I can set a bug to RESOLVED UPSTREAM where it actually is resolved upstream :-) Thanks for informing and fixing the issue |