When Open-Source Graphics Drivers Break
This morning I wrote about the troublesome experience of Intel Sandy Bridge graphics under Ubuntu 11.04 as the packages found in the Natty repository are outdated and contain only the initial "SNB" support. In the mainline upstream code, Sandy Bridge is supported much better, offers faster performance, and possesses other new features (e.g. VA-API encode), except in the past week the Intel SNB Linux code temporarily broke hard.
As said in a second article today, late in the Linux 2.6.39 kernel (last week), Intel Sandy Bridge graphics regressed badly. The Phoronix Test Suite narrowed down the commit, but due to the nature of the regression, it probably won't be addressed prior to the Linux 2.6.39 kernel release that is happening at any moment.
The good news is that since then I've tested the latest drm-intel-next repository code and there, thanks to other changes, Sandy Bridge is back to playing nicely. The Intel Core i5 2500K is back to shining under Linux. But for those running the Linux 2.6.39 kernel, the only Sandy Bridge problem isn't just the GPU hangs as talked about in the second article. Below is a video showing the Core i5 2500K tripping out on the latest Linux 2.6.39 Git code from Linus's tree as of today.
The video is showing the sporadic experience that was encountered when simply at the Unity desktop of Ubuntu 11.04 with the Linux 2.6.39 kernel. This was after Compiz had crashed and -- thanks to the compositing window manager going down -- Unity took a dive too. The video is brief and also doesn't illustrate the extent of the text corruption issues that also appears from time-to-time.
Prior to leaving for Europe last month, the Intel Sandy Bridge support under the Linux 2.6.39 kernel (and on Git for Mesa, libdrm, and xf86-video-intel) was great. At least though it looks like the situation is fixed up in drm-intel-next, which will land in the Linux 2.6.40 kernel. Offhand I can't think of any non-rolling-release distributions shipping with the Linux 2.6.39 kernel so at least the fallout should be limited since Ubuntu 11.10, Fedora 16, etc will be shipping 2.6.40+ kernels.
If there's any good news out of this, it reminded Intel that last month at the Linux Foundation Collaboration Summit there was a Sandy Bridge development laptop promised that could be used for per-commit driver testing by the Phoronix Test Suite / Phoromatic. Surprisingly, an auto-generated email arrived this afternoon informing me that a Huron River OEM notebook was on the way.
This is good news for everyone. This means it will hopefully be one of the last times having to break major Intel graphics regression news through Phoronix, at least for hardware generations and software configurations being automatically tested on a per-commit basis. Instead, the performance regressions (and thus also issues like GPU hangs/stalls) will be caught in real-time and hopefully the developers will be quick to resolve such issues. The SNB 2.6.39 issues talked about today would have been caught by our testing infrastructure when the code was originally committed.
Knowing the level of performance for each commit will also allow us (and others) to analyze the driver performance extensively over time and to hopefully have some of the distribution vendors back-port some of the performance improvements to their packages. Other drivers / vendors will also hopefully follow suit.
This automated per-commit Intel Linux driver testing/benchmarking will also hopefully be another shining example of the capabilities of the Phoronix Test Suite / Phoromatic / OpenBenchmarking.org. This new tracker should be up within two weeks or so, and with that will also bring the new Phoromatic-on-top-of-OpenBenchmarking.org system and also some enhancements that have been pending for the Phoronix Test Suite client itself. Other fun may also come.
More details on our continued Sandy Bridge Linux testing and on the per-commit driver testing to come soon.