Hi, I have a Lenovo Thinkpad X220 with i7 Sandy Bridge. I have a problem with the GPU that hangs / freezes the system. System is emerged up to date with latest packages. I am using an external monitor, but the error is the same just with the internal laptop screen.

This is my first post so please don't throw stones, but guide me to offer all the pertinent information. Following the recommendation on bugs.gentoo.org I am trying to get this resolved here first, of course, after searching around the net for this problem for days and not coming up to a solution.

The hangs / freezes manifest in different ways:
1 - the image freezes and the systems hangs / stop responding
2 - the image becomes garbled with no hang but in the end it will lead to a freeze
3 - the monitor powers itself down and the system doesn't accept any input, although it looks like it's not dead. Trying to blindly run shutdown / init 0 from a console doesn't help, it looks like it is not responding

-1- and -2- can be reproduced by running glxgears and moving the window around on the screen. Sometimes the window is garbled at launch.
-3- appears randomly when lauching firefox (which I am running from ~amd64). It happens with Hardware acceleration enabled or disabled in firefox options. I know ~amd64 is not stable, so please concentrate your answers on the above and let's exclude this for now.

I managed to solve the glxgears hang by disabling 3D acceleration with the DRI option

I can move around the glxgears window with DRI disabled and nothing happens, with DRI it crashed within couple of seconds.
However, this is far form solving the problem, it is just a workaround that disables features.

-1- still happens with DRI turned off, while i had only firefox (~amd64) or midori (~amd64) open. I suspect it is not related to them though.

Maybe there is something I miss, I hope there is a solution. Maybe it is not the GPU ???

I have a similar problem (Sandybridge). My system doesn't hang, but anything accelerated (OpenGL, xv) runs at 0.05 FPS or something like that. And I get lots of the following in the log:
[drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
[drm:kick_ring] *ERROR* Kicking stuck wait on render ring