ATI Linux Drivers

TKS

Distinguished
Mar 4, 2003
747
0
18,980
New Linux 3.7.0 Drivers from ATI are out.

Go get em!
<A HREF="http://www.ati.com/support/driver.html" target="_new">http://www.ati.com/support/driver.html</A>

----------
<b>It is always brave to say what everyone thinks. </b> <i>Georges Duhamel</i>

TKS
 

minorthreat

Distinguished
Jan 4, 2004
6
0
18,510
I'm fairly new to linux. In fact, I just installed Mandrake 9.2 for AMD64. I have tried to install the new driver, but it isn't working for me since I probably have no idea what I'm doing. I've read through ATI's readme, but didn't find it helpful. Here's what happens when I try to install the driver:

*** Trying to install a precompiled kernel module.
*** WARNING ***
Tailored kernel module for fglrx not present in your system.
You must go to /lib/modules/fglrx/build_mod subdir
and execute './make.sh' to build a fully customed kernel module.
Afterwards go to /lib/modules/fglrx and run './make_install.sh'
in order to install the module into your kernel's module repository.
(see readme.txt for more details.)

As of now you can still run your XServer in 2D, but hardware accelerated
OpenGL will not work and 2D graphics will lack performance.

failed.
*** Error: no kernel module build environment - please consult readme.
*** Warning ***
The QT based control panel application did not load in any version.
===
ATI display drivers successfully installed
please run 'fglrxconfig' now
===


Then I tried running './make.sh' and got the following:

ATI module generator V 2.0
==========================
initializing...
kernel includes at /usr/src/linux/include not found or incomplete
file: /usr/src/linux/include/linux/version.h


I looked in /usr/src/ and there is no linux subdirectory there. Any ideas as to what's going on now and how to fix it? Thanks in advance for your help.
 

silverpig

Splendid
Dec 31, 2007
5,068
0
25,780
You need to install your kernel sources and symlink them to /usr/src/linux. Find out what kernel version you're using and download the sources from the mandrake site. Untar them in your /usr/src directory.

tar -zxvf kernel-src-2.4.24-r2-mdk.tar.gz
(or something like that anyways).

You'll get something like

/usr/src/2.4.24-r2-mdk/

Then type

mkdir /usr/src/linux

and then make the symbolic link

ln -s /usr/src/linux /usr/src/2.4.24-r2-mdk/

Then try running it.

You must have the symbolic link pointing to the folder containing the sources for your currently running kernel in order for it to work though.

This is one of the reasons why I love gentoo though. Sure, it's a bit of a pain to set up, but once it is, all I had to type to install the new drivers was

emerge /usr/portage/media-video/ati-drivers-3.7.0.ebuild

and it was done. :smile:

Some day I'll be rich and famous for inventing a device that allows you to stab people in the face over the internet.
 

minorthreat

Distinguished
Jan 4, 2004
6
0
18,510
Well now that I have the the kernel source, I'm running into other problems. This is what happens when I run "rpm -i --force fglrx-glc22-4.3.0-3.7.0.i386.rpm":

*** Trying to install a precompiled kernel module.
*** WARNING ***
Tailored kernel module for fglrx not present in your system.
You must go to /lib/modules/fglrx/build_mod subdir
and execute './make.sh' to build a fully customed kernel module.
Afterwards go to /lib/modules/fglrx and run './make_install.sh'
in order to install the module into your kernel's module repository.
(see readme.txt for more details.)

As of now you can still run your XServer in 2D, but hardware acclerated
OpenGL will not work and 2D graphics will lack performance.

failed.
*** Found kernel module build environment, generating kernel module now.
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
skipping patch for 'drmP.h', not needed
patching 'drm_os_linux.h'...
probing for VMA API version...
doing script based build for kernel 2.4.x and similar
compiling './agpgart_be.c'...
compiling './agp3.c'...
compiling './i7505-agp.c'...
compiling './nvidia-agp.c'...
compiling './firegl_public.c'...
linking of fglrx kernel module...
ld: Relocatable linking with relocations from format elf32-i386 (./libfglrx_ip.a(vm.o)) to format elf64-x86-64 (fglrx.o) is not supported
linking failed - kernel module was not generated
*** WARNING ***
Tailored kernel module for fglrx not present in your system.
You must go to /lib/modules/fglrx/build_mod subdir
and execute './make.sh' to build a fully customed kernel module.
Afterwards go to /lib/modules/fglrx and run './make_install.sh'
in order to install the module into your kernel's module repository.
(see readme.txt for more details.)

As of now you can still run your XServer in 2D, but hardware acclerated
OpenGL will not work and 2D graphics will lack performance.

failed.
*** Warning ***
The QT based control panel application did not load in any version.
===
ATI display drivers successfully installed
please run 'fglrxconfig' now
===


So I did what it said and when to "/lib/modules/fglrx/build_mod" and ran "./make.sh" and this is what happened:

ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
skipping patch for 'drmP.h', not needed
patching 'drm_os_linux.h'...
probing for VMA API version...
doing script based build for kernel 2.4.x and similar
compiling './agpgart_be.c'...
compiling './agp3.c'...
compiling './i7505-agp.c'...
compiling './nvidia-agp.c'...
compiling './firegl_public.c'...
linking of fglrx kernel module...
ld: Relocatable linking with relocations from format elf32-i386 (./libfglrx_ip.a(vm.o)) to format elf64-x86-64 (fglrx.o) is not supported
linking failed - kernel module was not generated


So I'm stumped again...
 

silverpig

Splendid
Dec 31, 2007
5,068
0
25,780
Hmm, sounds like the ati drivers want some things in your kernel, or some modules that you don't yet have. You can try a kernel compile if you want. I'm fairly sure this will fix your problem.

cd /usr/src/linux
make menuconfig

That will allow you to customize your kernel. The current config is for the kernel you have right now. Flip through the menus and see if you can find a graphics drivers section where there might be some ATI things you can select. If there is, highlight them and hit <M> to compile them as modules. Exit the config program via the menu, save the config and then type:

make dep && make clean modules modules_install

This will compile the new modules for you. Reboot your computer (don't HAVE to, but I don't know the names of the modules you just compiled, so we'll do it the "easy windows" way :p). Once the new modules are loaded, try building the driver again.

Sidenote: That make dep &&... command I gave you compiles your modules only. If you wanted to compile a new kernel as well you'd type:

make dep && make clean bzImage modules modules_install

This will make a file called bzImage in your /usr/src/linux/arch/i386/boot (usually) directory. You can copy this file to /boot/bzImage and this is the kernel image your computer actually uses. Of course you probably don't want to overwrite your old one, so you could copy it as bzImage2 and then make a new entry in your bootloader program to give you an option.

end sidenote

:)

Some day I'll be rich and famous for inventing a device that allows you to stab people in the face over the internet.
 

silverpig

Splendid
Dec 31, 2007
5,068
0
25,780
The bonus is once you've compiled your own kernel, you get to slough off the "fairly new to linux" tag and graduate to the next step :smile:

Some day I'll be rich and famous for inventing a device that allows you to stab people in the face over the internet.
 

minorthreat

Distinguished
Jan 4, 2004
6
0
18,510
Alright, I've taken a look and it appears that anything ATI was already included. But looking back at the errors I got installing the driver, this kind of popped out at me:

linking of fglrx kernel module...
ld: Relocatable linking with relocations from format elf32-i386 (./libfglrx_ip.a(vm.o)) to format elf64-x86-64 (fglrx.o) is not supported

Is the reason that it's not working because I'm using the 64 bit version of Mandrake?