Cybernetic Pit-Stop
My system:
Motherboard: Biostar VIA chipset
Ram: 1 gig
Processor: Athlon 2500+ XP
Old video: nVidia GeForce 4 440 MX
New video: ATI Sapphire x800 PRO (256 meg, 256 bit and 12 pipelines baby!)
Setup: I have a duel-boot system Gentoo (2.6.10 kernel and KDE 3.3.2) and Windows XP Home Edition. Alright, here goes:

I started off with an nVidia GeForce 4 440 MX video card and decided that it was high time for an upgrade. The upgrade? View the magnificance that is the ATI Sapphire x800 pro!

The problem? Installing it. I was very much aware that ATI did not have a good reputation with Linux and was very hesitant to buy the more expensive GeForce 6800 GT. I ended up getting the ATI card anyway, after getting some incentive online that I would be able to install it on a Linux system AND knowing that ATI would have to improve its Linux driver support sooner or later to be able to compete with nVidia.

This is my personal logfile of the aforementioned events.

My first step was to make sure that the card worked properly and had been sent to me undamaged. For this reason I physically installed it (plugged it into the AGP slot in the motherboard and plugged it into my power supply, as extra power is needed for this specific card) and then installed and setup the drivers in my Windows XP Home edition partition. Installation went pretty smoothly, although I did have a problem with the S-video cable to play through Theater Mode on my TV screen, fixed that by updating the drivers online.

Now time for the fun stuff... Linux installation. (As a side note, in the following code the '$:' represents the prompt itself, the actual commands therefore come right after that) I started off by restarting the system into my Gentoo partition. The first thing that I noticed is that not only did KDE not load but none of the graphical stuff loaded at all. This simply left me with a command prompt. I logged in as root.

I continued to check and make sure that my kernel was ready for the new hardware. I entered menuconfig:

$: cd /usr/src/linux

$: make menuconfig

When in the setup screen I went to device drivers --> character devices and made sure that '/dev/agpgart' was enabled. I also disabled 'Direct Rendering Manager'. I then went back to the main screen and into 'processor type and features', where I enabled MTRR. Back to the main screen where I went into kernel debugging and made sure that 'Kernel Hacking' was disabled. I saved menuconfig when I exited (obviously) and at the command prompt entered:

$: make dep && make clean bzImage modules modules_install

Then I mounted the new bzImage:

$: cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage.new

Lastly, before installing the drivers, I reset lilo with the new bzImage:

$: /sbin/lilo

Since my motherboard is compatible with ATI's Internal AGP driver I decided to go along with this setup (so I basically did not have to worry about setting anything up since installing the drivers would take care of that problem) To make sure that my old nvidia drivers would not interfere with my new hardware it was time to take off the old drivers:

$: emerge --unmerge nvidia-glx; emerge --unmerge nvidia-kernel

Now for the difficult part... installing the new drivers. I updated portage, to make sure that the newest drivers would be installed, and entered:

$: emerge ati-drivers

then set the drivers to run:

$: opengl-update ati

Thats it for the drivers... Didn't I say it was difficult?
I restarted the computer, just to make sure that everything would start up all nice and clean... But to no avail! I still needed to setup the X window... Oops! To setup the ATI X window stuff I had to make sure that I didn't have any graphical interfaces started up already. Since I had booted into a command prompt without any graphical interface, I didn't have to worry about this, if I did I would have to turn off my login manager:

$: /etc/init.d/xdm stop {replacing xdm with whatever login manager you are currently using}

Then I ran fglrxconfig:

$: fglrxconfig

And followed the prompts with whatever settings I knew... all others (and for most of the ones I did know) I just entered defaults. My xorg.conf file still has some nvidia stuff still setup in it, which I now had to change. I use xorg and am still able to use the file but, for some strange reason, the new file that was produced by fglrxconfig (XF86Config-4) had some ommissions and inconsistancies that had to be taken care of. First, I backed up my xorg.conf to xorg.conf.bak (always have backups :-)). Then I copied XF86Config-4 and renamed it xorg.conf. I then worked out of xorg.conf directly so I had my original backups of both the original xorg.conf and the XF86Conf-4. This is the entries for these last few steps:

$: mv xorg.conf xorg.conf.bak

$: cp XF86Config-4 xorg.conf

Now I went into my newly made xorg.conf and had to make several changes. First I went to the bottom of the file and noticed that not only was the entire 'Screen' section not there, but the last section wasn't closed off at all! I ended the last section (the last subsection I saw was "--Misc Options--" (something added by fglrxconfig and not in the original xorg.conf file)). I then had to add the entire 'Screen' section. This is how mine looks:

#Screen information wasn't added for some reason, lets see if I can get it to work here...


Section "Screen"
Identifier "Screen 1"
Device "ATI Graphics Adapter"
Monitor "Monitor0"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection

I saved the file and restarted the computer (by the way, I tried to simply copy the XF86COnfig-4 file over the xorg.conf file but got a 'no screen found' error when I tried to get into X, this is how I started looking for the 'Screen' section that ended up missing.) Upon restarting I got a new error directing my attention to the... keyboard?! What?! Once again I opened up xorg.conf and noticed that the keyboard section, indeed, had a discrepency in it. The problem was that the driver was listed incorrectly. ATI had written the driver simply as 'keyboard' when (according to my old xorg.conf file) it was 'kbd'. I saved for what would be the last time and restarted. I had one last minor problem that I would like to mention. When I finally got my system all started up properly with the drivers working I wanted to update my system:

$: emerge -uND world

The problem is that I went to run that command and got a blockage. It ended up that the new ati-drivers were blocking opengl-update. I simply removed the ati-drivers real quick, updated opengl-update and re-installed the drivers. No foul there.

Now my driver was setup and things were running smoothly for me. All done!

I wanted to thank the following, as they were references for me to help me with my problems along the way:

Everyone who participated in this discussion:
This Gentoo Forum

The bulk of the information came from this site:
http://www.rage3d.com/content/articles/atilinuxhowto/

I didn't actually use this site, although I did come by it while looking around. I'd suggest to check it out if you're having any problems:
http://www.gentoo.org/doc/en/ati-faq.xml

For optimal viewing, view this site in Firefox under 1024x768 resolution.
This free script provided by Quotes found at