Linux ATI drivers.

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

drag

Elite Member
Jul 4, 2002
8,708
0
0
Great! Good for you.

How well does this method work for you? You said 3-d was fast, but how fast? Is there any performance reduction from windows? Maybe you can run a quick timedemo in quake3 or something...


 

joshg

Golden Member
Jul 3, 2001
1,359
0
0
Well the only thing I noticed was when I started up a 3D app it was SOO smooth and very cool looking. :D

I can try and run some demos, we'll see how that goes...
 

Evolution

Member
Apr 30, 2000
178
1
81
joshg, can you tell me how you got it to work? What you exactly did to the kernel? Your post seems a little vague.
 

Lonyo

Lifer
Aug 10, 2002
21,938
6
81
Dunno if anyone's mentioned this, but if you have an nForce 2 board, you can only get an nVidia card to have 3D acceleration in Linux, I read somewhere. So an ATi/Matrox etc card won't work.
This is an nVidia driver fault with their nForce 2 drivers.

The thread was in the video section I think.
 

joshg

Golden Member
Jul 3, 2001
1,359
0
0
Just an update:

I'm experiencing lockups about 5 minutes into Q3, UT2k3, Tux Racer, etc., anything that seems to use 3D support.

According to a few users at rage3D, this is due to a conflict between the 2.4.20 kernel (which is the one that I'm using) and the drivers... If I can find source to a later release or just use source for 2.4.21 or something, then my problems should go away (at least it did for the other users). I'll try to get around to it sometime in the next few days to see how it goes.


As to what exactly I did... Well, it'll probably be a little different for you with Gentoo, but I can post what I did for RedHat and maybe it can help a little plus help any RH users. :D


First off, I used this guide to help and guide me in the process of compiling the source code for the kernel.

You'll probably want to be working in the CLI to do this...



  1. [1]. Download the LINUX X4.?.0 (where ? = your version of X, probably 4.3.0 if you are using latest distros) rpm from http://www.schneider-digital.de/html/download_ati.html.

    [2]. Switch to root in your command line: su root

    [3]. Unpack and install the rpm using the following command: rpm -Uhv <package_name>.rpm.

    Note if you receive errors or warnings about another libGL driver already installed, you can either force the fglrx driver...

    rpm -i --force <ati_package_name>.rpm

    or you can remove the other driver and then run the install command...

    rpm -e --nodeps XFree86-Mesa-libGL-4.3.0-18 (or whatever your other libGL driver was - it will tell you in the warning message)
    rpm -Uhv <package_name>.rpm


    [4]. Now, run the fglrxconfig utility (it will tell you to do this after install I believe...).

    Follow the menus and prompts to set up your device.

    ...

    After setup, if you do not receive any errors or warnings, restart and you should be good to go with 3D acceleration. To confirm after your restart, you can run fglrxinfo and see if you truly are using the driver and have 3D hardware support.

    If, on the other hand, you DO get receive an error/warning saying that you don't have 3D hardware acceleration support, and you need to run "./make.sh", "./make_install.sh", etc. etc., then perform the steps 1a through 13a below: (note that you can do 1a-8a as your normal user login, the rest must be performed by root)

    1. [1a]. Go to kernel.org and downloaded the source for your kernel of choice. I chose 2.4.20, but I'll probably try 2.4.21 sometime soon (see top of post for explanation ;) ).

      [2a]. Unpack the kernel source into any directory that you want... I just used ~/linux/ since this allowed me to do almost all of the compiling without using the root account.

      [3a]. In the top directory of the source that you unpacked, run the following command: make mrproper

      [4a]. Find your current kernel config file and place a copy of it as ".config" in the directory that you unpacked the kernel source. I believe that I found my config files in the /boot/ directory, but I'm not 100% sure about this... The command would be something like cp /boot/config-2.4.20-18.9 ~/linux/linux-2.4.20/.config -- also I'm unsure what the filename was, but it was something like that! :)

      [5a]. Once again, in top source directory, run: make oldconfig

      (Steps 6 - 8 will take a while for each of them, just a forewarning... :) )
      [6a]. Run: make dep

      [7a]. Run: make bzImage

      [8a]. Run: make modules

      [9a]. Become root (su root) and copy the bzImage that you just made into your boot directory. Name it in concurrence with the other kernels in the directory without overwriting your others, but also so that you can tell what it is. I named mine "vmlinuz-2.4.20-custom". cp ~user/linux/linux-2.4.20/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-custom

      [10a]. Next, install the modules: make modules_install

      [11a]. Then, edit the /boot/grub/grub.conf file (if you are using GRUB, otherwise edit the lilo file /etc/lilo.conf) to add a pointer to your new "vmlinuz-2.4.20-custom" so that you can boot to it. Note that I also made a copy of the "image" file that was referenced in the grub.conf file and named it in convention with the other files, but so that I could tell it was for my "-custom" kernel. Remember, when editing the boot loader file, don't delete the others - instead paste a copy of the top entry and change the file and labels so that you can choose to boot from either one.

      [12a]. Well, now you should have your new kernel all set up and ready to go - reboot and see if all goes well with your "custom" kernel (note there's nothing custom about it yet - it's simply a compile of the source).

      [13a]. If all goes well with running your new kernel, now you can make a symlink of /usr/src/linux pointing to the directory where your source files are: ln -s /home/<your user name>/linux/linux-2.4.20 /usr/src/linux is what I believe I used as the syntax...

      The source files are required to be in /usr/src/linux for the fglrx utility - also a symlink works fine for this purpose.

      [14a]. Run these commands:

      cd /lib/modules/fglrx/build_mod
      ./make.sh
      cd ..
      ./make_install.sh


      [15a] Once again, run fglrxconfig - this time, however, you should receive no errors about not having 3D hardware support! Restart the computer and you should be all set!


Please note these directions are in order only as I remember them off of the top of my head... I think it's pretty close, and it should get you going in the right direction (or give you a good idea at least, if your distro is different than RH...). If you have problems, you should be able to follow the actions described in your errors and/or warnings and figure out what's going on...

Remember I'm a relative newb to Linux, so if there are mistakes in this guide ... well, I take no responsibility for anyone else's actions! ;)
 

joshg

Golden Member
Jul 3, 2001
1,359
0
0
Originally posted by: Lonyo
Dunno if anyone's mentioned this, but if you have an nForce 2 board, you can only get an nVidia card to have 3D acceleration in Linux, I read somewhere. So an ATi/Matrox etc card won't work.
This is an nVidia driver fault with their nForce 2 drivers.

The thread was in the video section I think.

Hmmm... well my board is an EPoX 8K7A so I use an AMD chipset, so I have not run into this.

However, it seems as if there's some kind of AGPGART patch that you can install and it should work - at least it seems to for a lot of other nForce2 users.

http://www.nforcershq.com/forum/viewtopic.php?t=17754&sid=4a24f45c183e1bb878d4556702a8dd39

I may be upgrading to nForce2 sometime soon (probably not for a few months, though :frown: ) so I might get to try this out first-hand... ;)