Installing the ATI Drivers in Linux can be confusing at times, especially for someone new to Linux. To help you install them, we, the members of this forum with some help from ATI put together a HowTo, which gives detailed instructions on installing and configuring the driver.

May I suggest the addition of a more general section about kernel configuration, because there are so many different kernels even in only one distribution!
So that people know what is needed to have the driver working and how they could set up an appropriate kernel...
For example in the Slackware section, in the "Steps to take before installing the drivers", the instructions ( a bit more detailed ) could be used for the building of a general fglrx friendly kernel.

What do you think?

Also could we have in it and an Nvidia to ATI section?
I think this should help many people.

could you add some more info for fedora. i attemped to compile the kernel but when i install the source using kernel-2.4.22-1.2129.nptl.src.rpm it doesn't put it in /usr/src/linux and so thats where i get stuck.

Originally posted by evilchickenking could you add some more info for fedora. i attemped to compile the kernel but when i install the source using kernel-2.4.22-1.2129.nptl.src.rpm it doesn't put it in /usr/src/linux and so thats where i get stuck.

/usr/src/linux is a link to where the source of your kernel is, for example /usr/src/kernel-2.4.22-1.2129.
So you just have to type ln -s /usr/src/kernel-2.4.22-1.2129 /usr/src/linux.

Originally posted by Mythos /usr/src/linux is a link to where the source of your kernel is, for example /usr/src/kernel-2.4.22-1.2129.
So you just have to type ln -s /usr/src/kernel-2.4.22-1.2129 /usr/src/linux.

i think i found my kernel source in /usr/src/redhat/SOURCES

so i would type in ./make.sh -s /usr/src/redhat/SOURCES /usr/src/linux ? keep in mind that there is no /usr/src/linux in my installation.

This way you will create a symbolic link to your sources in the directory /usr/src/linux

thanks, that placed the link like you said it would but i have realized that i should have said that i was trying to build the ati driver module in step seven. i suppose i would have had to do this anyway though. anyway even though that created the link when i type in sh make.sh from /lib/modules/fglrx/build_mod it tells me :

Originally posted by evilchickenking thanks, that placed the link like you said it would but i have realized that i should have said that i was trying to build the ati driver module in step seven. i suppose i would have had to do this anyway though. anyway even though that created the link when i type in sh make.sh from /lib/modules/fglrx/build_mod it tells me :

Originally posted by WhO_KnOwS Are you sure you linked the kernel sources and not the SOURCES directory IN WHICH the kernel sources are? You can always repeat the link sequence, just remove /usr/src/linux/ first:

Code:

rm /usr/src/linux

im fairly sure, but upon closer inspection im not so sure that the files are the sources. they are the mostly .config and .patch files but also there are no subfolders.

Nice work. Being a Debian user, here are some comments I'd like to make:

Quote:

First of all, you have to convert the RPM from www.ati.com to a format Slackware understands. This can be done with the utility rpm2targz (in debian you can get it with the help of apt-get).

Nope, you can't get the driver with apt-get (not unless you'd edit your sources.list and I'm not aware of an apt-gettable source either). You need to convert it from .rpm to .deb using alien and then install the resulting Debian package with 'dpkg -i <filename.deb>'

And is it really required to disable DRI support? As far as I know, not loading one of those drivers should be sufficient or am I missing something here? (I'm asking because that would remove the 'recompile your kernel' step completely, significantly reducing the difficulty of installing the drivers)

Basically this is what I did to install the drivers on my Debian testing/sarge machine:

By biggest problem is still running fglrxconfig because it basically ****s up my whole XF86 configuration (why can't it just replace the display and screen parts in my current config and leave stuff like input, mice, ... alone?) but fortunately that only needs to be done once. (These days I simply reuse the working config)

Originally posted by Steltek And is it really required to disable DRI support? As far as I know, not loading one of those drivers should be sufficient or am I missing something here?

I think you are right, as long as the drivers are compiled as modules and not in the kernel.
But in order to avoid loading a wrong module, maybe it is better to have DRI disabled, unless you have another PCI card

Originally posted by WhO_KnOwS The 0.2 version of the HowTo is complete. You can view it here. Additional information will be added to it per request or if I see that an issue is causing several users problems.

Thanks to all who have given me information to make this HowTo even possible.

EDIT: 0.2 is availible. Also, a pdf of the howto is now availible to download.

Hey! the PDF file is such an awesome idea!

BTW you did not provide [specific] information for building the driver with a 2.6 kernel (your kernel ). Nontheless congratulations!

This document is on its earlier stages of development so expect it to be changed/updated rather quickly.

Index

What are the binary drivers and why to use them?

Where to get the drivers?

Know Issues

Supported Cards

Setup Guides

Quick Setup Guide

Unofficial ebuilds for 3.2.0 and 3.2.4 drivers

Dual Monitor Setup Guide

TV-Out Setup Guide

FSAA Setup Guide

Hidden Options(use at your own risk)

Where to get more information

Troubleshooting

Acknowledgments

[list=1]
[*] What are the binary drivers and why to use them
The ATI binary drivers are the linux device drivers provided by ATI. They are the only ones(nowadays) that support OpenGl acceleration for the R300 based cards.

[*]Where to get the drivers:

2.9.12 -> from portage

2.9.13 -> from portage

3.2.0 -> from portage

3.2.4 -> from portage

IMPORTANT : Currently only driver versions 2.9.13-r1 and above will work on 2.6 kernels.

NOTE :
The performance of the 3.2.x drivers is slightly worse than the 2.9.x series. You can find some tips on how to increase their performance on the "Hidden Options" section.
[*] Know Issues

Xinerama and 3D acceleration does not work togheter. You can have 3D acceleration, or Xinerama (one screen on multiple monitors), but not both. It is a limitation of the drivers. (There are another way of doing that that is supported by the drivers, wait for the Dual Monitor Setup Guide or play with the fglrxconfig).

Option "BlockSignalsOnLock" should always be set to "on" unless you are debugging a multithreaded OpenGL app. Turning it off can lead to memory leaks. (from the readme on schneider.de).

emerge <kernel-type>-sources
cd /usr/src/linux
make menuconfig
(configure your kernel, read gentoo docs for that. You should disable the DRI on the kernel otherwise the ati driver will not work.)
make dep
make clean
make bzImage
make modules
make modules_install
emerge ati-drivers
emerge alsa-driver (if you want to use alsa, read the gentoo docs on the subject)
mount /boot
cp /usr/src/linux/arch/i386/boot/bzImage /boot/<your kernel boot name>
nano /boot/grub/grub.conf(if you are using grub)
(change grub.conf to load your new bzImage)
reboot
/opt/ati/bin/fglrxconfig
(answer as you see fit)
opengl-update ati
cd /etc/X11/
nano XF86Config-4
(edit as you see fit)
mv XF86Config-4 XF86Config

For kernels-2.6.*

Code:

emerge <kernel-type>-sources
cd /usr/src/linux
make menuconfig
(configure your kernel, read gentoo docs for that. You should disable the DRI on the kernel otherwise the ati driver will not work.)
make
make modules_install
emerge ati-drivers
mount /boot
cp /usr/src/linux/arch/i386/boot/bzImage /boot/<your kernel boot name>
nano /boot/grub/grub.conf(if you are using grub)
(change grub.conf to load your new bzImage)
reboot
/opt/ati/bin/fglrxconfig
(answer as you see fit)
opengl-update ati
cd /etc/X11/
nano XF86Config-4
(edit as you see fit)
mv XF86Config-4 XF86Config

Unofficial ebuilds for 3.2.0 and 3.2.4 drivers:

These are beta-drivers, use them at your own risk.
To install these ebuilds:

Create the directory media-video/ati-drivers inside your portage overlay directory. This can be set in /etc/make.conf by the PORTDIR_OVERLAY setting. /usr/local/portage is fine in most cases.

Then emerge the drivers as usual. Note that you will need to use ACCEPT_KEYWORDS="~x86". To emerge a particular version, use the following method

Code:

ACCEPT_KEYWORDS="~x86" emerge =ati-drivers-3.2.0-r2

Dual Monitor Setup Guide

TV-Out Setup Guide

FSAA Setup Guide

To enable Full Screen AntiAliasing support, you must upgrade to the 3.2.0 or the 3.2.4 drivers. After generating an XF86Config file via fglrxconfig, you can then control the FSAA mode through the "FSAAScale" driver option.

The values you can set appear to be:

1 (anything <1 gets set to 1)

2 (3 gets set to 2)

4 (5 gets set to 4)

6 (anything >6 gets set to 6)

As a very rough indicator of performance impact:
glxgears fps at each FSAA setting:

1 - ~4300fps

2 - ~2300fps

4 - ~1300fps

6 - ~880fps

For an idea of the visual effect of each setting, there are screenshots from Q3A here taken in each of the FSAA modes. They aren't all taken from exactly the same place, but it's possible to see the differences between the 4 settings.

Hidden options (use at your own risk)
Hidden options are undisclosed by ATI options that can change the drivers performance or behaviour. They can be enabled/disabled by putting the following lines on the "Device" section of your XF86Config file:

Code:

Option "<Option_Name>" "<Option_Parameters>"

Here is a list of the knows hidden options:

EnablePrivateBackZ
Know parameters:

yes - enable the option

no - disable the option

Effects:
When enabled it improves the performance of 3.2.x drivers.
Side-Effects:
None Know.

UseFastTLS

Know parameters:

0 - fast

1 - faster

2 - working with everything

Effects:
TLS settings are critical for many apps you may like to use (just to name one: wine). The UseFastTLS should be 2 if you want wine and other apps with wacky threading models working fine.
Side-Effects:
When set to something different than 2 some apps might stop working.

On a 2.6 kernel the driver module appears with the name "1" in lsmod instead of "fglrx". Probable Cause: Incorrect file headers on the driver.
Solution :
Use any of the following driver versions, which should fix this problem:

ati-driver-2.9.13-r2

ati-driver-3.2.0-r2

ati-driver-3.2.4-r2

Screen goes black when X starts. Still able to use CTRL-ALT-Fn to change back to the consoleProblable Cause: Misconfigured Monitor Timings.
Solution :
Find the correct specs for your monitor VSync and HSync. Update XF86Config

Screen goes black when X starts. Not able to use CTRL-ALT-Fn to change back to the console. Servers still working (ex Apache, SSH, etc).Problable Cause: FSAA bug on some machines, pattern yet to be determined.
Solution:
Turn off FSAA. Post your problem on http://forums.gentoo.org/viewtopic.php?t=54793 .

Monitor refresh rate stuck at a certain value, X appears to ignore the modeline option. Probable Cause: Trouble with EDID.
Solution:
Try setting "IgnoreEDID" to "ON", and then specifying a value for the VRefresh2. setting

Still having problems after following this guide.Probable Cause: Monitor connected to second video slot, computer thinks it is on the first or vice-versa.
Solutions:
Change the BusID "PCI:1:0:1" line to BusID "PCI:1:0:0" or vice-versa.