Jaunty with Intel Graphics – the workaround

In my release day post, I mentioned that the new Intel drivers has some serious performance issues that were going to keep me from upgrading my laptop.  Well, if you like to fiddle and aren’t afraid of kernel installs, the wait for good performance may be over.

psyke83 over at Ubuntu Forums has posted a Performance Guide detailing how you can get more performance out of the current generation of Intel drivers.

In case you weren’t familiar with the current crop of issues, here’s a good summary taken from the performance guide:

  1. The current driver in our repository has some performance issues with the EXA acceleration method. Users will notice 2D performance is poor due to the default “migration heuristic” employed by EXA (to “always” migrate pixmaps), but this causes performance issues for many users. Setting the heuristic to “greedy” alleviates this problem somewhat. See “man exa”.
  2. The new and faster acceleration method (UXA) is not enabled by default, due to issues reported by many users. This code is being actively developed, and many stability and performance issues have been resolved in the latest drivers (specifically within the intel driver, libdrm and the latest kernel 2.6.30-rc2). Unfortunately, Jaunty will not include the latest versions necessary to improve performance.
  3. 3D performance has regressed compared to the Intrepid release, possibly due to major code changes that have resulted from the introduction to the new acceleration and memory management code (UXA, GEM, DRI2). Due to these changes, there seems to be some regressions in the “legacy” DRI acceleration.
  4. Either Xorg or the “intel” driver seems to be suffering from a bug in which the memory region allocated for the graphics card is not set up with the proper type of caching. This results in jerky video playback of almost any content (from 720p media, all the way down to simple 320×240 mpeg content), and a potential loss of performance for other 2D and 3D operations.

The way to fix it involves installing the latest 2.6.30 kernel, updating your graphics drivers from the xorg-edgers PPA, turning on UXA acceleration in your xorg.conf, and fixing an MTRR prefetch issue with a script that has to run every time you start an X session.

The guide assumes Ubuntu, but should work for any Debian based distribution.  Clearly, this is a pretty complicated solution, and I wouldn’t suggest it on a mission-critical system, or for the casual dabbler (unless you are okay with the possibility of having to reinstall).

My only Intel-based system is my laptop, which I share with my wife.  She’s much more likely to get frustrated with a system that doesn’t “just work” than I am, so I am not going to go this route just yet.

If you try it, let me know how it goes!

, , ,


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: