Intel i915 integrated graphics under Debian: how to get rid of sluggish 2D performance
2nd March 2009
I assume you already have configured and working desktop environment, but want to improve performance.
First of all, sudo aptitude install mesa-utils. Then run in a Terminal/Konsole glxgears, and wait for ~15 seconds; if your FPS is ~400 or less, then you do have sluggish video performance (usually manifesting itself as slow scrolling in Firefox/Iceweasel, slow window switching/minimziing/maximizing etc).
After reading through several forums and bug reports and blog posts, I’ve ended with the following modifications to my /etc/X11/xorg.conf:
- backup your current xorg.conf: sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.before-exa
- open your /etc/X11/xorg.conf with a favourite editor; I’ve added these lines to section “module”:
Load “dbe”
Load “xtrap”
Load “record”
Load “GLcore”These are not really performance-related and could be skipped; I’m giving them here, because they were suggested as default entries by dexconf or some other xorg.conf-generator utility. Again – they are not supposed to improve performance, so you can skip these.
- my “Device” section is now:
Section “Device”
Identifier “Intel Corporation 82915G/GV/910GL Integrated Graphics Controller”
BoardName “82915G/GV/910GL Integrated Graphics Controller”
Vendorname “Intel Corporation”
#Driver “i810″
Driver “intel”
BusID “PCI:0:2:0″
Option “DRI” “true”
Option “AccelMethod” “exa”
Option “MigrationHeuristic” “greedy”
Option “ExaNoComposite” “false”
EndSectionDriver i810 (xserver-xorg-video-i810 package) was about 10-20 FPS slower than Driver intel (xserver-xorg-video-intel package) for me. The most important lines here are Option AccelMethod exa (which enables EXA acceleration instead of the older XAA; if you run 2.6.28 or later kernel, you can try UXA instead of EXA) and Option MigrationHeuristic greedy. Option ExaNoComposite false doesn’t make a difference for me, and Option DRI true might be redundant (didn’t bother trying to remove it).
- at the end of xorg.conf I have two more sections:
Section “DRI”
Mode 0666
EndSectionSection “Extensions”
Option “Composite” “enable”
Option “MIT-SHM” “Yes”
EndSection - sudo nano /etc/environment, and add one line: INTEL_BATCH=1 (if you have graphics stability issues or screen corruption – try removing this change first)
- you can test if your xorg.conf is syntactically correct by running X -config /etc/X11/xorg.conf (provided that you edited this exact file)
This is it. Before these modifications, my FPS in glxgears was around 430; after these modifications it is ~915.
As time permits, I might try the XAA configuration, suggested at foolcontrol.
Update: with compiz enabled, XAA configuration recommended at foolcontrol is definitely faster in 2D.
Improvements, suggestions, corrections are welcome.
May 30th, 2009 at 5:41
Thanks for the article and the suggestions. I did play with the same settings and increased the fps to 1370 by using one of the methods for fixing MTRR. See my post bellow for more details.
note by blog owner: the page linked to is a forum with restricted access, and requires forum registration to view content
http://www.pclinuxos.com/index.php?option=com_smf&Itemid=58&topic=58215.0
Hope that helps,
GregPCLOS
June 2nd, 2009 at 4:08
Hi,
thanks for posting that! I was wondering if this applies to my situation (I run debian
and i have issues with my performance). My graphics is an Intel Graphics Media Accelerator
X3100. Does that belong to the i915 family?
Thanks in advance..
June 2nd, 2009 at 9:04
I think it doesn’t belong to the “i915″ family, but is similar (because of being Intel integrated video solution). I’m sure you could google for X3100-specific advice. Or, at the very least, try various options from this post one-by-one, measuring performance somehow after each change.
Please write back what you achieve.
February 7th, 2010 at 1:40
Hi,
I have the same problem and found FPS 250. tried to amend the xorg.conf but didn’t find it under /etc/Xll. Tried to generate another one but joy. Could you please advise. running debian squeeze
February 7th, 2010 at 21:04
To the best of my knowledge, X.org is targeting for a xorg.conf-less operations – this is why xorg.conf may actually be absent from recent Debian systems. To be sure, run `locate xorg.conf`.
If that shows no results – just create a new xorg.conf file under /etc/X11/ (this is where it has to be put). There used to be some packages which generated “skeleton” xorg.conf files – e.g. ‘dexconf’, but they seem to be discontinued.
Looks like your only option is just writing a new xorg.conf. Below is mine (from a home computer, so it has entries for ATI card); it was mostly written manually, and it does work fine. Hopefully, this will give you a place to start.