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