Following an idea from some other comment, I decided to look at the
screen corruption more carefully.

I thought it was drawing the wrong thing sometimes, but not always,
because I could drag a window over the affected row and it would be
corrected.

But on looking closer, I see there are _two_ corrupt partial rows, and
at least one of them is _always_ corrupt.

The form of the corruption is that whatever is drawn in one row,
immediately appears in the other, and vice versa.  In other words,
both rows always have exactly the same pixels as each other.

So when I drag a window over the first row, it appears to clean that
row up, but in fact the _other_ row gets an exact copy of the pixels
drawn to the first row while the window is being dragged over it.

And vice verse: when I drag a window over the second row, the first
row gets an exact copy of the pixels drawn to the second row.  So both
rows always contain identical pixels, but which values depends on
which area of the screen was drawn to most recently.

This does look like it might be a memory mapping problem, perhaps
something like a page shared incorrectly.

To help debug, I looked at the coordinates.

I have a dual head setup, with LVDS below TMDS-1.  LVDS is 1280x800,
TMDS-1 is 1680x1050.  xrandr says:

Screen 0: minimum 320 x 200, current 1680 x 1850, maximum 1680 x 1880
LVDS connected 1280x800+400+1050
TMDS-1 connected 1680x1050+0+0

The two corrupted part rows are on TMDS-1, at these coordinates:

    (1024,736) to (1679,736)
    (0,959) to (655,959)

Perhaps the coordinates will relate to addresses in framebuffer memory
in some useful way for debugging.

I was a little surprised to find they are 656 pixels wide - that seems
a peculiar number.

-- 
screen artifacts after resume, part row of pixels in error (945GM)
https://bugs.launchpad.net/bugs/91966
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to