i810 driver news

The X.org i810 driver for Intel “Extreme” graphics cards is probably the premier example of a fully open-source 2D/3D graphics driver. (Despite the name “i810“, the driver actually supports all 800 and 900 series Intel graphics). My laptop comes with Intel 915GM integrated graphics, so I have been using the i810 driver for over 6 months. Frankly, the experience has been underwhelming.

For instance, the driver is very finicky about BIOS versions. Unless you have just the right version, it won’t work at all. And sometimes, that right version is no longer available on the manufacturer’s webpage, so you need to hunt it down through various fora. Then, if you have a widescreen monitor (quite common these days), you need to perform crazy voodoo every time you boot to get your 16:10 aspect ratio working. Once you are in X, you will get very unimpressive OpenGL performance. Accelerated Xv will flip colors randomly once in a while. The driver will occasionaly die with bizarre errors on suspend/resume (you did save your work before pressing “suspend”, right?) And on very rare occasions, it would lock hard for no reason whatsoever.

Considering my experience, I am extremely happy that people have started working on giving the driver a long-needed overhaul.

During the 2006 XDevConf, Keith Whitwell and Thomas Hellstrom of Tungsten Graphics gave a presentation entitled “New DRI memory manager and i915 driver update” (pdf). (The fine folks at Tungsten Graphics have been responsible for much of the work on i810 — without them, we would be stuck with no driver whatsoever.) In any case, Whitwell and Hellstrom talked about the way the i810 driver currently manages memory. It doesn’t. Apparently, if an application feels like, it could, for instance, delete another application’s textures and overwrite them with its own crap. Now, as long as a typical user didn’t have too many accelerated graphics apps running at once, it worked out pretty well and X could last some time before encountering memory corruption and crashing. However, in the new world of XGL and AIGLX, where just about everything is OpenGL, such laxity is no longer acceptable. So, Tungsten Graphics is working on a proper memory manager for i810. According to them, besides obvious stability benefits, this will also result in memory savings and speedups. Go Tungsten!

And on another front, Dave Airlie has decided to add monitor auto-detection to i810. If the monitor supports standard protocols like TMDS and LVDS, upcoming versions of i180 should detect its resolutions and refresh rates appropriately. That means no more messing with 915resolution hacks, and hopefully less dependence on precise BIOS revisions. Go Dave!

If all works out well, future versions of i810 will suck much, much less.

Leave a Reply