FS#9522 - Significant GLX slowdowns after most recent xf86-video-intel update

Attached to Project: Arch Linux
Opened by name withheld (Gullible Jones) - Monday, 11 February 2008, 02:58 GMT
Last edited by Aaron Griffin (phrakture) - Wednesday, 12 March 2008, 16:57 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Since updating from 2.2.0-1 to -2, OpenGL games and other applications have been performing significantly worse. Glxgears, which used to give ~1000 FPS, now gives about 700.

Additional info:
* xf86-video-intel 2.2.0-2, kernel26 2.6.24.1-2
* Using XAA, offscreen pixmaps disabled. Xorg.0.log is attached.


Steps to reproduce:

Upgrade from xf86-video-intel 2.2.0-1 to 2.2.0-2. Performance of OpenGL applications, especially games, should decline visibly.
This task depends upon

Closed by  Aaron Griffin (phrakture)
Wednesday, 12 March 2008, 16:57 GMT
Reason for closing:  Deferred
Additional comments about closing:  Upstream bug, we can't do too much about it
Comment by Jan de Groot (JGC) - Monday, 11 February 2008, 07:28 GMT
Remember that glxgears is anything but a benchmark tool. It's nothing more than a tool to show that 3D is working.
Comment by name withheld (Gullible Jones) - Monday, 11 February 2008, 23:25 GMT
True, nonetheless other OpenGL stuff is also performing badly. BZFlag is giving me about half the framerate it did before.
Comment by Alois Nespor (anespor) - Sunday, 17 February 2008, 19:04 GMT
Yes, glxgears gives less, but when i play UFO:AI, works better (more FPS) than previous versions.
Comment by Arjun Shankar (spectre) - Saturday, 23 February 2008, 16:24 GMT
On my 915GME, using xf86-video-intel causes buttons, panels, window borders, icons etc to be rendered badly (pixelized), though fonts and images show up fine. When I switched back to xf86-video-i810, this problem vanished. Related?
Comment by Alois Nespor (anespor) - Sunday, 24 February 2008, 10:04 GMT
@Comment by Arjun Shankar (spectre)

Arjun, can you try devel version of xf86-video-intel whether problem persisting or not ?

http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.2.0.90.tar.bz2
Comment by Arjun Shankar (spectre) - Wednesday, 27 February 2008, 16:29 GMT
Hi Alois,

I don't manage to get enough time on weekdays. I'll play around with 2.2.1 (which came out on 22nd) and let you know. I haven't installed abs yet, but I was looking through cvs.archlinux.org and I see we apply a few patches to the source. Should I try without patching?
Comment by Alois Nespor (anespor) - Wednesday, 27 February 2008, 17:34 GMT
Hi Arjun,

yes, without patches. All patches are now included in 2.2.1. You can use archlinux´s package (pacman -S xf86-video-intel) - is up-to-date.

You can use also use EXA accelaration (instead of (old) XAA) - in xorg.conf -Section "Driver" add Option "AccelMethod" "XAA".
Comment by name withheld (Gullible Jones) - Thursday, 28 February 2008, 02:01 GMT
If anything, 2.2.1 is even worse. EXA seems to have been debugged, but using it now slows things down even more.

(I'll be going back to i810 for now, but I'll test stuff out if you want me to.)
Comment by Alois Nespor (anespor) - Thursday, 28 February 2008, 08:26 GMT
Arjun, right is :
in xorg.conf -Section "Driver" add Option "AccelMethod" "EXA".
Comment by Jan de Groot (JGC) - Thursday, 28 February 2008, 12:58 GMT
EXA is the new default render method, which is more buggy and slower than XAA in the intel driver. To revert to XAA, you should have AccelMethod set to XAA instead of EXA.
Comment by name withheld (Gullible Jones) - Thursday, 28 February 2008, 19:56 GMT
I had XAA before trying EXA again, but XAA is also slow.
Comment by Matt Taylor (dingus) - Sunday, 02 March 2008, 15:19 GMT
Perhaps try:

Option "AccelMethod" "EXA"
Option "MigrationHeuristic" "greedy"

Seems to speed things up for most people (including me).

Also for spurious fps increases in things like glxgears try:

INTEL_BATCH=1 glxgears
or put INTEL_BATCH=1 in /etc/environment

This nearly doubles my glxgears fps (which as we all know is not a benchmark) and supposedly increases other things too, there are however questions over its stability.

(Much of this information taken from this rather amusingly titled ubuntu bug report:
https://bugs.launchpad.net/xserver-xorg-video-intel/+bug/177492 )
Comment by name withheld (Gullible Jones) - Sunday, 02 March 2008, 22:48 GMT
Thanks, I might try those out later. Annoyingly XAA had also gotten very slow, though.

(BZFlag had been performing well with xf86-video-intel 2.2.0 and XAA, but with 2.2.1 the framerate halved, and certain maps caused massive slowdowns and memory usage. With xf86-video-i810, performance is as good as intel 2.2.0. It seems to me like the devs changed the handling of XAA somehow.)
Comment by name withheld (Gullible Jones) - Friday, 07 March 2008, 21:19 GMT
I'm currently testing xf86-video-intel with INTEL_BATCH=1, and that seems to fix the performance problems. It looks like there may have been a regression, with INTEL_BATCH no longer enabled by default.
Comment by name withheld (Gullible Jones) - Friday, 07 March 2008, 21:22 GMT
Update: no, that isn't the problem; INTEL_BATCH has apparently always been disabled by default, due to bugs in the older version of Mesa (which shouldn't be relevant now). It looks like it will become default at some point in the future.

Still, I'll test i810 with INTEL_BATCH and see how it compares.
Comment by Alois Nespor (anespor) - Wednesday, 12 March 2008, 08:58 GMT
I can confirm - EXA (default acceleration method starting from 2.2.0 release) has performance issue, to be resolved in the next release with batchbuffer branch merge - https://bugs.freedesktop.org/show_bug.cgi?id=13389

Loading...