Penguin
Annotated edit history of RadeonNotes version 19, including all changes. View license author blame.
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
18 CraigBox 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