Bug 171033 - Desktop is corrupted when switching between applications
Summary: Desktop is corrupted when switching between applications
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: CVS
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 170498 171827 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-09-14 12:26 UTC by András Manţia
Modified: 2008-10-02 11:23 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
kwin patch (503 bytes, patch)
2008-09-30 19:12 UTC, Lubos Lunak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description András Manţia 2008-09-14 12:26:45 UTC
With nvidia driver 177.70 and kde trunk the windows is not correctly repainted when switching between applications resulting in a badly looking screen. Here is an image when I switched from konqui to konversation. Depending on the situation, the desktop might look much uglier. Turning off desktop effects helps.

http://andras.kdewebdev.org/other/desktopmess.png
Comment 1 lucas 2008-09-14 12:28:30 UTC
Does the problem occur with the 173 driver? Also what graphics card do you have?
Comment 2 András Manţia 2008-09-14 12:32:37 UTC
Geforce 7600GS, I will try 173 soon.
Comment 3 András Manţia 2008-09-14 12:48:54 UTC
It happens with 173.14.05 as well.
Comment 4 Lubos Lunak 2008-09-19 12:34:24 UTC
I've never noticed this with my nvidia. Does Compiz work? If it is relatively recent, can you find the exact commit? Not much to do otherwise I'm afraid.
Comment 5 András Manţia 2008-09-19 12:44:50 UTC
I see it to on two computers,  both running openSUSE, one with self compiled KDE, the other using KDE 4.1.x packages from openSUSE, currently ""Version 4.1.2 (KDE 4.1.1 (KDE 4.1 >= 20080828)) "release 49.1"". This one has 173.14.12 and a Quadro NVS 140M. The bug usually happens on quick switch (alt-tab without selection menu or effect or clicking on the taskbar). Well, I don't exactly know when it appeared but IIRC there was a time when on IRC #kwin even the topic suggested to do something because kwin window switching is broken. It appeared around that time.
Comment 6 András Manţia 2008-09-26 22:57:41 UTC
Tried with 177.76 and the openSUSE 4.1.1 packages, the bug is there. :(
Comment 7 András Manţia 2008-09-27 11:44:34 UTC
Here is what I found:
- trunk from 25th of August shows the problem
- trunk from 20th of August does not show it

Sorry, I did not have time (and won't have next week) to narrow the interval. But as I said the bug is present in 4.1.1 as well (in the openSUSE packages), so it is something that was backported. 
Comment 8 lucas 2008-09-27 11:59:57 UTC
Possible trunk commits between 20th and 25th August:

Revision 852355
Apparently it is possible to switch compositing between starting
and getting a zero-timeout timer.

Revision 851742
Support for unredirecting fullscreen windows, i.e. games etc. can paint directly
and not be slowed down by going through compositing. Turned on and no UI option
in the naive hope that it won't cause any real problems. Maybe effects doing
window previews should get API to suspend unredirect though.

Revision 851667
Cache the result of XQueryTree().

Revision 850941
Make sure idling does not actually cause big load by a repeating
quick timer caused by dynamically adjusting the next repaint
when using vsync. Ideally there should be no idle ticks at all,
somewhen later.
BUG: 154270
CCBUG: 155694



Possible 4.1 branch commits between 20th and 25th August:

Revision 850943
Make sure idling does not actually cause big load by a repeating
quick timer caused by dynamically adjusting the next repaint
when using vsync. Ideally there should be no idle ticks at all,
somewhen later.



As r850941/850943 is the only one that was backported if you can test at that revision and as well as one revision before that would be great as verification.
Comment 9 András Manţia 2008-09-27 23:34:45 UTC
Revision 851667
Cache the result of XQueryTree().

This is the commit causing the problem.
About the backport...if this wasn't backported in the kde svn, maybe the opensuse developers backported for their own package.
Comment 10 Lubos Lunak 2008-09-30 18:56:23 UTC
*** Bug 171827 has been marked as a duplicate of this bug. ***
Comment 11 Lubos Lunak 2008-09-30 19:12:55 UTC
Created attachment 27622 [details]
kwin patch

Does this patch help? It's very difficult for me to reproduce the problem.
Comment 12 Kristjan Ugrin 2008-10-01 15:05:09 UTC
On machine with intel graphics this seems to fix it, will try on nvidia when I get back home.
Comment 13 Kristjan Ugrin 2008-10-01 19:03:36 UTC
Works now on nvidia too.
Comment 14 Lubos Lunak 2008-10-01 19:48:43 UTC
r866605, I don't know why bugzilla didn't pick up the commit.
Comment 15 Lubos Lunak 2008-10-02 11:23:48 UTC
*** Bug 170498 has been marked as a duplicate of this bug. ***