Riporto quanto postato nel thread dedicato al kernel 2.6.15, questo, riguardo ad un problema che si verificava con il driver proprietario ATI (fglrx) con questo kernel.
La compilazione veniva eseguita regolarmente, purtroppo però allo spegnimento del computer la macchina si bloccava e rimaneva lo schermo nero, attenzione, non era "soltanto" un problema di schermo, non c'era risposta ad alcun tipo di input, mi riferisco all'ultima versione del driver, la 8.20.8, tra l'altro ho provato con una versione precedente del driver, ma il risultato era lo stesso.
Dopo aver fatto un po di ricerche ho trovato una patch che però ho dovuto adattare visto che quando l'ho applicata ho riscontrato un errore, mi sono poi scritto una procedura per porre rimedio a questo problema, come promemoria mio, però poi ho pensato di metterlo a disposizione di tutti in modo da risparmiare... scazzature a chi riscontrava questo problema!
Lascio alla discrezione dei moderatori la valutazione sul metterlo o meno in rilievo.
Di seguito la procedura:
------------------------------------------
Questa procedura è stata scritta il 06-01-2006, ho usato il kernel 2.6.15 (appena uscito) e la versione del driver ATI è la 8.20.8 (l'ultima disponibile).
1) Caricate il sistema con il kernel 2.6.15 (o superiore).
2) Installate il driver dall'installer con la procedura standard.
3) ATTENZIONE: non riavviate.
4) 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 (è il mio editor preferito!), fate prima ad usare la ricerca con /WARN e trovate l'inizio della seconda linea, 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?!
5) Entrate in fglrx/build_mod
6) Lanciate lo script make.sh contenuto in tale directory
7) Andate nella directory fglrx (la directory superiore)
8) Lanciate lo script make_install.sh
Dovrebbe essere a posto, adesso il driver installato dovrebbe funzionare.
Per quanto sopra riportato ho usato il solito... San Google da Cascia!!! ;-)
La patch la riposto sotto, potete copiarla e incollarla in un file:
--------- INIZIO PATCH - NON COPIARE QUESTA PARTE ------------
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
----------- FINE PATCH - NON COPIARE QUESTA PARTE -------------
NOTA BENE: NON MI RITENGO RESPONSABILE PER EVENTUALI DANNI CAUSATI DALLA PROCEDURA
SOPRACITATA, QUANTO FATE E' A VOSTRO ESCLUSIVO RISCHIO!
Eh, scusate ma... non si sa mai!!! ;-)
Byezzz
Gigi
-------------------------------------------------

Rispondi quotando

.