U ovom mini FAQ-u objasnjeno je kako instalirati zvanicne ATI drajvere u novoj grani kernela.
Najnovija verzija kernela 2.6.x moze se skinuti sa http://www.kernel.org, a fglrx drajveri sa http://www.ati.com . Postupak instalacije kernela nije tema mini FAQ-a, i pretpostavljam da svi vi koji citate ovo znate kako se ceo postupak obavlja.1. Sta treba ukljuciti/iskljuciti u kernelu
Prilikom kompajliranja kernela i pravljenja .config fajla, bilo sa
‘make config’, ‘make menuconfig’ ili ‘make xconfig’,
potrebno je uraditi sledece da bi vas ATI proradio:
– ukljuciti MTRR; lokacija – Procesor type and features-> MTRR
(Memory Type Range Register) support
– ukljuciti agpgart; lokacija – u Device Drivers-> Character
Devices-> /dev/agpgart (AGP Support), izaberete vas cipset, i
izaberite da se drajver kompajlira kao MODUL! ( i agpgart i drajver za
cipset)
-iskljuciti DRM; lokacija – Device Drivers-> Character
Devices-> Direct Rendering Manager (XFree 4.1.0 and higher support)
– iskljuciti radeon podrsku za frame buffer : lokacija – u Device
Drivers-> Graphic Support-> Support for frame buffer Devices,
iskljuciti sve drajvere osim podrske za VESA VGA i VGA 16-color .
2. Instalacija drajvera iz rpm paketa
Skinute drajvere sa ATI-jevog sajta instalirajte klasicim
rpm -Uhv
ili ako bude problema
rpm -i –force
ili ako bude jos nekih problema ubacite ‘–nodeps’ switch’ .
Vise o tome moze se naci u readme fajlu, na istom mestu odakle ste
download-ovali drajver.
3. Patch-ovanje drajvera
Drajver kao takav nije prilagodjen novom kernelu, i mora se patchovati.
Obavezni patch koji ispravlja VMALLOC gresku, dug je samo 10 redova :
root@sale:/lib/modules/fglrx# cat fglrx-2.6-vmalloc-vmaddr.patch
diff -ruN build_mod.orig/firegl_public.c build_mod/firegl_public.c
— build_mod.orig/firegl_public.c
2003-09-05 00:45:33.539384168 +0200
+++ build_mod/firegl_public.c 2003-09-05 00:47:13.193234480
+0200
@@ -129,7 +129,9 @@
#define
pte_offset pte_offset_map
#endif
#endif
–
+#ifndef VMALLOC_VMADDR
+#define VMALLOC_VMADDR(x) ((unsigned long)(x))
+#endif
// ============================================================
#ifndef TRUE
#define TRUE 1
Snimite ovih 10-ak redova od diff naredbe do kraja u
/lib/modules/fglrx/fglrx-2.6-vmalloc-vmaddr.patch
i patchujte firegl_public.c sa
‘patch -p0 < fglrx-2.6-vmalloc-vmaddr.patch'
U slucaju da imate AMD procesor potrebno je primeniti i sledeci patch :
root@sale:/lib/modules/fglrx/build_mod# cat
fglrx-3.2.8-fix-amd-adv-spec.patch
— firegl_public.c.orig
2003-09-22 04:43:30.000000000 +0200
+++ firegl_public.c 2003-10-09
00:14:41.337778176 +0200
@@ -3106,7 +3108,7 @@
int __ke_amd_adv_spec_cache_feature(void)
{
-#if ( (PAGE_ATTR_FIX == 1) || (LINUX_VERSION_CODE ==
KERNEL_VERSION(2,4,19)) )
+#if ( (PAGE_ATTR_FIX == 1) || (LINUX_VERSION_CODE >=
KERNEL_VERSION(2,4,19)) )
/* the kernel already does provide a fix for the AMD Athlon
big page attribute / cache flush data consistency
system bug on its own.
(AMD claimed that CPU cache behaviour for such pages
is not specified.)
Ovaj patch snimite u
/lib/modules/fglrx/build_mod/fglrx-3.2.8-fix-amd-adv-spec.patch
i patchujte ponovo firegl_public.c sa
‘patch -p0 < fglrx-3.2.8-fix-amd-adv-spec.patch'
Nakon zavrsenog patchovanja, pokrenite make skriptu u
/lib/modules/fglrx/build_mod
‘/lib/modules/fglrx/build_mod/make.sh’
i kad build-ovanje modula bude zavrseno i make_install direktorijum
iznad :
‘/lib/modules/fglrx/make_install.sh’
Ukoliko se ne pojave poruke sa greskama, kompajliranje i ubacivanje
fglrx modula u kernel uspesno je zavrseno; da li je modul ucitan
proverite sa ‘lsmod | grep fglrx’
XF98Config-4 fajl koji je radio sa starim kernelom radice bez ikakvih
izmena i problema, a ako zelite da ga ponovo napravite, startujte
‘fglrxconfig’
Na kraju, ubacite u u /etc/modules.conf ili u rc.local ili negde drugde
u startup skriptama liniju ‘modprobe fglrx’ kako bi se modul ucitavao
pri startovanju sistema.
Restartujte sistem sa novim kernelom, startujte X i proverite radi li
3d akceleracija :
root@sale:/# uname -a
Linux sale 2.6.1 #2 Sun Jan 18 12:17:40 CET 2004 i686 unknown unknown
GNU/Linux
root@sale:/# glxinfo | grep direct
direct rendering: Yes
root@sale:/# glxgears
13464 frames in 5.0 seconds = 2692.800 FPS
14375 frames in 5.0 seconds = 2875.000 FPS
14377 frames in 5.0 seconds = 2875.400 FPS
14378 frames in 5.0 seconds = 2875.600 FPS
Autor: salac