Guida EXTRA installazione driver ATI-FGLRX
http://divilinux.netsons.org/index.php/ ... buntu-710/
Visto il numero crescente di problemi legati a questi driver,volevo spendere giusto due parole per aiutare chi ha provato ad attivare il modulo proprietario FGLRX seguendo ogni guida possibile e immaginabile,senza cavare un ragno dal buco
L'intento di questa guida e' anche quello di spiegare nel dettaglio come funziona l'oscuro ma semplice meccanismo che mette in moto questi driver.
SE SIETE NUOVI UTENTI SALTATE DIRETTAMENTE IN FONDO ALLA GUIDA PER INSTALLARE I DRIVER
Per cominciare,un po' di GLOSSARIO:
1- Driver con "restrizioni"
Per restrizioni si intendono limitazioni di licenza e di utilizzo..essendo dei driver proprietari. Dal momento che la situazione e' abbastanza ambigua,la Canonical ha deciso di NON includere questi driver nella distribuzione.Tuttavia,cercando di venire incontro alle esigenze degli utenti e visto che i driver ATI-FGLRX sono liberamente scaricabili dal sito Ufficiale,lo Staff di Ubuntu ha deciso di fornire questi driver tramite dei repository particolari,chiamati appunto "restricted".
2- Restricted-Manager
E' il tool che tutti quanti troviamo installato su Ubuntu Feisty,mentre Kubuntu e le altre distribuzioni firmate Canonical lo devono scaricare con:
Codice: Seleziona tutto
sudo apt-get install restricted-manager
Questo tool non serve solo per installare i driver ATI ma altri driver presenti nei repository restricted..ed e' completamente inutilizzabile se utilizziamo un Kernel diverso da quello dei repository.
3- Module-assistant
Module-assistant e' un programma con grafica ncurses che guida l'utente nella scelta e nell'installazione dei driver proprietari o con particolari licenze,incluse nei repository.
Il fine e' lo stesso del restricted-manager ed e' installabile con:

Codice: Seleziona tutto
sudo apt-get install module-assistant4- Moduli Kernel e Driver
Solitamente intendiamo per modulo,una specie di "driver" che pero' puo' essere caricato nel Kernel.
Ecco perche' di solito troviamo in Synaptic o Adept,tanti pacchetti per lo stesso driver,di cui uno quasi sempre nomepacchetto-kernel.
Quest'ultimo sara' il famoso "modulo" che andremo ad inserire tramite il comando modprobe (o insmod se nella stessa directory)
Nelle guide,tutto questo si traduce in:
Codice: Seleziona tutto
sudo modprobe fglrxPrendiamo per esempio i driver opensources RADEON.
Il modulo vero e proprio si chiama radeon:
Codice: Seleziona tutto
sudo modprobe radeonxserver-xorg-video-ati
che sono i meta-drivers necessari al caricamento corretto del modulo "radeon" gia' incluso nel kernel.
Funzionamento:
Come gia' sappiamo,andiamo a scaricare i driver ATI da:
http://ati.amd.com/support/drivers/linu ... adeon.html
ATTENZIONE: Ecco il necessario per pacchettizzare lo script:
Codice: Seleziona tutto
sudo apt-get install fakeroot dh-make debconf debhelper libstdc++5 linux-headers-$(uname -r)Posizionati i driver nella home o in qualsiasi altra directory,e' sufficiente aprire un terminale e digitare (prendo 2 esempi su tutti..perche' ci sono diversi modi):
Codice: Seleziona tutto
sudo sh ./ati-driver-installer-8.37.6-x86.x86_64.run --buildpkg Ubuntu/feistyCodice: Seleziona tutto
bash ./ati-driver-installer-8.37.6-x86.x86_64.run --buildpkg Ubuntu/feistyLo script e' strutturato in maniera da generare i seguenti pacchetti..guardiamoli senza paura:

- Fglrx-amdcccle
Questo e' il centro di controllo Catalyst,introdotto nelle versioni piu' recenti insostituzione al vecchio fglrx-control
- Xorg-driver-fglrx
Sono come nell'esempio dei RADEON...solo che qui il pacchetto lo ricaviamo in questa maniera..non lo troviamo in Synaptic/Adept.
- Xorg-driver-fglrx-dev
In realta' questo pacchetto non servirebbe. E' la versione che fornisce il toolkit per altre applicazioni,come tutte le versioni -DEV
- Fglrx-kernel-source
Questo e' il piu' importante. E' il modulo del Kernel che va caricato con modprobe..e il pacchetto che installiamo estrae in
/usr/src
I sorgenti speciali per Debian in formato tar.bz2
/usr/src/fglrx.tar.bz2
Una volta installati tutti questi pacchetti con:
Codice: Seleziona tutto
sudo dpkg -i *.debAprendo Synaptic/Adept dovremmo trovare:

Ovviamente al posto di
fglrx-kernel-2.6.21
Troveremo il modulo pacchettizzato per la nostra versione del Kernel
Ma attenzione..come potete notare non esiste ancora,perche' questo fa parte della scena finale,tragica a volte,di questa commedia...
Prima non a caso avevo accennato alla directory /usr/src
Proviamo ad entrarci adesso..noteremo la presenza del pacchetto compresso
fglrx.tar.bz2
Li dentro ci sono i sorgenti preparati per la pacchettizzazione,quindi e' tecnicamente sbagliato estrarre la directory "module" ..entrare all'interno..e compilare il modulo nella maniera classica con make && make install.Dobbiamo utilizzare module-assistant.
Non importa in che directory ci troviamo a lanciare module-assistant..l'importante e' che l'archivio fglrx.tar.bz2 si trovi in /usr/src.
Codice: Seleziona tutto
sudo module-assistant updateCodice: Seleziona tutto
sudo module-assistant preparesudo module-assistant install fglrx #qui invece installa il pacchetto appena creato
sudo depmod -ae #importantissimo per ricreare la lista moduli
sudo modprobe fglrx # carica il modulo nel kernel
Se tutto e' andato per il verso giusto il modulo e' stato finalmente caricato,e lo possiamo interrogare dalla lista-moduli(dopo un riavvio del server X) con
Codice: Seleziona tutto
lsmod | grep fglrxdyve@a6j:/usr/src$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1600
OpenGL version string: 2.0.6473 (8.37.6)
PROBLEMATICHE
I problemi che possono ostacolare questo processo sono diversi e vanno divisi in tre grandi categorie:
1- Problemi legati a X.org e al suo file di configurazione
2- Problemi legati a disattenzione
3- Problemi legati ad effetti grafici o composite manager
X.org
Nella recente versione di X.org7.2 ci sono 2 estensioni attive di default:
- AIGLX
- Composite
Con i driver fglrx e' OBBLIGATORIO disattivare questa funzione non supportata inserendo in /etc/X11/xorg.conf:
Section “Extensions”
Option “Composite” “Disable″
EndSection
Per alcune schede questo funziona con:
Section “Extensions”
Option “Composite” “0″
EndSection
La disattivazione del modulo AIGLX in alcuni casi puo' essere risolutiva. Premetto che con la mia personale ATI X1600 e' del tutto indifferente:
Sezione "server layout"
Option “AIGLX” “Disable”
Oppure possiamo aggiungere di seguito al Composite:
Section "ServerFlags"
Option "AIGLX" "off"
EndSection
Assicuriamoci sempre di trovare nella sezione "Device"
Section "Device"
Identifier “Scheda video generica”
Driver “fglrx”
BusID “PCI:1:0:0″
i driver corretti e il BusID corretto..molti problemi derivano spesso da questa errata configurazione
Esistono dei comandi per fare tutto questo,non serve aprire un editor di testo da root e modificare a mano il file xorg.conf
Sono i comandi aticonfig su cui personalmente non ho nulla da dire. Li evito,e comunque do per scontato che chi legge questo howto li abbia gia' utilizzati.
In una situazione di diagnostica e' meglio tenere sotto controllo tutto quanto a mano.
Il nostro file xorg.conf e' quasi sistemato..purtroppo con alcune schede vanno aggiunte altre opzioni (a seconda del problema)
Un altro metodo molto utilizzato,per evitare che eventuali driver di versioni indesiderate interferiscano col nostro fragilissimo modulo,e' quello di mettere in blacklist (blacklist dei driver restricted) fglrx:
Codice: Seleziona tutto
sudo nano /etc/default/linux-restricted-modules-commonDISABLED_MODULES=”fglrx”
Disabilitare il modulo si rende necessario per evitare problemi con la directory "volatile", che solo UBuntu ha..e che contiene i moduli "restricted"
Molte guide riportano giustamente di rimuovere questo pacchetto, in quanto stiamo utilizzando driver che non si trovano nei repository.
Ma e' un errore..attenzione a quando leggiamo cose del tipo:
Codice: Seleziona tutto
sudo apt-get remove linux-restricted-modules linux-restricted-modules-common linux-restricted-modules-$(uname -r)Se rimuoviamo quei pacchetti non saremo piu' in grado (se non con degli interventi manuali) di caricare il modulo fglrx:
Codice: Seleziona tutto
$ sudo modprobe fglrx
install /sbin/lrm-video fglrx
sh: /sbin/lrm-video: not found
FATAL: Error running install command for fglrxAttenzione alle versioni. Nella guida ho messo diversi esempi di versioni differenti ma questo non dovrebbe confondere..bisogna ricordarsi che i pacchetti DEVONO avere lo stesso numero di versione-driver (es. 8.37....8.36) e MAI di versioni differenti
Un errore molto comune deriva proprio dai pacchetti..perche'?...perche' il modulo impacchettato fglrx-kernel-source di trova anche nei repository,ed e' la versione in sorgente dei driver che installa RESTRICTED-MANAGER.
Se avete accavallato troppe guide,puo' essere che l'archivio fglrx.tar.bz2 derivi da fglrx-kernel-source dei repository ..mentre tutti gli altri pacchetti derivano dall'installazione di
ati-driver-installer-8.37.6-x86.x86_64.run
In sostanza avete i pacchetti in versione 8.37 e magari il modulo fglrx in versione 8.34 (quella dei repo) ed e' anche per questo che i driver dei repository e' meglio metterli in blacklist
Accade anche che manchino i pacchetti:
libgl1-mesa-glx
libgl1-mesa-dri
Indispensabili per GLX e il DRI
I driver RADEON opensources e' meglio disabilitarli,se non li usiamo..quindi sarebbe opportuno aggiungere "radeon" alla blacklist precedente.
In alcuni casi e' necessario questo workaround:
Codice: Seleziona tutto
sudo mkdir /lib/modules/$(uname -r)/volatileCodice: Seleziona tutto
sudo ln -s /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname -r)/volatile/fglrx.koCodice: Seleziona tutto
sudo aticonfig --initialCodice: Seleziona tutto
[code]sudo aticonfig --overlay-type=Xv=======================================
Metodi ENVY + RESTRICTED-MANAGER + REPOSITORY
=======================================
I metodi consigliati ai nuovi utenti Ubuntu sono tre
- Envy
- Restricted-manager
- Repository
Per poter utilizzare Envy:
- Envy - Alberto Milone
Per utilizzare il restricted-manager
- WIki Ubuntu
Tutto il necessario per le operazioni base di installazione:
Codice: Seleziona tutto
sudo apt-get install build-essential linux-headers-$(uname -r) xserver-xorg-devCodice: Seleziona tutto
sudo apt-get install linux-restricted-modules-$(uname -r)Codice: Seleziona tutto
sudo apt-get install xorg-driver-fglrxCodice: Seleziona tutto
sudo depmod -aCodice: Seleziona tutto
sudo aticonfig --initialCodice: Seleziona tutto
sudo aticonfig --overlay-type=Xv- Disinstallare driver fglrx