--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: pixel corruption (overflow in pixel operations, maybe Matrox driver?)
- From: Ulrich Eckhardt <doomster@knuut.de>
- Date: Sat, 20 Jan 2007 14:21:50 +0100
- Message-id: <200701201421.50607.doomster@knuut.de>
Package: xserver-xorg
Version: 7.1.0-10
When I drag a window or resize it, I get artifacts left over from that
operation. Also, some 'normal' rendering operations are affected, I even see
some weird light-effects in Quake 2.
Now, those artifacts are not completely random. I used an Eterm in
Enlightenment (I normally use fluxbox, I only used E because it displays
position and size while moving/resizing) and positioned it at different
positions and then used the resize-handle to create the rubber-band rect that
shows the target-size. The results are
X Y artifacts from
330 116 left side of rubberband
330 117 -
331 116 right side of rubberband
331 117 right side of rubberband
332 116 left side of rubberband
...
I tried some more positions, the common factor seems to be that the X position
is odd.
Another similar effect occurs when moving a window. Just grab the window and
wiggle it around a bit and you have the pixels all mixed up. You can still
see the original content, so it is not a complete disaster, but nonetheless
several pixels have weird colours.
Speaking about colours, the effect is most visible on black and white. Also,
the artifacts when moving a window typically occur to the right of
dark/bright or bright/dark transitions, hence my guess that there is some
kind of overflow or underflow in blitting operations.
Note that these artifacts are removed when the area is redrawn, e.g. by moving
another window over it. It isn't redrawn when just moving the mouse over it,
even though I have the option "HWcursor" set to "off" in xorg.conf. Also,
those artifacts are really there, i.e. not just something that is outside of
X's control. What I mean is that when using Xmag, changing the resolution
(with Ctrl-Alt-+/-) or scrolling the viewport those artifacts remain. This
might give a hint where these operations take place that create the
artifacts.
Talking about Xmag, I took a closer look at the pixel values of those
artifacts (I assume that when you click a pixel there that it displays the
RGB values). I have a background with a single colour (white, RGB 0xffffff).
Looking at the pixel-values of the artefact, I see following colours:
fff9bf
ffd9ff
ffbfff
fff8ff
ffc8ff
ffefff
ffeeff
ff7fff
ff3fff
ff37ff
ffceff
As you can see, typically the G channel is affected, resulting in magenta
artifacts on the white background. This runs along the behaviour on black
background, where the artifacts are typically green.
Note that these artifacts only occur on every fourth vertical line of pixels.
AFAICT (It's hard to measure this precisely) it occurs on the third, seventh,
eleventh ... lines.
Further, I'm also running a Matrox card. There are a handful of bugreports in
the BTS that talk about Matrox cards and display problems. I'm not sure if
those are related to what I am seeing, as they lack a precise description.
In case that isn't clear, the artifacts don't have anything to do with window
resizing/moving per se. I also see them right now while typing some text
black on white. The point is just that e.g. the rubberband resizing makes
this effect much more apparent.
Uli
--- End Message ---