As for the two different chipsets, the 965 and G31 belong to the same family of harware, (and no, the naming rarely makes that obvious), so it's not too surprising that the behave similarly.
As for the corruption shown in the screenshots, the two effects look quite distinct so likely have different underlying causes. The font corruption looks a lot like a bug that was fixed in the kernel as of the commit below, (which should have first appeared in 2.6.30-rc8 and subsequently in 2.6.31). The attached X.org.log file shows kernel 2.6.31 so hopefully that commit is in place.
It might be worth attempting to boot with a different kernel, (say vanilla 2.6.31 or so), to see if that results in anything different.
-Carl
commit 07f4f3e8a24138ca2f3650723d670df25687cd05
Author: Kristian Høgsberg <email address hidden>
Date: Wed May 27 14:37:28 2009 -0400
i915: Set object to gtt domain when faulting it back in
When a GEM object is evicted from the GTT we set it to the CPU domain,
as it might get swapped in and out or ever mmapped regularly. If the
object is mmapped through the GTT it can still get evicted in this way
by other objects requiring GTT space. When the GTT mapping is touched
again we fault it back into the GTT, but fail to set it back to the
GTT domain. This means we fail to flush any cached CPU writes to the
pages backing the object which will then happen "eventually", typically
after we write to the page through the uncached GTT mapping.
[anholt: Note that userland does do a set_domain(GTT, GTT) when starting
to access the GTT mapping. That covers getting the existing mapping of the
object synchronized if it's bound to the GTT. But set_domain(GTT, GTT)
doesn't do anything if the object is currently unbound. This fix covers the
transition to being bound for GTT mapping.]
Fixes glyph and other pixmap corruption during swapping. fd.o bug #21790
Signed-off-by: Kristian Høgsberg <email address hidden>
Signed-off-by: Eric Anholt <email address hidden>
Thanks for the bug report Jeffrey,
As for the two different chipsets, the 965 and G31 belong to the same family of harware, (and no, the naming rarely makes that obvious), so it's not too surprising that the behave similarly.
As for the corruption shown in the screenshots, the two effects look quite distinct so likely have different underlying causes. The font corruption looks a lot like a bug that was fixed in the kernel as of the commit below, (which should have first appeared in 2.6.30-rc8 and subsequently in 2.6.31). The attached X.org.log file shows kernel 2.6.31 so hopefully that commit is in place.
It might be worth attempting to boot with a different kernel, (say vanilla 2.6.31 or so), to see if that results in anything different.
-Carl
commit 07f4f3e8a24138c a2f3650723d670d f25687cd05
Author: Kristian Høgsberg <email address hidden>
Date: Wed May 27 14:37:28 2009 -0400
i915: Set object to gtt domain when faulting it back in
When a GEM object is evicted from the GTT we set it to the CPU domain,
as it might get swapped in and out or ever mmapped regularly. If the
object is mmapped through the GTT it can still get evicted in this way
by other objects requiring GTT space. When the GTT mapping is touched
again we fault it back into the GTT, but fail to set it back to the
GTT domain. This means we fail to flush any cached CPU writes to the
pages backing the object which will then happen "eventually", typically
after we write to the page through the uncached GTT mapping.
[anholt: Note that userland does do a set_domain(GTT, GTT) when starting
to access the GTT mapping. That covers getting the existing mapping of the
object synchronized if it's bound to the GTT. But set_domain(GTT, GTT)
doesn't do anything if the object is currently unbound. This fix covers the
transition to being bound for GTT mapping.]
Fixes glyph and other pixmap corruption during swapping. fd.o bug #21790
Signed-off-by: Kristian Høgsberg <email address hidden>
Signed-off-by: Eric Anholt <email address hidden>