A couple of weeks ago, I reported about a fix for Intel driver performance regression in Ubuntu 9.04 (Jaunty Jackalope). The fix solved the overal responsiveness of the interface (especially for composite-enabled desktops), but introduced a new problem which wasn’t visible at first: a memory leak slowly filling up swap space.
Over the course of 2 or 3 hours, my UXA-enabled driver would start to fill swap space with unrecoverable junk blocks. The only solution was to restart X before it grinded to a halt. This was not optimal, but I preferred restarting X over the clunky EXA method.
I’ve experimented with a new solution – read more behind the cut.This is what I’ve done:
- Edit xorg.conf and add the following lines (… parts might vary)
Section "Device" Identifier "Configured Video Device" ... Option "AccelMethod" "uxa" Option "EXAOptimizeMigration" "true" Option "MigrationHeuristic" "greedy" Option "Tiling" "true" # i8xx users: might cause instability ... EndSection
- Install the latest stable X.org drivers, provided by this Launchpad PPA. We’re deviating away from stock jaunty drivers here, but this shouldn’t be a problem. We’re just using a repository with more up-to-date drivers.
After adding the relevant lines to your /etc/apt/sources.list, run apt-get update and the update manager to install the new X.org drivers
- The latest drivers have a bug concerning MTTR: download this fix: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/314928/comments/38 . You can run this manually or put it in your list of startup programs.
These (relatively safe) steps resulted in better performance for me, and as of yet no swap issues. Fingers crossed though.
Update: Swap fix not fixed, but more info in a more recent blogpost here.