AGGIORNAMENTO 27-12-07 NUOVO METODO INSTALLAZIONE DRIVER ATI:
http://divilinux.netsons.org/index.php/2007/12/27/installazione-driver-ati-712-kubuntu-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 DRIVERPer 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-ManagerE' il tool che tutti quanti troviamo installato su Ubuntu Feisty,mentre Kubuntu e le altre distribuzioni firmate Canonical lo devono scaricare con:
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-assistantModule-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:

sudo apt-get install module-assistant
In molte guide trovate spesso come utilizzarlo per pacchettizzare ed installare il modulo del kernel
4-
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:
sudo modprobe fglrx
So che molti di noi ci sono passati quasi sempre col copia/incolla. Ora sappiamo anche il significato di questo comando.
Prendiamo per esempio i driver opensources
RADEON.
Il modulo vero e proprio si chiama radeon:
sudo modprobe radeon
Mentre in Synaptic/Adept troviamo:
xserver-xorg-video-atiche 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/linux/linux-radeon.htmlATTENZIONE: Ecco il necessario per pacchettizzare lo script:
sudo apt-get install fakeroot dh-make debconf debhelper libstdc++5 linux-headers-$(uname -r)
Qua sorgono gia' i primi dubbi sul modello,ma possiamo scegliere qualsiasi opzione perche' i driver sono sempre gli stessi
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):
sudo sh ./ati-driver-installer-8.37.6-x86.x86_64.run --buildpkg Ubuntu/feisty
oppure
bash ./ati-driver-installer-8.37.6-x86.x86_64.run --buildpkg Ubuntu/feisty
Questo comando cosa fa?...
Lo script e' strutturato in maniera da generare i seguenti pacchetti..guardiamoli senza paura:

-
Fglrx-amdcccleQuesto e' il centro di controllo Catalyst,introdotto nelle versioni piu' recenti insostituzione al vecchio fglrx-control
-
Xorg-driver-fglrxSono come nell'esempio dei RADEON...solo che qui il pacchetto lo ricaviamo in questa maniera..non lo troviamo in Synaptic/Adept.
-
Xorg-driver-fglrx-devIn realta' questo pacchetto non servirebbe. E' la versione che fornisce il toolkit per altre applicazioni,come tutte le versioni -DEV
-
Fglrx-kernel-sourceQuesto e' il piu' importante. E' il modulo del Kernel che va caricato con modprobe..e il pacchetto che installiamo estrae in
/usr/srcI sorgenti speciali per Debian in formato
tar.bz2
/usr/src/fglrx.tar.bz2Una volta installati tutti questi pacchetti con:
sudo dpkg -i *.deb
assicurandoci che non ci siano altri pacchetti estranei a quelli generati,all'interno della directory
Aprendo Synaptic/Adept dovremmo trovare:

Ovviamente al posto di
fglrx-kernel-2.6.21Troveremo 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/srcProviamo ad entrarci adesso..noteremo la presenza del pacchetto compresso
fglrx.tar.bz2Li 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.
sudo module-assistant update
sudo module-assistant prepare
sudo module-assistant build fglrx #qui il programma pacchettizza i driver
sudo 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
lsmod | grep fglrx
Il comando
fglrxinfo:
dyve@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)
PROBLEMATICHEI 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.orgNella recente versione di X.org7.2 ci sono 2 estensioni attive di default:
-
AIGLX-
CompositeCon 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:
sudo nano /etc/default/linux-restricted-modules-common
Aggiungiamo:
DISABLED_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:
sudo apt-get remove linux-restricted-modules linux-restricted-modules-common linux-restricted-modules-$(uname -r)
NB: I
linux-restricted-modules-common installano un tool che si chiama
lrm-video, e serve a
modprobe per caricare i moduli
Se rimuoviamo quei pacchetti non saremo piu' in grado (se non con degli interventi manuali) di caricare il modulo fglrx:
$ sudo modprobe fglrx
install /sbin/lrm-video fglrx
sh: /sbin/lrm-video: not found
FATAL: Error running install command for fglrx
Attenzione 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.runIn 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-driIndispensabili 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:
sudo mkdir /lib/modules/$(uname -r)/volatile
sudo ln -s /lib/modules/$(uname -r)/misc/fglrx.ko /lib/modules/$(uname -r)/volatile/fglrx.ko
I famosi comandi aticonfig (se avete gia' uno xorg.conf FUNZIONANTE lasciateli perdere!)
sudo aticonfig --initial
[code]sudo aticonfig --overlay-type=Xv
[/code]
=======================================
Metodi ENVY + RESTRICTED-MANAGER + REPOSITORY=======================================
I metodi consigliati ai nuovi utenti Ubuntu sono tre
- Envy
- Restricted-manager
- Repository
Per poter utilizzare
Envy:
-
Envy - Alberto MilonePer utilizzare il
restricted-manager-
WIki UbuntuTutto il necessario per le operazioni base di installazione:
sudo apt-get install build-essential linux-headers-$(uname -r) xserver-xorg-dev
Il metodo per installare i driver dai repository,in conclusione,e' il seguente:
sudo apt-get install linux-restricted-modules-$(uname -r)
sudo apt-get install xorg-driver-fglrx
sudo depmod -a
Se non abbiamo precedentemente toccato /etc/X11/xorg.conf:
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv
Tra un metodo e un altro,conviene prima eliminare tutto quanto per poter ripartire da un installazione "pulita"
-
Disinstallare driver fglrx