version 19 showing authors affecting page license.
.
Rev |
Author |
# |
Line |
12 |
CraigBox |
1 |
!!Support for ATI Radeon & FireGL graphics cards on Linux |
14 |
JohnMcPherson |
2 |
|
16 |
PeterHewett |
3 |
Generally, the ATI cards are not supported as well as Nvidia. If you are buying a new graphics card, you might be better off with an Nvidia, particularly with later model and higher spec cards. |
12 |
CraigBox |
4 |
|
16 |
PeterHewett |
5 |
But it is possible to get Radeon cards working. See notes at [the DRI wiki|http://dri.freedesktop.org/wiki/ATIRadeon] and [Radeon Linux howto|http://rsgibson.com/Radeon_Linux_How-To.htm]. |
12 |
CraigBox |
6 |
|
16 |
PeterHewett |
7 |
The current Linux drivers can be downloaded from [ATI's webpage|http://mirror.ati.com/support/drivers/linux/radeon-linux.html?type=linux&prodType=graphic&prod=productsLINUXdriver&submit.x=13&submit.y=12&submit=GO%21]. |
12 |
CraigBox |
8 |
|
16 |
PeterHewett |
9 |
For info on older drivers, see the page called RadeonOnNforce, which apparently solved a lot of problems for a lot of people. |
|
|
10 |
|
|
|
11 |
!!Mandriva |
|
|
12 |
|
|
|
13 |
ATI drivers are available in [rpm|RPM] form from the PenguinLiberationFront. (Although with my 9600 pro card, I found that the drivers from ATI gave 3d hardware acceleration, but the plf rpms of the same verion did not.) |
12 |
CraigBox |
14 |
|
|
|
15 |
!!Fedora Core 2 |
|
|
16 |
|
|
|
17 |
Man, there's a lot of trouble geting drivers running on this. [ATI Radeon Drivers for Linux with a link to a FC2 patch|http://www.stanford.edu/~fenn/linux/radeon.shtml] |
|
|
18 |
|
|
|
19 |
!!Gentoo |
|
|
20 |
|
|
|
21 |
See the excellent [Gentoo Radeon FAQ|http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html]. [Gentoo's portage files for the radeon driver|http://gentoo.kems.net/gentoo-x86-portage/media-video/ati-drivers/files/] may also have a patch that helps you. |
13 |
CraigBox |
22 |
|
|
|
23 |
!!Debian |
|
|
24 |
|
15 |
SimonGreen |
25 |
There is a [a very good tutorial about installing ATI-drivers on Debian Linux|http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html]. |
12 |
CraigBox |
26 |
|
|
|
27 |
!!Fix for error building Radeon driver on Linux 2.6 |
|
|
28 |
|
|
|
29 |
Do you get errors like |
|
|
30 |
<verbatim> |
|
|
31 |
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function `__ke_get_vm_phys_addr': |
|
|
32 |
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1506: |
|
|
33 |
warning: implicit declaration of function `VMALLOC_VMADDR' |
|
|
34 |
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1 |
|
|
35 |
make[1]: *** [/lib/modules/fglrx/build_mod/2.6.x] Error 2 |
|
|
36 |
make[1]: Leaving directory `/usr/src/linux-2.6.0-test11' |
|
|
37 |
make: *** [kmod_build] Error 2 |
|
|
38 |
|
|
|
39 |
[root@test 2.6.x]# modprobe fglrx |
|
|
40 |
Error inserting 'fglrx.ko': -1 Unknown symbol in module |
|
|
41 |
|
|
|
42 |
Oct 26 16:11:46 [kernel] fglrx: module license 'Proprietary. |
|
|
43 |
(C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. |
|
|
44 |
Oct 26 16:11:46 [kernel] fglrx: Unknown symbol VMALLOC_VMADDR |
|
|
45 |
Oct 26 16:12:14 [kernel] [drm] Module unloaded |
|
|
46 |
</verbatim> |
|
|
47 |
|
|
|
48 |
You need to make a change to /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: add |
|
|
49 |
<verbatim> |
|
|
50 |
#ifndef VMALLOC_VMADDR |
|
|
51 |
#define VMALLOC_VMADDR(x) ((unsigned long)(x)) |
|
|
52 |
#endif |
|
|
53 |
</verbatim> |
|
|
54 |
to the beginning somewhere, and then cd .. back up to build_mod, run ./make.sh, cd back up to fglrx and run ./make_install.sh |
|
|
55 |
|
|
|
56 |
There is a patch for this, and other issues, in [Gentoo's ATI drivers portage tree|http://gentoo.kems.net/gentoo-x86-portage/media-video/ati-drivers/files/]. |
|
|
57 |
|
|
|
58 |
!!xf86_ENOMEM and xf86_ENODEV |
|
|
59 |
|
|
|
60 |
<verbatim> |
|
|
61 |
(EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENOMEM" |
|
|
62 |
(EE) fglrx(0): cannot init AGP |
|
|
63 |
(II) fglrx(0): [drm] removed 1 reserved context for kernel |
|
|
64 |
(II) fglrx(0): [drm] unmapping 8192 bytes of SAREA 0xd1a34000 at 0x40229000 |
|
|
65 |
(WW) fglrx(0): *********************************************** |
|
|
66 |
(WW) fglrx(0): * DRI initialization failed! * |
|
|
67 |
(WW) fglrx(0): * (maybe driver kernel module missing or bad) * |
|
|
68 |
(WW) fglrx(0): * 2D acceleraton available (MMIO) * |
|
|
69 |
(WW) fglrx(0): * no 3D acceleration available * |
|
|
70 |
(WW) fglrx(0): ********************************************* * |
|
|
71 |
</verbatim> |
|
|
72 |
|
|
|
73 |
The problem is well documented - basically, you don't have correct AGPGART support. The way I solved this on [LinuxKernel2.6] was to make sure UseInternalAGPGART was set to no in the XF86Config file and rebooting - if at any stage the fglrx AGPGART has loaded, you're shit out of luck. (Ask dmesg(8)). |
|
|
74 |
|
|
|
75 |
If you have an NForce2; use Kernel 2.4.22 or higher for a kernel that supports the Nvidia AGPGART. (You should be using Kernel 2.4.24 or higher anyway!) It's native to 2.6. |
|
|
76 |
|
|
|
77 |
With the NForce2 chipset there may be difficulties trying to have output mirrored to the TV out, unfotunately I do not currently know any solution other than to disable TV out support. |
|
|
78 |
|
|
|
79 |
The [Gentoo ATI Radeon FAQ|http://odin.prohosting.com/wedge01/gentoo-radeon-faq.html] has some great examples. If you're using a VIA KT400, start at [Rage3D's message board|http://www.rage3d.com/board/showthread.php?s=b63b7ad75931c247abc20583b648f4c4&threadid=33724523&highlight=xf86eNOMEM]. |
|
|
80 |
|
|
|
81 |
!![Kernel] Oops when starting X |
|
|
82 |
|
|
|
83 |
With a 2.6.3 kernel I was getting a kernel oops everytime X tried to load with the fglrx module loaded. The backtrace looked something like this: |
|
|
84 |
<verbatim> |
|
|
85 |
Feb 20 20:27:10 than kernel: Call Trace: |
|
|
86 |
Feb 20 20:27:10 than kernel: [<f89f49cb>] __ke_amd_adv_spec_cache_feature+0xb/0x80 [fglrx] |
|
|
87 |
Feb 20 20:27:10 than kernel: [<f8a031bc>] drm_agp_enable+0x0/0xc4 [fglrx] |
|
|
88 |
Feb 20 20:27:10 than kernel: [<f89fd2e8>] _r6x_CheckAGPCommand+0x130/0x178 [fglrx] |
|
|
89 |
Feb 20 20:27:10 than kernel: [<f89f4617>] __ke_agp_enable+0x17/0x40 [fglrx] |
|
|
90 |
Feb 20 20:27:10 than kernel: [<f8a03240>] drm_agp_enable+0x84/0xc4 [fglrx] |
|
|
91 |
Feb 20 20:27:10 than kernel: [<f89f513e>] firegl_ioctl+0x166/0x1a4 [fglrx] |
|
|
92 |
Feb 20 20:27:10 than kernel: [<c015b6d9>] sys_ioctl+0x219/0x270 |
|
|
93 |
Feb 20 20:27:10 than kernel: [<c0108cff>] syscall_call+0x7/0xb |
|
|
94 |
</verbatim> |
|
|
95 |
|
|
|
96 |
A lot of Googling later, the fix that works for me was to find the function __ke_amd_adv_spec_cache_feature in /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c and edit it so that it returned immediately; |
|
|
97 |
i.e. it should end up looking like this: |
|
|
98 |
|
|
|
99 |
<verbatim> |
|
|
100 |
int __ke_amd_adv_spec_cache_feature(void) |
|
|
101 |
{ |
|
|
102 |
return 0; |
|
|
103 |
} |
|
|
104 |
</verbatim> |
|
|
105 |
Save and exit, then cd .. back up to build_mod, run ./make.sh, cd back up to fglrx and run ./make_install.sh. |
|
|
106 |
Just removing the offending function might not always be a good idea, but doing this lets me use X with hardware acceleration, and I have yet to notice any issues. |
19 |
BenStaz |
107 |
|
|
|
108 |
!How to get rid of the AMD Proprietary Linux Software Driver |
|
|
109 |
|
|
|
110 |
There should be some shell scripts inside ''/usr/share/ati''. |
|
|
111 |
One of them should remove the driver. |
|
|
112 |
|
|
|
113 |
*sudo /usr/share/ati/fglrx-uninstall.sh |