Bug 32547

Summary: uxa: CompositeRectangles not flushing damage
Product: xorg Reporter: Tilman Sauerbeck <tilman>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: gorkypl, krh, pclouds
Version: unspecifiedKeywords: regression
Hardware: Other   
OS: All   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 44202    

Description Tilman Sauerbeck 2010-12-21 03:22:31 UTC
Commit 8d7b7a0d71e0b89321b3341b781bc8845386def6 ("Set DamageSetReportAfterOp to true for the damage extension") causes drawing problems with rxvt-unicode running in OpenBox with xcompmgr.

These problems are:

1.) Even when the rxvt-unicode window has the input focus, its cursor is drawn as if the window didn't have the focus (ie the cursor rectangle isn't drawn solid as it should be, but only its outline is drawn).

2.) As soon as I start typing in rxvt-unicode, the cursor disappears completely.

3.) When a new rxvt-unicode is spawned (which gets the input focus automatically in my setup), the cursor isn't drawn at all in the new window.

These problems first showed up with xorg-server 1.9.0 (which was the first release to have the commit mentioned). xorg-server 1.9.3 is supposed to fix problems related to that commit AFAICT, but it doesn't fix the problems described here.

Reverting the mentioned commit fixes this.

I'm running xorg-server 1.9.3, xf86-video-intel 2.13.902 (on a i945 chip), libdrm 2.4.23, rxvt-unicode 9.10, xcompmgr 1.1.5 and OpenBox 3.4.11.
Comment 1 Tilman Sauerbeck 2010-12-21 04:02:24 UTC
Correction:
Reverting "Set DamageSetReportAfterOp to true for the damage extension" only helps with xf86-video-intel 2.13.0.

With 2.13.902, the drawing problems remain even if krh's commit to xorg-server is reverted.
Comment 2 Tilman Sauerbeck 2011-04-17 01:35:46 UTC
I'm still seeing this issue with xserver 1.10.1, xf86-video-intel 2.15.0, libdrm 2.4.25, and Linux 2.6.38.x.
Comment 3 Paweł Rumian 2012-03-22 05:40:23 UTC
Please take a look at this problem as it affects many users and was reported many times in various distribution bugtrackers. It happens while using rxvt-unicode with xft fonts, running intel driver and using a compositor.

In my case the issue still exists while using xorg-server-1.12, xf86-video-intel-2.18 and rxvt-unicode-9.15 with Termiuns font. I have switched from xcompmgr to current cersion of compton and the problem still persists.

Here are links to some of the bug reports and relevant forum threads, maybe they will also be helpful:
https://bugs.gentoo.org/show_bug.cgi?id=339716
https://bbs.archlinux.org/viewtopic.php?id=126556
https://bbs.archlinux.org/viewtopic.php?id=106017
http://forums.gentoo.org/viewtopic-t-846125.html
http://code.google.com/p/chromium-os/issues/detail?id=12997
https://gerrit.chromium.org/gerrit/#change,474
https://bbs.archlinux.org/viewtopic.php?id=124801
Comment 4 Chris Wilson 2012-03-23 07:56:05 UTC
Confirmed; driver bug.
Comment 5 Chris Wilson 2012-03-23 08:02:29 UTC
commit 25807f472d051163ed96556a409110fa405c24d1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Mar 23 14:56:06 2012 +0000

    uxa: Remove hook for CompositeRectangles
    
    It was broken and not flushing damage correctly. With the
    improvements made to the kernel, it is no longer a significant advantage
    per se and not worth its additional complexity.
    
    Reported-by: Tilman Sauerbeck <tilman@code-monkey.de>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32547
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Comment 6 Paweł Rumian 2012-03-23 17:07:31 UTC
It works now - thank you very much for your work!