Bug 41062 - R600: mouse cursor display corruption
Summary: R600: mouse cursor display corruption
Status: RESOLVED NOTABUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-20 16:30 UTC by Nicholas Miell
Modified: 2011-10-19 19:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (35.46 KB, text/x-log)
2011-09-20 16:30 UTC, Nicholas Miell
no flags Details

Description Nicholas Miell 2011-09-20 16:30:08 UTC
Created attachment 51439 [details]
Xorg.0.log

When I move the mouse cursor to the left half of the top row of the screen, a flickering line appears to the right of the cursor in the top row of pixels.

The line is largest when the cursor is closest to the upper left pixel, and shrinks as I move it to the right until somewhere around the center of the screen it stops appearing entirely. The line shrinks to the right, i.e. at its longest it extends from the cursors hotspot to a point maybe 64 pixels (an eyeballed guess) to the right of the hotspot, and as it shrinks the gap between the hotspot and the flickering line increases until it is invisible.

As far as I can tell, this flickering line always appears when I move the cursor to the top row of pixels on the left half of the screen, although often the color of the flickering line blends in very well to the background, so it is possible that it goes away entirely without me noticing.

The flickering line does not appear in screenshots and happens both with and without GL desktop compositing.

Hardware is:
01:05.0 VGA compatible controller: ATI Technologies Inc RS880 [Radeon HD 4250]

Software is:
xorg-x11-drv-ati-6.14.1-2.20110525gitfe5c42f51.fc15.x86_64
xorg-x11-server-Xorg-1.10.4-1.fc15.x86_64
libdrm-2.4.26-1.fc15.x86_64
kernel-2.6.40.4-5.fc15.x86_64
Comment 1 Nicholas Miell 2011-09-21 17:16:19 UTC
Looking at radeon_crtc_cursor_move in linux/drivers/gpu/drm/radeon/radeon_cursor.c:

1) Is the calculation of xorigin and yorigin correct? Looks off by one to me.

2) If xorigin and yorigin are non-zero, shouldn't they be subtracted from the cursor width and cursor height before being written to EVERGREEN_CUR_SIZE/AVIVO_D1CUR_SIZE?
Comment 2 Michel Dänzer 2011-09-22 03:19:48 UTC
Sounds like some kind of timing/watermark issue which prevents the HW cursor data from being available in time for the left half of the top scanout line. Does radeon.disp_priority=2 make a difference?

I'm not seeing this on my RS880 laptop, but it probably depends on the panel mode etc.
Comment 3 Nicholas Miell 2011-09-22 12:13:08 UTC
Adding radeon.disp_priority=2 to the kernel command line messes up the screen colors, but does nothing to stop the cursor from flickering.

This the VGA output to a CRT, by the way. No LCD panels involved.
Comment 4 Nicholas Miell 2011-10-19 19:17:53 UTC
Apparently I've been operating this monitor at a resolution that exceeds its capabilities, and this actually started to matter when I switched GPUs.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.