Bug 643399

Summary: kwin 'blur' effect is glacially slow with intel/mesa-7.9-1 (blacklist?)
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: kde-settingsAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 14CC: ajax, jreznik, kevin, ltinkl, rdieter, rnovacek, ry, smparrish, than, thomasj
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 640375 Environment:
Last Closed: 2010-11-05 00:46:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 640375    
Bug Blocks: 633297    

Description Rex Dieter 2010-10-15 13:54:45 UTC
+++ This bug was initially created as a clone of Bug #640375 +++

kwin's 'blur' effect is glacially slow, on my intel hardware at least.  I suspect other free drivers don't fare well here either.

Disable it by default?

--- Additional comment from rdieter.edu on 2010-10-05 12:56:34 EDT ---

Regardless, implementing this for < f14 is a no-brainer.

I think it not a bad idea for f14 too

--- Additional comment from rdieter.edu on 2010-10-05 13:01:00 EDT ---

Some brainstorming on irc #fedora-kde , 


[11:55] <Sho_> with blur enabled opening yakuake on top of another window can be considerably slower because the effect needlessly blurs behind the opague window deco of the lower window; that should hopefully get fixed for 4.6
[11:57] <rdieter> .bug 640375
[11:57] <zodbot> rdieter: Bug 640375 kwin: disable 'blur' effect by default - https://bugzilla.redhat.com/show_bug.cgi?id=640375
[11:57] <rdieter> now I need to find the easiest way to implement that.  suggestions?
[11:57] <rdieter> via kwinrc ?
[11:58] <rdieter> [Plugins] kwin4_effect_blurEnabled=false  ?
[11:59] <rdieter> [Blacklist][Blur] ...    ?
[11:59] <rdieter> other ?
[11:59] <rdieter> patch kwin ?
[12:00] <rdieter> I suspect kwinrc in kde-settings won't help folks who upgrade with existing kwinrc in their profiles.

--- Additional comment from rdieter.edu on 2010-10-05 13:23:50 EDT ---

now, #kwin discussion,

[12:04] <rdieter> mgraesslin (et. al.) : we're considering how to best handle kde-4.4 -> 4.5 upgrades in fedora, and it turns out that due to the largely-well-understood bad drivers situation, some new 4.5 effects don't function well...
[12:04] <mgraesslin> no it'
[12:04] <mgraesslin> s worse
[12:04] <rdieter> blur is one in particular, and we're considering disabling that effects by default. suggestions on how best to implement that?
[12:05] <mgraesslin> disabling blur by default is the wrong way to go
[12:05] <rdieter> ok... then what?
[12:05] <mgraesslin> it does not solve any of the problems except that you punish the users of working drivers
[12:05] <mgraesslin> disable GLSL in the drivers
[12:05] <rdieter> turns out it doesn't seem to function well for any of the free drivers we ship... 
[12:06] <mgraesslin> that's incorrect, it works pretty well on an Intel system I have access to
[12:06] <fredrikh> rdieter: which drivers doesn't it work well with, and which mesa version?
[12:06] <mgraesslin> it only does not work if GLSL is used
[12:06] <rdieter> not mine, intel at least.  mesa-7.9, intel-2.12.0
[12:06] <rdieter> and older i945
[12:07] <rdieter> touching drivers is a bit outside the scope of our (kde packagers) expertise, unfortunately.
[12:07] <fredrikh> according to kdepepo it does work with a i945
[12:07] <rdieter> it works, but I can almost watch each pixel draw. :(
[12:07] <fredrikh> rdieter: have you tried profiling it in sysprof?
[12:08] <rdieter> no
[12:08] <mgraesslin> rdieter: I think Kubuntu will use a driconfig to disable GLSL
[12:08] <rdieter> mgraesslin: ok, that sounds like an excellent (long-term) plan.
[12:09] <mgraesslin> actually I consider that as short-term
[12:09] <rdieter> though, I had hoped to implement something in the short-term, so we can issue updates within a few days (or week)
[12:09] <fredrikh> rdieter: if you comment out the code in BlurShader::create() that creates a GLSL shader, does it improve the situation?
[12:10] <rdieter> alright, you've convinced me otherwise, I'll put in the effort to looking to disabling GLSL and profile things.  thanks.
[12:11] <fredrikh> mgraesslin: this GLSL shader doesn't use anything that the i945 can't support

[12:11] <fredrikh> the only issue i can think of is if the instruction scheduler can't avoid exceeding the texture indirection limit, or if it ends up using too many temps
[12:14] <fredrikh> rdieter: it could also be an issue with the new glsl compiler in mesa 7.9, but only if it's a regression from 1.8
[12:16] <rdieter> fredrikh: ok, I'll try out mesa-7.8.x w/blur too
[12:21] <rdieter> fredrikh: indeed, my mesa-7.8.x box seems pretty ok

--- Additional comment from rdieter.edu on 2010-10-05 13:54:19 EDT ---

Moving to F14Target-kde

--- Additional comment from rdieter.edu on 2010-10-14 14:19:43 EDT ---

patch kubuntu uses ,

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/maverick/mesa/maverick/annotate/head:/debian/patches/104_i915_fragment_shader_disable.patch

essentially sets
DRI_CONF_OPT_BEGIN(fragment_shader, bool, false)

can our mesa consider adding this?

--- Additional comment from rdieter.edu on 2010-10-14 14:20:21 EDT ---

fwiw, just re-tested with mesa-7.9-1.fc14 , still unhappy.

Comment 1 Rex Dieter 2010-11-05 00:46:35 UTC
Yay, workaround included in mesa-7.9-2.fc14 per bug #	640375