ATI drivers for linux problem

Acoshi

Member
Aug 25, 2003
187
0
0
I have been having trouble installing the necessary packages and patches for ATI Radeon 9800 on my Linux system.

Here is what I did:

1) Download the latest ATI Driver for X.org from here: http://www2.ati.com/drivers/linux/f...8.25-1.i386.rpm

2) Download the ATI Development Team's kernel 2.6.10 kernel patch from here: http://rage3d.com/board/showthread.php?t=33798874 (just cut & paste mtippett's code from the first message into a text file and save it as 8.8.25-kernel-2.6.10+.patch at the same place you saved the Driver)

3) Open a terminal and su as root, go to the download directory and install the drivers by executing the following command (it's necessary to overwrite the old MESA GL drivers with the ATI ones, they are backwards compatible with MESA anyway): rpm -Uvh --force fglrx_6_8_0-8.8.25-1.i386.rpm

4) Go to /lib/modules/fglrx/build_mod/ and apply the patch by using a command similar to (where ~/Download is the directory where you put the patch file): patch -p0 -i ~/Download/8.8.25-kernel-2.6.10+.patch

5) Rebuild the driver by executing: sh make.sh

6) Go back one directory to /lib/modules/fglrx/ and reinstall the driver by executing: sh make_install.sh

7) w00t! There should be no errors (there might be one error while trying to load the fglx driver module, but this should be resolved on the next reboot - it's because your current driver is already loaded) and everything should have installed properly.

8) Time to backup your current configuration, make a backup of your xorg.conf file by executing: cp /etc/X11/xorg.conf /etc/X11/xorg.confBAK

9) Switch your boot mode to Shell only (no graphics) in case your configuration fails: edit the /etc/inittab and change the boot init mode from 5 to 3 and save

10) Now that everything is installed OK and backed up, configure your driver for your video card and monitor(s) by executing: /usr/X11R6/bin/fglrxconfig

11) In the end, tell the program to save the settings to /etc/X11/xorg.conf. YOU WILL NEED TO EDIT THE FILE TO CHANGE THE KEYBOARD DRIVER TO KBD, other modifcations may be necessary, use your backup for this!

12) It's SHOWTIME! Reboot your computer, at the Shell, login as root, start the GDM by executing: gdm

13) Login as any user, open a Terminal and start ATI's openGL test program by executing: /usr/X11R6/bin/fgl_glxgears

This is the steps how to do it I managed to get to fifth step. Once I type sh make.sh I get the following errors:

ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.11-1.14_FC3/build SUBDIRS=/lib/modules/fglrx/build_mod/ 2.6.x modules
make[1]: Entering directory `/lib/modules/2.6.11-1.14_FC3/build'
CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_put minor':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:504: warning: `inter_module_p ut' is deprecated (declared at include/linux/module.h:581)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:506: warning: `inter_module_u nregister' is deprecated (declared at include/linux/module.h:577)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `firegl_stub_reg ister':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:526: warning: `inter_module_r egister' is deprecated (declared at include/linux/module.h:576)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:557: warning: `inter_module_p ut' is deprecated (declared at include/linux/module.h:581)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_block_all_ signals':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:800: warning: passing arg 1 o f `block_all_signals' from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_get_vm_phy s_addr':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1579: warning: passing arg 1 of `pmd_offset' from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_request_ir q':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1913: warning: assignment fro m incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `do_vm_shm_nopag e':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2074: warning: passing arg 1 of `pmd_offset' from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_vm_phys_ad dr_str':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2445: warning: passing arg 1 of `pmd_offset' from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2533: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_vm_map':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2594: warning: implicit decla ration of function `remap_page_range'
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2748: error: syntax error bef ore '*' token
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2748: warning: type defaults to `int' in declaration of `drm_agp_module_stub'
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2748: warning: data definitio n has no type or storage class
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agpgart_av ailable':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2890: error: `drm_agp_t' unde clared (first use in this function)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2890: error: (Each undeclared identifier is reported only once
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2890: error: for each functio n it appears in.)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2890: error: syntax error bef ore ')' token
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2911: error: request for memb er `free_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2913: error: request for memb er `free_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2916: error: request for memb er `allocate_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2918: error: request for memb er `allocate_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2921: error: request for memb er `bind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2923: error: request for memb er `bind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2926: error: request for memb er `unbind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2928: error: request for memb er `unbind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2931: error: request for memb er `enable' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2933: error: request for memb er `enable' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2936: error: request for memb er `acquire' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2938: error: request for memb er `acquire' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2941: error: request for memb er `release' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2943: error: request for memb er `release' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2946: error: request for memb er `copy_info' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2948: error: request for memb er `copy_info' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_uninit ':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3019: warning: `inter_module_ put' is deprecated (declared at include/linux/module.h:581)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_free_m emory':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3052: error: request for memb er `free_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3053: error: request for memb er `free_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_alloca te_memory':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3062: error: request for memb er `allocate_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3063: error: request for memb er `allocate_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_bind_m emory':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3073: error: request for memb er `bind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3074: error: request for memb er `bind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_unbind _memory':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3084: error: request for memb er `unbind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3085: error: request for memb er `unbind_memory' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_enable ':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3095: error: request for memb er `enable' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3097: error: request for memb er `enable' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_acquir e':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3143: error: request for memb er `acquire' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3144: error: request for memb er `acquire' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_releas e':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3154: error: request for memb er `release' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3155: error: request for memb er `release' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_agp_copy_i nfo':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3168: error: request for memb er `copy_info' in something not a structure or union
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3175: error: request for memb er `copy_info' in something not a structure or union
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2
make[1]: Leaving directory `/lib/modules/2.6.11-1.14_FC3/build'
make: *** [kmod_build] Error 2
build failed with return value 2

What does this mean exactly and how do I fix it?
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Either you got a bad patch, applied it incorrectly, or you are missing something... Something like a library developement headers that are needed for dependancy.

Don't know, I avoid ATI stuff in Linux as much as humanly possible. (realy quite possible.)

The warnings generally can be ignored. They can generally be ignored unless your a programmer. They can cause issues sometimes later, but the errors are show-stoppers. The first error:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2748: error: syntax error bef ore '*' token

Probably hints at a bad patch or badly applied patch.

But I don't know that, I am just guessing.

There are a few ATI-specific Linux forums, like the one at Rage3d. Google around for them.

BTW the ATI drivers are compatable with Mesa because they are based on Mesa. :)

 

uOpt

Golden Member
Oct 19, 2004
1,628
0
0
Try a stock/Linus/kernel.org kernel, not a Fedora kernel.

Last time I checked Fedora had 99 patches applied on top of the normal kernel. And one of them was the -ac patch which is a collection of patches in itself.

You can basically never hope to apply any kind of patches on top of a FC kernel unless you are willing to do serious hand-merging.

Did you try the binary ATI drivers? Probably won't work on Fedora either. Did you try buying a NVidia card? :)
 

Zelmo3

Senior member
Dec 24, 2003
772
0
0
Why not use the drivers from ATI's site and follow the directions in the release notes?