by Aladino che ha spudoratamente copiato e pastato da Wolf
Il Kernel 2.6.15 ha dei problemi coi driver proprietari ATI.
ATTENZIONE: CON IL DRIVER ATI 8.22.5 NON C’È PIÙ BISOGNO DI QUESTA PATCH, LA LASCIO COMUNQUE NELLA DOCUMENTAZIONE.
Googlando un po’ è possibile trovare una piccola patch per il driver, però a
differenza del driver Nvidia, che si può decomprimere e patchare, con il driver ATI questa procedura non è possibile.
Ecco invece la procedura corretta:
Modifica del codice
NOTA BENE: NON MI RITENGO RESPONSABILE PER EVENTUALI DANNI CAUSATI DALLA PROCEDURA SOPRACITATA, QUANTO FATE E’ A VOSTRO ESCLUSIVO RISCHIO!
Questa procedura è stata scritta il 06-01-2006, il kernel usato è il 2.6.15
(appena uscito) e la versione del driver ATI è la 8.20.8 (l’ultima
disponibile).
- Caricate il sistema con il kernel 2.6.15 (o superiore).
- Installate il driver dall’installer con la procedura standard.
- ATTENZIONE: non riavviate.
- Entrate nella directory /lib/modules e installate la patch:
# patch -p0 < percorso_alla_patch
NOTA: se si dovesse incontrare qualche difficoltà con l’installazione
della patch è abbastanza semplice modificare i file a mano, editate
il file /lib/modules/fglrx/build_mod/firegl_public.c e cercate la parte
che riporto sotto:
#if 0 // WARNING WARNINIG WARNNING WARNNING WARNNING WARNNING WARNNING WARNNING // Don't increment page usage count, cause ctx pages are allocated // with drm_alloc_pages, which marks all pages as reserved. Reserved // pages' usage count is not decremented by the kernel during unmap!!! get_page(pMmPage); /* inc usage count of page */ #endif
Un consiglio: se usate Vim fate prima ad usare la ricerca con /WARN e trovate l’inizio della seconda linea, e perciò tutto il blocco, comunque, modificate la parte:
#if 0
con
#if LINUX_VERSION_CODE >= 0x02060f
salvate il file e il gioco è fatto! Semplice, no?!
Installazione della versione modificata
- Entrate in fglrx/build_mod
- Lanciate lo script make.sh contenuto in tale directory
- Andate nella directory fglrx (la directory superiore)
- Lanciate lo script make_install.sh
Dovrebbe essere a posto, adesso il driver installato dovrebbe funzionare
correttamente!
Patch
La patch riportata qua sotto, potete copiarla e incollarla in un file:
diff -ru fglrx.orig/build_mod/firegl_public.c fglrx/build_mod/firegl_public.c --- fglrx.orig/build_mod/firegl_public.c 2006-01-06 22:44:24.000000000 +0100 +++ fglrx/build_mod/firegl_public.c 2006-01-06 22:35:19.000000000 +0100 @@ -2621,7 +2621,7 @@ pMmPage = virt_to_page(kaddr); -#if 0 +#if LINUX_VERSION_CODE >= 0x02060f // WARNING WARNINIG WARNNING WARNNING WARNNING WARNNING WARNNING WARNNING // Don't increment page usage count, cause ctx pages are allocated // with drm_alloc_pages, which marks all pages as reserved. Reserved