Continua la lenta evoluzione dei driver ATI per Linux, con la versione 8.01, pubblicata lo scorso 17 gennaio. Come nel caso precedente non può mancare un link al forum di Phoronix, in cui vengono evidenziati alcuni dei problemi che non sono ancora stati risolti. Secondo le note di rilascio di ATI il nuovo driver ora dovrebbe riconoscere le mode lines del file di configurazione di Xorg (xorg.conf), problema che personalmente non ho avuto modo di riscontrare. In compenso resta il fastidioso difetto dello screensaver di Gnome, che provoca un lampeggiamento dello schermo invece della consueta dissolvenza.
[per continuare a leggere clicca sul titolo dell'articolo]
Anche lo scrolling di Firefox continua a essere rallentato quando gli effetti sono attivati, ma alcune migliorie sono evidenti nella gestione del 3D, ed è facile notarlo provando gli screensaver OpenGL di Ubuntu che ora risultano tutti funzionanti. Ho aggiornato il tutorial della versione 7.12 alla 8.01, seguendo i passi indicati anche da http://wiki.cchtml.com/index.php/Ubuntu_Gutsy_Installation_Guide dove è possibile trovare indicazioni aggiuntive per casi particolari. Il tutorial si riferisce all'installazione dei nuovi driver ATI su Ubuntu 7.10 Gutsy Gibbon, ma all'indirizzo https://help.ubuntu.com/community/Repositories/Ubuntu è possibile trovare un tutorial dettagliato anche per le versioni precedenti.
1. Preparare il sistema
L'ultima versione di Ubuntu facilita il processo di installazione perché non abbiamo bisogno di aggiungere i repository Universe e Multiverse, già abilitati di default. Ci sono comunque alcune dipendenze che è necessario soddisfare prima di iniziare l'installazione. Per chi ha già installato la versione 7.12 del driver di ATI non è necessario, ma per tutti gli altri basta lanciare questi comandi per ottenere dalla rete tutto quello che serve:
sudo apt-get update
sudo apt-get install module-assistant build-essential fakeroot dh-make debhelper \
debconf libstdc++5 linux-headers-generic dkms

Quindi apriamo Sistema > Amministrazione > Gestore pacchetti Synaptic e clicchiamo su Cerca. Nella casella di ricerca inseriamo fglrx e attendiamo che il sistema completi la ricerca. È necessario disinstallare solo i pacchetti che contengono nel nome (è quello nella colonna Pacchetto) la sigla fglrx, cliccando con il tasto destro su ogni voce e infine su Applica.

Per sicurezza inviamo anche questo comando:
sudo rm /usr/lib/libGL.so*
Ora siamo pronti per creare i pacchetti deb di installazione a partire dal file scaricato dal sito di AMD (qui il collegamento diretto). Il comando da lanciare nella stessa directory in cui abbiamo scaricato il file è:
sudo bash ati-driver-installer-8-01-x86.x86_64.run --buildpkg Ubuntu/gutsy

Se qualcosa va storto e state usando il file da una directory remota, provate a copiarlo sul desktop e ripetere l'operazione. Se invece state utilizzando un sistema amd64/x86_64 provate a seguire i passi indicati qui prima di proseguire.
2. Eliminare i driver precedenti
Per evitare che il kernel carichi le vecchie versioni del driver dobbiamo modificare il file linux-restricted-modules-common e aggiungere fglrx alla linea “DISABLED_MODULES”. Per farlo possiamo utilizzare gedit o un altro editor di testo:
gksu gedit /etc/default/linux-restricted-modules-common
Ecco il risultato finale nel mio caso:

Non dimentichiamo di cliccare su Salva. Sempre per precauzione rimuoviamo i pacchetti di installazione precedenti con:
sudo rm /usr/src/fglrx-kernel*.deb
3. Installare i driver
Installiamo il driver con il comando:
sudo dpkg -i xorg-driver-fglrx_8.452.1-1*.deb fglrx-kernel-source_8.452.1-1*.deb fglrx-amdcccle_8.452.1-1*.deb

rispondendo sempre Y (per Yes) quando l'installer chiede conferma. Alla fine inviamo il comando:
sudo apt-get install -f
Durante l'installazione viene compilato il modulo del kernel che contiene il driver e quindi in caso il kernel venga aggiornato sarà necessario ripeterla, per fare in modo che il driver sia sempre disponibile.
Se durante l'installazione si verifica un errore che riguarda libGL.so.1 è possibile che ci sia un errore nei permessi del file, correggibile con il comando:
sudo chmod o+r /usr/lib/libGL.so.1.2Se il problema si ripresenta in seguito, per esempio testando il nuovo driver, è possibile inviare un ulteriore comando:
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1L'errore non impedisce l'installazione ed è possibile provare a correggerlo anche in seguito. Per ulteriori informazioni v.qui.
Prima di procedere con i passi successivi è necessario riavviare il sistema.
4. Configurazione
Dopo aver installato il driver dobbiamo fare in modo che Xorg lo utilizzi e il modo più veloce per farlo è modificare direttamente il file xorg.conf. Per evitare problemi la cosa migliore è fare una copia di backup con il comando:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.bakA questo punto possiamo modificare il file con gedit o con qualsiasi altro editor di testo.
sudo gedit /etc/X11/xorg.confLa sezione Device da modificare è quella che contiene la stringa “ati” che deve essere sostituita con “fglrx” come indicato nella foto.

Nella stessa sezione è anche consigliabile aggiungere le seguenti opzioni per ottimizzare le prestazioni:
Option "VideoOverlay" "on"Quindi riavviamo il sistema e in seguito selezioniamo Sistema > Amministrazione > Gestore driver con restrizioni e attiviamo il driver ATI restricted.
Option "OpenGLOverlay" "off"

Per abilitare anche gli effetti 3D dobbiamo modificare nuovamente il file xorg.conf commentando l'ultima parte appena aggiunta dal gestore dei driver con restrizioni, come indicato nell'immagine che segue.

A questo punto, dopo aver riavviato il sistema, possiamo controllare il risultato aprendo il terminale e, digitando il comando fglrxinfo. Bisogna verificare che nella riga OpenGL vendor string sia presente la sigla ATI e non Mesa.

L'immagine si riferisce alla versione 7.12, la release nel caso della versione 8.01 è la 2.1.7276.
Per testare la velocità del nuovo driver possiamo anche utilizzare il comando fgl_glxgears. In caso di problemi la cosa migliore è tornare alla console di testo premendo i tasti CTRL+ALT+F1 , effettuare il login e ripristinare il vecchio xorg.conf precedentemente salvato come backup, con il comando:
sudo mv /etc/X11/xorg.bak /etc/X11/xorg.conf
5. Attivare Compiz
Gli effetti di Compiz possono essere abilitati e disabilitati direttamente dalla finestra Sistema > Preferenze > Aspetto. Se gli effetti non vengono abilitati, è necessario modificare il file di configurazione di Compiz con il comando sudo gedit /usr/bin/compiz. Prima di tutto occorre aggiungere fglrx all'elenco WHITELIST, come indicato qui:
# Driver whitelist
WHITELIST="fglrx nvidia intel ati radeon i810"
Quindi controllare che a fianco di BLACKLIST_PCIIDS, fra le virgolette non sia elencato niente, come indicato nell'ultima riga qui sotto:
# blacklist based on the pci ids
# BLACKLIST_PCIIDS="$T"
BLACKLIST_PCIIDS=""
Se gli effetti non funzionano neanche così, nello stesso file modificare le seguenti righe:
In pratica basta eliminare le parole in rosso e aggiungere .real indicato in verde. Per attivare la nuova configurazione basta salvare il file e non è necessario riavviare né Ubuntu, né Xorg.
COMPIZ_BIN_PATH="/usr/local/bin/"
[cambiare con:]
COMPIZ_BIN_PATH="/usr/bin/"
PLUGIN_PATH="/usr/local/lib/compiz/"
[cambiare con:]
PLUGIN_PATH="/usr/lib/compiz/"
COMPIZ_NAME="compiz"
[cambiare con:]
COMPIZ_NAME="compiz.real"
6. Disinstallare il driver
Per ritornare al driver open, o al vecchio driver proprietario cominciamo togliendo il segno di spunta nel Gestore dei driver con restrizioni. In questo modo sarà disintstallato il nuovo driver, ma durante la procedura di rimozione, che è stata progettata per le vecchie versioni del driver, potrebbe verificarsi un errore come questo:

Come suggerito dalla finestra di Synaptic, è sufficiente espandere il pannello terminale sottostante per scoprire quale file ha impedito la rimozione del nuovo driver. Si tratta del file /etc/xdg/compiz/compiz-manager.ubuntu che può essere rimosso con il comando:
sudo rm /etc/xdg/compiz/compiz-manager.ubuntu
Nel caso ci siano altri file che bloccano il Gestore dei driver con restrizioni è necessario rimuoverli manualmente nello stesso modo, spulciando nel pannello del terminale per vedere cosa c'è che non va. Dopo la rimozione del driver bisogna riportare il file xorg.conf allo stato precedente, ripristinando il backup come indicato prima, oppure semplicemente sostituendo fglrx con ati e rimuovendo Option "VideoOverlay" "on" e Option "OpenGLOverlay" "off" nella stessa sezione del file in cui sono stati aggiunti durante l'installazione.
Infine, se avete intenzione di utilizzare il driver open, potrebbe essere necessario reinstallare anche le librerie per il 3D con il comando:
sudo apt-get install --reinstall libgl1-mesa-glxPer controllare se è necessario reinstallare le librerie per il 3D basta digitare il comando glxgears nel terminale. Se tutto è a posto si apre una finestra con i soliti tre ingranaggi colorati che girano.

