Whoops, Intel SNB Is Borked At The Last Minute In Linux 2.6.39
Phoronix: Whoops, Intel SNB Is Borked At The Last Minute In Linux 2.6.39
This morning after writing Intel Sandy Bridge On Ubuntu 11.04 Is Still Troubling, I proceeded to build the latest Mesa / Linux kernel / libdrm / DDX Git stack to see where the latest Intel SNB code is at and how it's running for the popular Core i5 2500K processor. Before leaving three weeks ago, everything was running great, but to much surprise, this morning it was a broken mess. Intel just regressed hard in their Sandy Bridge support for the about-to-be-released Linux 2.6.39 kernel. Whoops!
Intel is honouring it's acquired nickname: Sandy Bitch
But bad support is not doing anyone good. It's terrible enough that I had no choice but to buy an i3 due to AMD's absence in the affordable quality 14 inch laptop 'sector'. Luckily that works (no shit).
Note that if you're running the bleeding-edge 3.0rc4 kernel, you already have the first patch and only need to apply the second.
Also note that after applying these patches semaphores should be turned on (put i915.semaphores=1 in your kernel boot parameters) Semaphores make the driver go faster. On my hardware, with semaphores enabled I get about 10% more frames in glxgears both with and without compositing; "real" workloads may vary.
The first part of the fix is in mainline git. The second patch was only posted on the intel-gfx mailing list a couple days ago; I assume it'll make it into git any day now.
You don't need any kernel option to "activate" the fixes. Without the patches, some people have fewer hangs with semaphores=0 and other people have fewer hangs with semaphores=1 (I suspect it depends mainly on what window manager they're running) With the patches, the hangs are gone, period; semaphores=1 is strictly a performance tweak. I'm guessing that once the kernel drm hackers are satisfied that the fix is working and correct, semaphores=1 will be made the default again, for good this time.