Difference between revisions of "Fglrx"

From ThinkWiki
Jump to: navigation, search
(ATI drivers for Linux)
m (ThinkPads that are NOT supported by fglrx)
 
(175 intermediate revisions by 68 users not shown)
Line 1: Line 1:
== ATI drivers for Linux ==
+
{| width="100%"
Linux ATI driver for select Radeon, FireGL and Mobility boards
+
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__
 +
|style="vertical-align:top" |
  
 +
'''Fglrx''' is a proprietary, Linux binary-only driver for ATI graphic chips with support for 3D acceleration.
 +
 +
<thinkwiki>5</thinkwiki>
 +
|}
 +
 +
== Packages ==
 +
The ATI drivers have explicit permission for repackaging and redistribution of the Linux drivers.  Many distributions are supported within the installer, and many more repackaged by external developers.  Please visit the  [http://wiki.cchtml.com/index.php/Category:Distributions Distribution Page at the Unofficial ATI driver Wiki]
 +
 +
*{{Debian}}
 +
** These packages have been added to Debian unstable as <tt>fglrx-driver</tt>, so you can now apt-get them and use module-assistant to install.
 +
** If you are on stable sarge with backport's kernel 2.6.15, download ATI's installer, let it build Debian packages and proceed as usual. There's a [http://jroller.com/page/erAck?entry=lot_day_6_2_fglrx detailed description] available.
 +
** [http://wiki.cchtml.com/index.php/Debian_Installation_Guide Debian Howto]
 +
*{{SUSE}} packages: http://www.suse.de/~sndirsch/ati-installer-HOWTO.html
 +
*{{Gentoo}} {{cmdroot|emerge ati-drivers}}
 +
*{{Fedora}} 4 packages: http://rpm.livna.org
 +
** For stock Fedora kernels: {{cmdroot|yum install kernel-module-fglrx-$(uname -r) ati-fglrx }}
 +
** For custom-compiled kernels: see [[How to build custom packages for fglrx]]
 +
*{{Fedora}} 5 packages: http://rpm.livna.org
 +
** For stock Fedora kernels: {{cmdroot|yum install xorg-x11-drv-fglrx}}
 +
** For custom-compiled kernels: see [[How to build custom packages for fglrx]]
 +
*{{Fedora}} 7 packages: http://rpm.livna.org
 +
** The newest version of the driver (8.39.4) is supposed to work with Fedora 7, and is available from Livna.
 +
*{{Arch Linux}}
 +
:{{cmdroot|pacman -S catalyst}} (kernel module for the stock kernel)
 +
:{{cmdroot|pacman -S catalyst-utils}} (xorg7 stuff and tools)
 +
*{{Ubuntu}}
 +
**[http://wiki.cchtml.com/index.php/Ubuntu_Dapper_Installation_Guide Dapper Drake Howto]
 +
**[http://wiki.cchtml.com/index.php/Ubuntu_Breezy_Installation_Guide Breezy Badger Howto]
 +
**[http://wiki.cchtml.com/index.php/Ubuntu_Edgy_Installation_Guide Edgy Eft Howto]
 +
**[http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Feisty Fawn Howto]
 +
**[http://wiki.cchtml.com/index.php/Ubuntu_Gutsy_Installation_Guide Gutsy Gibbon Howto]
 +
**[http://wiki.cchtml.com/index.php?title=Ubuntu_Hardy_Installation_Guide Hardy Heron Howto]
 +
**[http://wiki.cchtml.com/index.php?title=Ubuntu_Intrepid_Installation_Guide Intrepid Howto]
 +
**[http://wiki.cchtml.com/index.php/Ubuntu_Jaunty_Installation_Guide Jaunty Jackalope Howto]
 +
*{{Mandriva}} packages: {{cmdroot|urpmi x11-driver-video-fglrx}}
 +
** the easiest way however to configure everything easily is to run {{cmdroot|drakconf}}
 +
 +
== Building for Xorg 7.0==
 +
To compile fglrx versions <= 8.24.8 for Xorg 7.0.0, fake Xorg 6.9.0 by
 +
:{{cmdroot|1=export X_VERSION=x690; sh ati-driver-installer-8.24.8-x86.run}}
 +
Next, move the various resulting libraries and modules from /usr/X11R6 to /usr/lib/xorg
 +
 +
In {{path|/usr/src/ATI}} additional sources are installed for fireglcontrol and fgl_glxgears
 +
 +
== Status ==
 +
Current version: 8.1 (8.454) (18st January 2008).
 +
Major changes:
 +
* 8.4 compilable on 2.6.25 using this [http://forums.gentoo.org/viewtopic-p-5037932.html#5037932 patch]
 +
<!-- some versions missing -->
 +
* [https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/catalyst_81_linux.html 8.1]: Fixed suspending on kernel version 2.6.23 or later. Custom code in xorg.conf will no longer be ignored.
 +
* [http://www2.ati.com/drivers/linux/catalyst_712_linux.html 7-12]: FireGL support, fixed memory leak when running OpenGL applications, X -configure no longer results in a segmentation fault. Connecting a display device that supports 1680x1050 may result in a maximum display resolution of 1280x1024 only being available.
 +
* [http://www2.ati.com/drivers/linux/catalyst_711_linux.html 7-11]: new versioning scheme, kernel 2.6.23 support. Required for Xorg server 1.4, but does not support FireGL cards. So don't upgrade to Xorg 1.4 if you have one!
 +
* 8.42.3: Composite support added enabling AIGLX and Beryl/Compiz on the desktop. Support for (most?) FireGl cards dropped (should be restored in upcoming versions)
 +
* 8.41.7: increased OpenGL performance on some Radeon Cards, size/position TV-out adjustments work for Radeon X1900 or higher, X crash when connecting external DFP display fixed
 +
* 8.40.4: some new TV out control options in CCC, another (non-exciting) maintenance release (see [http://www.phoronix.com/scan.php?page=article&item=804&num=1 Phoronix])
 +
* 8.39.4: kernel 2.6.22 support, TexturedVideo fix, aticonfig segfault fix (see 8.38.7 hotfix), to get rid of the "AMD Testing use only" logo, use [http://www.phoronix.com/forums/showpost.php?p=10641&postcount=44 this] workaround.
 +
* 8.38.7: hotfix release for "Using aticonfig --initial segfaults destroying xorg.conf file when run in X with Vesa driver.", search for "737-28261" on the ATI website.
 +
* 8.38.6: RedHat Enterprise Linux 5 support, Xserver crashes on moving video window between two monitors fixed, corruption when playing multiple vodeps with textured video fixed
 +
* 8.37.6: Xorg Server 1.3 support, CCC 1.0, crash when logging off from X fixed, Xv cropping bug fixed
 +
* 8.36.5: Kernel 2.6.20 support, CCC Beta 0.9 with localization
 +
* 8.35.5: Beta AMD Catalyst Control Center, X-Server termination from console does not result in a blank screen. Kernel 2.6.20 requires some patching (see [[Problems_with_fglrx#fglrx_8.35.5|fglrx patches section]]).
 +
* 8.34.8: Radeon Xpress 1250 support, X-Video on x86_64 fix, hibernation mode fix. Kernel 2.6.20 requires some patching (see [[Problems_with_fglrx#fglrx_8.34.8|fglrx patches section]]).
 +
 +
== Known problems and solutions ==
 +
See [[Problems with fglrx]].
 +
 +
== User experience ==
 +
=== Speed ===
 
How much is the speed gain versus the opensource drivers?
 
How much is the speed gain versus the opensource drivers?
  
- On the old drivers, I've noticed appx 40% speed gain with ATI fglrx vs open source drivers. However, there are issues with freezing/garbage after suspend, garbage when resizing desktop (ctrl-alt-plus, ctrl-alt-minus), and garbage while using VMware. The current 8.14.13 has shown 400% improvement over using "radeon" or "ati" in xorg.conf. 1200FPS glxgears! (''note that glxgears isnt a benchmark tool, its so simple that its value is without any meaning... you can only compare glxgears using the same drivers/machine, if you change any of then you can have higher/lower values and in real life programs/games happend the opposite. Think in the car engine rpm, higher rpm in the same car usually its a faster car, change anything and its meaningless. ie: gears, truck, wheel size, etc make it useless'')
+
Compared to the old drivers, approximately 40% speed gain have been noticed with fglrx. However, there are issues with freezing/garbage after suspend, garbage when resizing desktop (via {{key|ctrl}}{{key|alt}}{{key|plus}}, {{key|ctrl}}{{key|alt}}{{key|minus}}), and garbage while using VMware. The current 8.14.13 has shown 400% improvement over using the open source radeon driver: 1200 FPS for glxgears{{footnote|1}}!
  
NOTE: 2D acceleration may be disabled when 3D acceleration is enabled. This comes from the Xorg.conf file the fglrx driver provides
+
However the situation seems to be changing significantly as time goes on. With recent x11-drm-20060608 driver (gentoo) and thinkpad t42 (ati 9600) the speed is confirmed as 1900fps and stable.  As of October 2007 there is dramatic improvement in the open source 3d drivers in speed and stability.
 +
 
 +
=== 3D acceleration ===
 +
 
 +
According to [http://xoomer.alice.it/flavio.stanchina/debian/fglrx-installer.html#configure Flavio's page] you need these options:
 +
 
 +
  Section "Module"
 +
    ...
 +
    Load "GLcore"
 +
    Load "glx"
 +
    Load "dri"
 +
    ...
 +
  EndSection
 +
 
 +
  # Of course you need to activate the driver
 +
  Section "Device"
 +
    ...
 +
    Driver    "fglrx"
 +
  EndSection
 +
 
 +
Don't forget to load the module <tt>fglrx</tt> (<tt>modprobe fglrx</tt>).  Under Debian the module can be placed in <tt>/etc/modules</tt>.
 +
 
 +
With fglrx drivers prior to 8.42.3 will need to disable composite to enable 3D DRI acceleration. To do this, add an extra Extensions section (if necessary) containing:
 +
 
 +
  Section "Extensions"
 +
    Option  "Composite" "Disable"  #make DRI work with fglrx.
 +
  EndSection
 +
 
 +
If you are unsure whether you have DRI running, issue <tt>glxinfo | grep -i direct</tt> after disabling composite.  Note, this
 +
 
 +
{{NOTE|1=Video overlay acceleration may be disabled when 3D acceleration is enabled. The following comment from the xorg.conf file bundled with the fglrx driver indicates that:
 
   # === OpenGL Overlay ===
 
   # === OpenGL Overlay ===
 
   # Note: When OpenGL Overlay is enabled, Video Overlay
 
   # Note: When OpenGL Overlay is enabled, Video Overlay
 
   #      will be disabled automatically
 
   #      will be disabled automatically
 
       Option "OpenGLOverlay"              "1"
 
       Option "OpenGLOverlay"              "1"
 +
However, you can use either regular Xv video overlay or make the video an opengl texture and let the OpenGL engine scale your video.  This has nothing to do with the acceleration of 2D drawing primitives.  Further, your mileage on performance may vary depending on what card you have.  The open source drivers don't support newer cards, while the ATI drivers don't support older cards.
  
---
+
You may be able to preserve VideoOverlay acceleration if you explicitly remove the OpenGLOverlay using:
Just a note to the above.  The 2D acceleration for that option refers to video overlay.  You can use either regular Xv video overlay or make the video an opengl texture and let the OpenGL engine scale your video.  It has nothing to do with 2D drawing primitives.  Further, your mileage on performance may vary depending on what card you have.  The open-source drivers don't support newer cards, while the ATI drivers don't support older cards.  My 9200SE is supported by both and with ATI 8.12.10 drivers (newer drivers aren't always faster) my meager machine gets about 512 fps and changing ONLY the driver (and OpenGL lib) to the open source radeon driver (from Xorg 6.8.2-r2) I'm getting 707 fps.  So - that 40% gain is going in the open-source favor not ATI's for my setup.
 
  
=== Project Homepage / Availability ===
+
Option "VideoOverlay"  "True" and Option "OpenGLOverlay" "False".  See [http://xoomer.alice.it/flavio.stanchina/debian/fglrx-installer.html#configure Flavio's page] for detail.}}
http://www.ati.com/support/drivers/linux/radeon-linux.html
 
  
=== Status ===
+
=== Power saving ===
Current version: 8.14.13 (9th June 2005)
+
Power saving is much better than with the <tt>radeon</tt> driver, but doesn't work in dual-screen configuration (see [[How to make use of Graphics Chips Power Management features]]).
  
=== Problems & Help ===
+
=== Suspending with fglrx ===
  
'''Driver Version 8.8.25:''' The following patch may be needed for kernels >= 2.6.10:
+
On a ThinkPad T42 with Kernel 2.6.19 with Software Suspend 2 and R60 with Kernel 2.6.18-suspend2-r1 (Gentoo) , the following addition to <tt>/etc/hibernate/suspend2.conf</tt> is required:
[http://www.rage3d.com/board/showthread.php?t=33798874 http://www.rage3d.com/board/showthread.php?t=33798874]
 
  
'''Driver Version 8.8.25:''' For kernels >= 2.6.11-rc1 try the following patch:
+
  # For fglrx
http://www.gehirn.org.uk/wiki/images/8.8.25-kernel-2.6.11+.patch
+
  ProcSetting extra_pages_allowance 20000
  
'''If the ATI driver works only without the hardware acceleration''', take into consideration that fglrx_dri.so was linked
+
=== Display Switching (Dynamic Display Management) ===
against libstdc++.so.5 which may not be present if your system uses gcc-3.4. To fix this, compile gcc-3.3.5
 
and copy libstdc++.so.5* to /usr/lib and update the dynamic linker cache.
 
  
'''Troubles using software suspend''' : when the computer comes back of suspend, X only displays a garbaged image and the computer is frozen. You have to install [http://www.srcf.ucam.org/~mjg59/vbetool/ vbetool] and use it to save/restore the video card state. If you use swsusp2 scripts you just have to uncomment ''"EnableVbetool yes"'' in ''/etc/hibernate/hibernate.conf''. Tested with kernel 2.6.10, Debian packaged ATI drivers and [http://www.suspend2.net swsusp2] patch on a IBM Thinkpad T42p.  
+
Version 8.25.18 introduces a new feature: Dynamic Display Management. It allows display switching on-the-fly.
  
This does not seem to work on the T43: The machine displays a sligthly garbaged image and is frozen upon resume. (It does work as long as the fglrx kernel driver is not inserted.) (Tested on kernel 2.6.12-rc6 with suspend2 2.1.9 and ATI driver version 8.14.13.)
+
To list all connected and enabled monitors:
 +
:{{cmdroot|1=aticonfig --query-monitor}}
  
Works on the T42, tested with SuSE 9.3, kernel-default (2.6.11), ATI driver 8.14.13 (for instructions see: /usr/share/doc/packages/powersave/contrib)
+
To switch displays:
 +
:{{cmdroot|1=aticonfig --enable-monitor=STRING,STRING}}, where STRING can be: none, lvds, crt1, crt2, tv, tdms1, tdms2
  
'''Troubles with large RAM''' : The driver (version 8.14.13 tested on a T43) does not seem to be able to cope with large amounts of RAM: with 512 MB it works, with 1.5 GB it crashes the machine as soon as X is started. The problem is present only if the ''fglrx'' kernel module is loaded, but independetly of whether ''"CONFIG_HIGHMEM"'' is enabled (I.e. the actual amount of RAM available to the system does not seem to matter, but rather how mauch RAM is physically installed.).
+
Only 2 displays can be enabled at the same time. Any displays that are not on the list will be disabled.
  
A workaround is to limit RAM by kernel option mem=864m in lilo.conf (lilo) oder menu.lst (grub). Hopefully ATI will fix this in future releases.
+
Using an [[Script for Dynamic Display Management with fglrx|ACPI script]], aticonfig can be used to switch displays on a key press.
  
=== Packages ===
+
The '''Catalyst Control Center''', which comes with the driver (at least from Livna in Fedora Core 6) can be used to do this switching. It also does various other kinds of display managements. However, the version that comes with 8.39.4 doesn't seem to handle switching into Big Desktop mode, does anyone know how to get this to work?  The control center also complains a lot about rebooting, but rebooting doesn't seem to be required. Does anyone have decent documentation for the control center?
*{{Debian}} Packages: http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html
 
*{{SUSE}} Packages: ftp://ftp.suse.com/pub/suse/i386/supplementary/X/ATI/
 
*{{Gentoo}} {{cmdroot|emerge media-video/ati-drivers}}
 
*{{Fedora}} Packages: http://rpm.livna.org -- {{cmdroot|yum install kernel-module-fglrx-$(uname -r) ati-fglrx }}
 
  
=== Useful links ===  
+
== Useful links ==  
 
* [http://www.ati.com/products/catalyst/linux.html ATI Linux Driver FAQ]
 
* [http://www.ati.com/products/catalyst/linux.html ATI Linux Driver FAQ]
* [http://www2.ati.com/drivers/linux/linux_8.12.10.html ATI Proprietary Linux Release Notes] <tt>(for 8.12.10)</tt>
 
 
* [http://www.rage3d.com/content/articles/atilinuxhowto/ ATI Radeon Linux How-To]
 
* [http://www.rage3d.com/content/articles/atilinuxhowto/ ATI Radeon Linux How-To]
 
* [http://www.rage3d.com/board/forumdisplay.php?f=61&daysprune=30&order=asc&sort=title Rage3D Linux Discussion Forum]
 
* [http://www.rage3d.com/board/forumdisplay.php?f=61&daysprune=30&order=asc&sort=title Rage3D Linux Discussion Forum]
 
* [http://www.driverheaven.net/forumdisplay.php?f=103 Radeon Driver Forum at Driverheaven]
 
* [http://www.driverheaven.net/forumdisplay.php?f=103 Radeon Driver Forum at Driverheaven]
 
* [http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html Gentoo ATI Radeon FAQ]
 
* [http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html Gentoo ATI Radeon FAQ]
* [http://ati.cchtml.com/ Unofficial community ATI bugzilla] Very newly setup (!) bugzilla, which might grow to be a source for information about ATI bugs. Might then be monitored by ATI guys ([http://www.rage3d.com/board/showpost.php?p=1333438751&postcount=386], [http://www.rage3d.com/board/showpost.php?p=1333439009&postcount=390]). We will see how this develops.
+
* [http://forums.gentoo.org/viewtopic-t-374745-highlight-t42+ati+dri.html Gentoo T42 ATI. DRI + xorg driver]
 +
* [http://ati.cchtml.com/ Unofficial community ATI bugzilla] - tracks bugs in the driver. Might be monitored by ATI ([http://www.rage3d.com/board/showpost.php?p=1333438751&postcount=386], [http://www.rage3d.com/board/showpost.php?p=1333439009&postcount=390]).
  
 
== ThinkPads that may be supported ==
 
== ThinkPads that may be supported ==
 
Supported chips, as found in select IBM ThinkPads:
 
Supported chips, as found in select IBM ThinkPads:
 +
{{NOTE|fglrx version 8.29.6 discontinued support for Radeon 9200 and earlier.}}
 
* [[ATI Mobility FireGL 9000]]
 
* [[ATI Mobility FireGL 9000]]
 
** {{T40p}}
 
** {{T40p}}
Line 75: Line 169:
 
** {{R52}}
 
** {{R52}}
 
** {{T43}}
 
** {{T43}}
 +
** {{Z60m}}
 +
* [[ATI Mobility Radeon Xpress 200M]]
 +
** {{R51e}}
 +
* [[ATI Mobility Radeon X600]]
 +
** {{Z60m}}
 +
* [[ATI Mobility Radeon X1400]]
 +
** {{T60}}, {{R60}}, {{Z61m}}
 +
* [[ATI Mobility FireGL V5200]]
 +
** {{T60p}}, {{Z61p}}
 +
* [[ATI Mobility Radeon HD 3200]]
 +
** {{X100e}}
 +
 +
== ThinkPads that are NOT supported by fglrx==
 +
Unsupported chips, as found in select IBM ThinkPads:
 +
* [[ATI Mobility Radeon 7500]]
 +
** [[:Category:R40|R40]], [[:Category:R51|R51]]
 +
** [[:Category:T30|T30]]
 +
** [[:Category:T41|T41]], [[:Category:T42|T42]]
 +
 +
{{footnotes|
 +
#Note that glxgears isn't a benchmark tool, it's so simple that its FPS values is without any meaning... you can only compare glxgears using the same drivers/machine, if you change any of then you can have higher/lower values and in real life programs/games happen to have the opposite effects. Think in terms of a car engines rpms: higher rpms in the same car usually means a faster car, change anything and it's meaningless, ie: gears, truck, wheel size, etc. make it useless.
 +
}}
 +
 +
== See also ==
 +
* [[radeon]]
 +
 +
== External links ==
 +
* [http://ati.amd.com/support/drivers/linux/linux-radeon.html Official website]
 +
* [http://debian.asconix.com/ati-fglrx-debian-lenny-howto ATI fglrx drivers on Debian 5.0 "Lenny" Howto]
  
 
[[Category:Drivers]]
 
[[Category:Drivers]]

Latest revision as of 02:17, 15 April 2013

Fglrx is a proprietary, Linux binary-only driver for ATI graphic chips with support for 3D acceleration.

<thinkwiki>5</thinkwiki>

Packages

The ATI drivers have explicit permission for repackaging and redistribution of the Linux drivers. Many distributions are supported within the installer, and many more repackaged by external developers. Please visit the Distribution Page at the Unofficial ATI driver Wiki

# pacman -S catalyst (kernel module for the stock kernel)
# pacman -S catalyst-utils (xorg7 stuff and tools)

Building for Xorg 7.0

To compile fglrx versions <= 8.24.8 for Xorg 7.0.0, fake Xorg 6.9.0 by

# export X_VERSION=x690; sh ati-driver-installer-8.24.8-x86.run

Next, move the various resulting libraries and modules from /usr/X11R6 to /usr/lib/xorg

In /usr/src/ATI additional sources are installed for fireglcontrol and fgl_glxgears

Status

Current version: 8.1 (8.454) (18st January 2008). Major changes:

  • 8.4 compilable on 2.6.25 using this patch
  • 8.1: Fixed suspending on kernel version 2.6.23 or later. Custom code in xorg.conf will no longer be ignored.
  • 7-12: FireGL support, fixed memory leak when running OpenGL applications, X -configure no longer results in a segmentation fault. Connecting a display device that supports 1680x1050 may result in a maximum display resolution of 1280x1024 only being available.
  • 7-11: new versioning scheme, kernel 2.6.23 support. Required for Xorg server 1.4, but does not support FireGL cards. So don't upgrade to Xorg 1.4 if you have one!
  • 8.42.3: Composite support added enabling AIGLX and Beryl/Compiz on the desktop. Support for (most?) FireGl cards dropped (should be restored in upcoming versions)
  • 8.41.7: increased OpenGL performance on some Radeon Cards, size/position TV-out adjustments work for Radeon X1900 or higher, X crash when connecting external DFP display fixed
  • 8.40.4: some new TV out control options in CCC, another (non-exciting) maintenance release (see Phoronix)
  • 8.39.4: kernel 2.6.22 support, TexturedVideo fix, aticonfig segfault fix (see 8.38.7 hotfix), to get rid of the "AMD Testing use only" logo, use this workaround.
  • 8.38.7: hotfix release for "Using aticonfig --initial segfaults destroying xorg.conf file when run in X with Vesa driver.", search for "737-28261" on the ATI website.
  • 8.38.6: RedHat Enterprise Linux 5 support, Xserver crashes on moving video window between two monitors fixed, corruption when playing multiple vodeps with textured video fixed
  • 8.37.6: Xorg Server 1.3 support, CCC 1.0, crash when logging off from X fixed, Xv cropping bug fixed
  • 8.36.5: Kernel 2.6.20 support, CCC Beta 0.9 with localization
  • 8.35.5: Beta AMD Catalyst Control Center, X-Server termination from console does not result in a blank screen. Kernel 2.6.20 requires some patching (see fglrx patches section).
  • 8.34.8: Radeon Xpress 1250 support, X-Video on x86_64 fix, hibernation mode fix. Kernel 2.6.20 requires some patching (see fglrx patches section).

Known problems and solutions

See Problems with fglrx.

User experience

Speed

How much is the speed gain versus the opensource drivers?

Compared to the old drivers, approximately 40% speed gain have been noticed with fglrx. However, there are issues with freezing/garbage after suspend, garbage when resizing desktop (via ctrlaltplus, ctrlaltminus), and garbage while using VMware. The current 8.14.13 has shown 400% improvement over using the open source radeon driver: 1200 FPS for glxgears1!

However the situation seems to be changing significantly as time goes on. With recent x11-drm-20060608 driver (gentoo) and thinkpad t42 (ati 9600) the speed is confirmed as 1900fps and stable. As of October 2007 there is dramatic improvement in the open source 3d drivers in speed and stability.

3D acceleration

According to Flavio's page you need these options:

 Section "Module"
   ...
   Load "GLcore"
   Load "glx"
   Load "dri"
   ...
 EndSection
 # Of course you need to activate the driver
 Section "Device"
   ...
   Driver     "fglrx"
 EndSection

Don't forget to load the module fglrx (modprobe fglrx). Under Debian the module can be placed in /etc/modules.

With fglrx drivers prior to 8.42.3 will need to disable composite to enable 3D DRI acceleration. To do this, add an extra Extensions section (if necessary) containing:

 Section "Extensions"
    Option  "Composite" "Disable"  #make DRI work with fglrx.
 EndSection

If you are unsure whether you have DRI running, issue glxinfo | grep -i direct after disabling composite. Note, this

NOTE!
Video overlay acceleration may be disabled when 3D acceleration is enabled. The following comment from the xorg.conf file bundled with the fglrx driver indicates that:
  # === OpenGL Overlay ===
  # Note: When OpenGL Overlay is enabled, Video Overlay
  #       will be disabled automatically
      Option "OpenGLOverlay"              "1"

However, you can use either regular Xv video overlay or make the video an opengl texture and let the OpenGL engine scale your video. This has nothing to do with the acceleration of 2D drawing primitives. Further, your mileage on performance may vary depending on what card you have. The open source drivers don't support newer cards, while the ATI drivers don't support older cards.

You may be able to preserve VideoOverlay acceleration if you explicitly remove the OpenGLOverlay using:

Option "VideoOverlay" "True" and Option "OpenGLOverlay" "False". See Flavio's page for detail.

Power saving

Power saving is much better than with the radeon driver, but doesn't work in dual-screen configuration (see How to make use of Graphics Chips Power Management features).

Suspending with fglrx

On a ThinkPad T42 with Kernel 2.6.19 with Software Suspend 2 and R60 with Kernel 2.6.18-suspend2-r1 (Gentoo) , the following addition to /etc/hibernate/suspend2.conf is required:

 # For fglrx
 ProcSetting extra_pages_allowance 20000

Display Switching (Dynamic Display Management)

Version 8.25.18 introduces a new feature: Dynamic Display Management. It allows display switching on-the-fly.

To list all connected and enabled monitors:

# aticonfig --query-monitor

To switch displays:

# aticonfig --enable-monitor=STRING,STRING, where STRING can be: none, lvds, crt1, crt2, tv, tdms1, tdms2

Only 2 displays can be enabled at the same time. Any displays that are not on the list will be disabled.

Using an ACPI script, aticonfig can be used to switch displays on a key press.

The Catalyst Control Center, which comes with the driver (at least from Livna in Fedora Core 6) can be used to do this switching. It also does various other kinds of display managements. However, the version that comes with 8.39.4 doesn't seem to handle switching into Big Desktop mode, does anyone know how to get this to work? The control center also complains a lot about rebooting, but rebooting doesn't seem to be required. Does anyone have decent documentation for the control center?

Useful links

ThinkPads that may be supported

Supported chips, as found in select IBM ThinkPads:

NOTE!
fglrx version 8.29.6 discontinued support for Radeon 9200 and earlier.

ThinkPads that are NOT supported by fglrx

Unsupported chips, as found in select IBM ThinkPads:


FOOTNOTES [Δ]
  1. Note that glxgears isn't a benchmark tool, it's so simple that its FPS values is without any meaning... you can only compare glxgears using the same drivers/machine, if you change any of then you can have higher/lower values and in real life programs/games happen to have the opposite effects. Think in terms of a car engines rpms: higher rpms in the same car usually means a faster car, change anything and it's meaningless, ie: gears, truck, wheel size, etc. make it useless.

See also

External links