There’s a previous episode regarding this driver, but let’s try and get a short summary regarding UMS (User Mode Setting, old-fashioned) vs. KMS (Kernel Mode Setting, new but also Linux-specific): upstream moved from UMS+KMS to KMS only (that means a single code base and allegedly fewer bugs).

UMS vs. KMS timeline:

2.9 2.10 2.11 2.12 2.12+legacy 2.12+shadow 2.13

In order for UMS introduced back into 2.12+legacy to be useful for the ever-buggy i8xx chips, those were blacklisted for KMS in the i915 module as of linux-2.6 2.6.32-21. The plan didn’t quite work out, so we moved to the shadow version, relying on KMS again. At that point, we asked for the removal of the kfreebsd-* binaries, since they were unusable.

Kernel timeline:

k ≤ 2.6.32-20 2.6.32-21 ≤ k ≤ 2.6.32-23 2.6.32-24 ≤ k
KMS KMS + blacklist for i8xx KMS

Quick summary:

  • You want to use the latest kernel from sid, with the latest -intel driver from sid as well. (That holds for other drivers as well.)
  • You may want to check whether kernel bugs are fixed in experimental’s kernel.
  • You may want to check whether driver bugs are fixed in experimental’s driver package (2.13). Feel free to open a bug upstream if there’s none for your issue already, optionally telling us about it (through a bug in the BTS which can be marked as forwarded there).


Due to nouveau’s ABI changes, libdrm’s compatibility (for nouveau users) is a funny subject. Nouveau users are expected to have the following in mind (README.Debian is there already in the xserver-xorg-video-nouveau package).

2.4.21-1~squeeze3 (sid) 2.4.22-1 (experimental)
nouveau 0.15 nouveau 0.16 aka 1.x
2.6.32 ≤ k ≤ 2.6.33 2.6.34 ≤ k

We carry a big ABI-revert patch in our 2.4.21 package so that we get the bugfixes of that version while still using the 0.15 interface, which is what we have in the sid kernel for now. If we need more stuff from 2.4.22 for squeeze, we should be able to cherry-pick them, or even adjust the ABI-revert patch quite easily.

For now (and in experimental anyway), the 2.13 version of -intel is going to depend on libdrm 2.4.22, but cherry-picking fixes should be easy; making it build against sid’s 2.4.21 shouldn’t be hard either.


It’s now possible to start X with the openchrome driver again, thanks to Nethanel’s feedback on #597379, but that doesn’t mean it’s usable for real unfortunately, since users still report frequent crashes.