Driver AMD proprietari: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
== Introduzione ==
= Introduzione =


Questo how-to spiegherà come installare i driver proprietari forniti da ATI per generare il modulo <tt>fglrx</tt> necessario al funzionamento del motore 3d delle schede grafiche.
Questo how-to spiegherà come installare i driver proprietari forniti da ATI per generare il modulo <code>fglrx</code> necessario al funzionamento del motore 3d delle schede grafiche.


Come è noto i driver ATI soffrono di una difficile installazione e configurazione. Sfortunatamente (o forse no) esistono molteplici configurazioni hardware che ostacolano l'installazione dei driver. Spesso, anche seguendo un guida perfetta, non si riesce ad attivare l'accelerazione 3D al primo colpo (molto raramente si hanno anche problemi di visualizzazione nel desktop). Solamente con i successivi tentativi (variando anche il metodo, o la guida) solitamente si raggiunge lo scopo prefisso. Il modesto consiglio è di non disperarsi, magari tirare cazzotti pesanti al case, ma provare finchè non si riesce.
Come è noto i driver ATI soffrono di una difficile installazione e configurazione. Sfortunatamente (o forse no) esistono molteplici configurazioni hardware che ostacolano l'installazione dei driver. Spesso, anche seguendo un guida perfetta, non si riesce ad attivare l'accelerazione 3D al primo colpo (molto raramente si hanno anche problemi di visualizzazione nel desktop). Solamente con i successivi tentativi (variando anche il metodo, o la guida) solitamente si raggiunge lo scopo prefisso. Il modesto consiglio è di non disperarsi, magari tirare cazzotti pesanti al case, ma provare finché non si riesce.


== Software richiesto ==
= Software richiesto =


Sebbene i pacchetti per la generazione del modulo <tt>fglrx</tt> siano disponibili nel repository di Debian, il consiglio è quello di utilizzare l'installer fornito da ATI in quanto più aggiornato.
Sebbene i pacchetti per la generazione del modulo <code>fglrx</code> siano disponibili nel repository di Debian, il consiglio è quello di utilizzare l'installer fornito da ATI in quanto più aggiornato.
Nel caso in cui si voglia compilare il modulo (operazione necessaria sia con module-assistant che utilizzando l'installer), sarà necessario disporre dei sorgenti del kernel compilati o degli header del kernel installato.
Nel caso in cui si voglia compilare il modulo (operazione necessaria sia con module-assistant che utilizzando l'installer), sarà necessario disporre dei sorgenti del kernel compilati o degli header del kernel installato.
Se sulla nostra macchina gira un kernel precompilato debian dobbiamo installare gli headers esattamente corrispondenti alla versione che gira (per la quale compileremo il modulo). Per far ciò diamo in un terminale
Se sulla nostra macchina gira un kernel precompilato Debian, dobbiamo installare gli headers esattamente corrispondenti alla versione che gira (per la quale compileremo il modulo). Per far ciò diamo in un terminale:
<pre>uname -r</pre>che restituirà solo la versione. Siamo ora pronti a installare i giusti headers<pre>aptitude install linux-headers-<risultato del comando precedente></pre>
<pre>$ uname -r</pre>che restituirà solo la versione. Siamo ora pronti a installare i giusti headers:<pre># aptitude install linux-headers-<risultato del comando precedente></pre>


I due comandi precedenti possono essere inseriti in un solo comando usanto l'apice ` (da non confondere con ') che si ottiene in alcune mappature con Alt Gr + ': <pre>aptitude install linux-headers-`uname -r`</pre>
I due comandi precedenti possono essere inseriti in un solo comando usando l'apice ` (da non confondere con ') che si ottiene in alcune mappature con Alt Gr + '<pre># aptitude install linux-headers-`uname -r`</pre>


{{ Warningbox | Prima di far partire l'installazione di nuovi driver:
{{ Warningbox | Prima di far partire l'installazione di nuovi driver:


* Salvate una copia di <tt>/etc/X11/xorg.conf</tt> , che in caso di problemi andra' sostituita a quella nuova (creata dal configurer).
* Salvate una copia di <code>/etc/X11/xorg.conf</code> , che in caso di problemi andrà sostituita a quella nuova (creata dal configurer).
* Verificate che non sia presente la cartella <tt>/usr/share/fglrx/</tt>. Se è presente, significa che sono installati dei vecchi driver fglrx. In versioni recenti la cartella è <tt>/usr/share/ati/</tt>. Per rimuoverli:
* Verificate che non sia presente la cartella <code>/usr/share/fglrx/</code>. Se è presente, significa che sono installati dei vecchi driver fglrx. In versioni recenti la cartella è <code>/usr/share/ati/</code>. Per rimuoverli:
<pre># cd /usr/share/fglrx/
<pre># cd /usr/share/fglrx/
# sh ./fglrx-uninstall.sh</pre>
# sh ./fglrx-uninstall.sh</pre>
e seguite le istruzioni.
e seguite le istruzioni.
* Fate un '''<tt>aptitude purge</tt>''' di vecchi pacchetti di vecchi driver, se sono installati. Per esempio (i nomi dei pacchetti potrebbero essere diversi):
* Fate un '''<code>aptitude purge</code>''' di vecchi pacchetti di vecchi driver, se sono installati. Per esempio (i nomi dei pacchetti potrebbero essere diversi):
<pre># aptitude purge fglrx-driver fglrx-kernel-src fglrx-control fglrx-kernel-2.6.17-2-686</pre>
<pre># aptitude purge fglrx-driver fglrx-kernel-src fglrx-control fglrx-kernel-2.6.17-2-686</pre>
}}
}}


== Metodologie di installazione ==
= Metodologie di installazione =


Per quanto riguarda l'intallazione di quelli nuovi, esistono essenzialmente <u>3 metodi alternativi</u>:
Per quanto riguarda l'installazione di quelli nuovi, esistono essenzialmente <u>3 metodi alternativi</u>:
# usare l'eseguibile Ati
# usare l'eseguibile Ati
# creare i pacchetti ''.deb'' partendo dall'eseguibile Ati
# creare i pacchetti ''.deb'' partendo dall'eseguibile Ati
# installare i driver dai repository
# installare i driver dai repository


=== Intallazione attraverso l'installer ATI ===
== Installazione attraverso l'installer ATI ==


Da un terminale spostatevi nella cartella dove avete scaricato il file e date i permessi di esecuzione:
Da un terminale spostatevi nella cartella dove avete scaricato il file e date i permessi di esecuzione:
Riga 38: Riga 38:
<pre># sh ./ati-driver-installer-8.26.18.x86.run</pre>
<pre># sh ./ati-driver-installer-8.26.18.x86.run</pre>
e seguite le istruzioni.
e seguite le istruzioni.
Poi, sempre con i permessi di root, aggiornate il file di configurazione <tt>xorg.conf</tt>:
Poi, sempre con i permessi di root, aggiornate il file di configurazione <code>xorg.conf</code>:
<pre># cd /etc/X11/
<pre># cd /etc/X11/
# aticonfig --initial
# aticonfig --initial
Riga 44: Riga 44:
e se volete settare meglio la configurazione:
e se volete settare meglio la configurazione:
<pre># aticonfig</pre>
<pre># aticonfig</pre>
il quale ci darà un lungo output con la descrizione di tutte le opzioni che possiamo usare con <tt>aticonfig</tt>.
il quale ci darà un lungo output con la descrizione di tutte le opzioni che possiamo usare con <code>aticonfig</code>.


A questo punto non ci resta che compilare il modulo del kernel fglrx. I metodi possono essere 2:
A questo punto non ci resta che compilare il modulo del kernel fglrx. I metodi possono essere 2:


1) Usare module-assistant un pacchetto fornito per compilare moduli contenenti nel kernel-headers
1) Usare module-assistant, un pacchetto fornito per compilare moduli contenenti nel kernel-headers.


2) Compilare a mano il modulo.
2) Compilare a mano il modulo.


Preferendo la seconda via perchè non richiede il pacchetto kernel-header e perchè applicabile a qualsiasi tipo di kernel sia quello distribuito dai debian repository che i kernel vanilla di www.kernel.org il metodo è il seguente:
Preferendo la seconda via perché non richiede il pacchetto kernel-header e perché applicabile a qualsiasi tipo di kernel, sia quello distribuito dai Debian repository che i kernel vanilla di www.kernel.org.<br/>
Il metodo è il seguente:


Spostarci nella directory /lib/modules/fglrx/build_mod da utenti root:
Spostarci nella directory <code>/lib/modules/fglrx/build_mod</code> da utenti root.


In questa directory adesso basta lanciare  
In questa directory adesso basta lanciare  


<pre>./make.sh</pre>
<pre># ./make.sh</pre>


Accertarsi che tutto sia andato a buon fine con una scritta "done" e poi spostarci nella directory precedente a build_mod ovvero /lib/modules/fglrx
Accertarsi che tutto sia andato a buon fine con una scritta "done" e poi spostarci nella directory precedente a ''build_mod'' ovvero <code>/lib/modules/fglrx</code>
A questo punto lanciare il comando  
A questo punto lanciare il comando:


<pre>./make_install.sh </pre>
<pre># ./make_install.sh </pre>


Se tutto è andato a buon fine avete compilato il vostro bel modulo fglrx e per evitare di riavviare il sistema basta semplicemente entrare in linea di comando con CTRL + ALT + F1, effettuare il login come utente root e poi digitare
Se tutto è andato a buon fine avete compilato il vostro bel modulo fglrx e per evitare di riavviare il sistema basta semplicemente entrare in linea di comando con CTRL + ALT + F1, effettuare il login come utente root e poi digitare:


<pre> /etc/init.d/gdm o kdm stop </pre>
<pre># /etc/init.d/gdm restart</pre> oppure <pre># /etc/init.d/kdm restart </pre>


montare il modulo fglrx con  
Montare il modulo fglrx con:


<pre> modprobe fglrx </pre>
<pre># modprobe fglrx </pre>


e riavviare il sistema
e riavviare il sistema


<pre> /etc/init.d/gdm o kdm restart </pre>
<pre># /etc/init.d/gdm restart</pre> oppure <pre># /etc/init.d/kdm restart </pre>


Per controllare che la vostra accelerazione 3D funzioni basta digitare da shell come utente normale
Per controllare che la vostra accelerazione 3D funzioni basta digitare da shell come utente normale:


<pre> fglrxinfo </pre>
<pre>$ fglrxinfo </pre>
Nel mio caso l'output è il seguente:
Nel mio caso l'output è il seguente:


Riga 87: Riga 88:
OpenGL version string: 2.0.6473 (8.37.6)</pre>
OpenGL version string: 2.0.6473 (8.37.6)</pre>


<pre>glxinfo | grep rendering </pre>
<pre>$ glxinfo | grep rendering </pre>


e aspettare che vi dia come output
e aspettare che vi dia come output:


<pre>direct rendering: Yes</pre>
<pre>direct rendering: Yes</pre>


N.B.: Se non avete glxinfo installare il pacchetto mesa-utils
N.B.: Se non avete glxinfo installate il pacchetto mesa-utils.


Questo metodo risulta più semplice ed efficace della pacchettizzazione. Se usate kernel vanilla la procedura è la medesima. Attenzione ad usare i kernel 2.6.20 poichè hanno un bug e quindi viene corretto da una patch al modulo fglrx.Tale patch è possibile trovarla in rete.
Questo metodo risulta più semplice ed efficace della pacchettizzazione. Se usate kernel vanilla la procedura è la medesima. Attenzione ad usare i kernel 2.6.20 poiché hanno un bug e quindi viene corretto da una patch al modulo fglrx. Tale patch è possibile trovarla in rete.


===Installazione manuale con generazione pacchetti specifici per Debian===
==Installazione manuale con generazione pacchetti specifici per Debian==


Con i privilegi di root, rimuoviamo i vecchi pacchetti del modulo <tt>fglrx</tt>, se presenti:
Con i privilegi di root, rimuoviamo i vecchi pacchetti del modulo <code>fglrx</code>, se presenti:
<pre># rm /usr/src/fglrx-kernel*.deb</pre>
<pre># rm /usr/src/fglrx-kernel*.deb</pre>
E' necessario installare i seguenti pacchetti:
È necessario installare i seguenti pacchetti:
<pre># apt-get install module-assistant build-essential fakeroot dh-make debconf libstdc++5 gcc-3.4-base</pre>
<pre># apt-get install module-assistant build-essential fakeroot dh-make debconf libstdc++5 gcc-3.4-base</pre>
Spostiamoci nella cartella dove abbiamo scaricato l'eseguibile Ati e diamogli i permessi di esecuzione:
Spostiamoci nella cartella dove abbiamo scaricato l'eseguibile Ati e diamogli i permessi di esecuzione:
Riga 118: Riga 119:
# dpkg -i fglrx-control_8.26.18-1_i386.deb</pre>
# dpkg -i fglrx-control_8.26.18-1_i386.deb</pre>


====Compilazione del modulo <tt>fglrx</tt>====
===Compilazione del modulo <code>fglrx</code>===


Adesso va compilato il modulo <tt>fglrx</tt>, con <tt>module-assistant</tt> (m-a):
Adesso va compilato il modulo <code>fglrx</code>, con <code>module-assistant</code> (m-a):
<pre># m-a prepare
<pre># m-a prepare
# m-a update
# m-a update
Riga 126: Riga 127:
# m-a install fglrx
# m-a install fglrx
# depmod -a</pre>
# depmod -a</pre>
Quindi muoviamoci in <tt>/etc/X11/</tt>:
Quindi muoviamoci in <code>/etc/X11/</code>:
<pre># cd /etc/X11/</pre>
<pre># cd /etc/X11/</pre>
e aggiorniamo il file di configurazione di X:
e aggiorniamo il file di configurazione di X:
<pre># aticonfig --initial
<pre># aticonfig --initial
# aticonfig --overlay-type=Xv</pre>
# aticonfig --overlay-type=Xv</pre>
Naturalmemte è possibile modificare <tt>etc/X11/xorg.conf</tt> anche a manina (per fare questo consultate...uhm, forse c'è qualche cosa in <tt>man xorg.conf</tt>) oppure consultando e usando <tt>aticonfig</tt>.
Naturalmente è possibile modificare <code>etc/X11/xorg.conf</code> anche a manina (per fare questo consultate...uhm, forse c'è qualche cosa in <code>man xorg.conf</code>) oppure consultando e usando <code>aticonfig</code>.


Riavviamo '''X'''.
Riavviamo '''X'''.


{{ Warningbox | Ad ogni aggiornamento del kernel bisogna ricompilare il modulo <tt>fglrx</tt>. }}
{{ Warningbox | Ad ogni aggiornamento del kernel bisogna ricompilare il modulo <code>fglrx</code>. }}


===Installazione dei driver dai repository===
==Installazione dei driver dai repository==


Innanzi tutto installiamo i pacchetti necessari:
Innanzitutto installiamo i pacchetti necessari:
<pre># apt-get install fglrx-control fglrx-driver fglrx-driver-dev fglrx-kernel-src</pre>
<pre># apt-get install fglrx-control fglrx-driver fglrx-driver-dev fglrx-kernel-src</pre>
Siccome il modulo di cui abbiamo bisogno (<tt>fglrx</tt>) è sotto forma di sorgenti (<tt>fglrx-kernel-src</tt>), lo compiliamo e lo installiamo utilizzando <tt>module-assistant</tt>, come descritto [[#Compilazione del modulo fglrx|qui]].
Siccome il modulo di cui abbiamo bisogno (<code>fglrx</code>) è sotto forma di sorgenti (<code>fglrx-kernel-src</code>), lo compiliamo e lo installiamo utilizzando <code>module-assistant</code>, come descritto [[#Compilazione del modulo fglrx|qui]].


In teoria abbiamo finito, bisogna solamente configurare [[#Struttura del file xorg.conf|<tt>/etc/X11/xorg.conf</tt>]] e riavviare '''X'''.
In teoria abbiamo finito, bisogna solamente configurare [[#Struttura del file xorg.conf|<code>/etc/X11/xorg.conf</code>]] e riavviare '''X'''.


'''Nota:''' Consultate anche il manuale di <tt>fglrx</tt> . ( <tt>man fglrx</tt> ).
'''Nota:''' Consultate anche il manuale di <code>fglrx</code> . ( <code>man fglrx</code> ).


== Struttura del file xorg.conf ==
= Struttura del file xorg.conf =


Un esempio di <tt>/etc/X11/xorg.conf</tt>
Un esempio di <code>/etc/X11/xorg.conf</code>:


<pre>
<pre>
Riga 269: Riga 270:
</pre>
</pre>


== Alcuni Test ==
= Alcuni Test =


Per verificare se abbiamo installato tutto correttamente:
Per verificare se abbiamo installato tutto correttamente:
Riga 282: Riga 283:
Per testare l'accelerazione:
Per testare l'accelerazione:
<pre>$ fgl_glxgears</pre>
<pre>$ fgl_glxgears</pre>
Dovrebbe comparire un cubo rotante con sulle sei faccie degli ingranaggi rotanti e, sul terminale la conta dei frame:
Dovrebbe comparire un cubo rotante con sulle sei facce degli ingranaggi rotanti e, sul terminale, la conta dei frame:
<pre>Using GLX_SGIX_pbuffer
<pre>Using GLX_SGIX_pbuffer
1610 frames in 5.0 seconds = 322.000 FPS
1610 frames in 5.0 seconds = 322.000 FPS
Riga 297: Riga 298:
14196 frames in 5.0 seconds = 2839.177 FPS</pre>
14196 frames in 5.0 seconds = 2839.177 FPS</pre>


==File di log==
=File di log=


l file di log principale è '''<tt>/var/log/Xorg.0.log</tt>''' e seguenti. Da spulciare, analizare, bruciare, supplicare. Insomma qui c'è di tutto di più. Ma a volte si può anche non trovare nulla di anomalo e magari <tt>fgl_glxgears</tt> non funziona lo stesso. 8°(  
l file di log principale è '''<code>/var/log/Xorg.0.log</code>''' e seguenti. Da spulciare, analizzare, bruciare, supplicare. Insomma qui c'è di tutto di più. Ma a volte si può anche non trovare nulla di anomalo e magari <code>fgl_glxgears</code> non funziona lo stesso. 8°(  


Se abbiamo installato i driver con l'installer Ati, esiste anche questo piccolo log:  <tt>/usr/share/fglrx/fglrx-install.log</tt>
Se abbiamo installato i driver con l'installer Ati, esiste anche questo piccolo log:  <code>/usr/share/fglrx/fglrx-install.log</code>


== Tips and Tricks ==
= Tips and Tricks =


* Una cosa importante, ma che resta comunque strana, è scrivere, in <tt>/etc/X11/xorg.conf</tt>, i moduli <tt>dri</tt>, <tt>glx</tt> e <tt>GLcore</tt>, in questo ordine. Se ad esempio si mette <tt>GLcore</tt> per primo, l'accelerazione non andrà e il log <tt>/var/log/Xorg.0.log</tt> riporterà una serie di errori, tra cui warning sulla libreria <tt>/usr/lib/xorg/modules/extensions/libGLcore.so</tt> e  un errore verso la fine, tristemente incorniciato. Questo errore non so se sia circoscritto alla mia configurazione o se sia un cosa generale. L'unica cosa è fare un po' di test.  
* Una cosa importante, ma che resta comunque strana, è scrivere, in <code>/etc/X11/xorg.conf</code>, i moduli <code>dri</code>, <code>glx</code> e <code>GLcore</code>, in questo ordine. Se ad esempio si mette <code>GLcore</code> per primo, l'accelerazione non andrà e il log <code>/var/log/Xorg.0.log</code> riporterà una serie di errori, tra cui warning sulla libreria <code>/usr/lib/xorg/modules/extensions/libGLcore.so</code> e  un errore verso la fine, tristemente incorniciato. Questo errore non so se sia circoscritto alla mia configurazione o se sia un cosa generale. L'unica cosa è fare un po' di test.  
* A volte si ottengono risultati migliori installando i driver con '''X non avviato'''.  
* A volte si ottengono risultati migliori installando i driver con '''X non avviato'''.  
* Se i driver sono molto recenti il modulo <tt>GLcore</tt> non bisognerebbe inserirlo in <tt>/etc/X11/xorg.conf</tt> : viene caricato automaticamente.
* Se i driver sono molto recenti il modulo <code>GLcore</code> non bisognerebbe inserirlo in <code>/etc/X11/xorg.conf</code> : viene caricato automaticamente.
* Aggiornando le librerie Mesa (<tt>libgl1-mesa-dri</tt> oppure <tt>libgl1-mesa-glx</tt> ad esempio), ahimè, può capitare che l'accelerazione sparisca all'improvviso. L'unica cosa da fare probabilmente è disinstallare i driver e installarli di nuovo.  
* Aggiornando le librerie Mesa (<code>libgl1-mesa-dri</code> oppure <code>libgl1-mesa-glx</code> ad esempio), ahimè, può capitare che l'accelerazione sparisca all'improvviso. L'unica cosa da fare probabilmente è disinstallare i driver e installarli di nuovo.  
* Per quanto riguarda le trasparenze di KDE, credo non siano supportate a livello hardware. Io non sono riuscito ad attivarle, infatti se aggiungo a <tt>/etc/X11/xorg.conf</tt> la sezione:
* Per quanto riguarda le trasparenze di KDE, credo non siano supportate a livello hardware. Io non sono riuscito ad attivarle, infatti se aggiungo a <code>/etc/X11/xorg.conf</code> la sezione:
<pre>Section "Extensions"
<pre>Section "Extensions"
Option "Composite" "Enable"
Option "Composite" "Enable"
Riga 321: Riga 322:
Ampliato da: [[Utente:Superflieriam|Superflieriam]]
Ampliato da: [[Utente:Superflieriam|Superflieriam]]


Alcune correzioi da: [[Utente:ENtRoPiA|ENtRoPiA]] 11:31, 9 July 2007
Alcune correzioni da: [[Utente:ENtRoPiA|ENtRoPiA]] 11:31, 9 July 2007


[[Categoria:Hardware]]
[[Categoria:Hardware]]
[[Categoria:Desktop]]
[[Categoria:Desktop]]
[[Categoria:Kernel]]
[[Categoria:Kernel]]

Versione delle 18:29, 13 gen 2010

Introduzione

Questo how-to spiegherà come installare i driver proprietari forniti da ATI per generare il modulo fglrx necessario al funzionamento del motore 3d delle schede grafiche.

Come è noto i driver ATI soffrono di una difficile installazione e configurazione. Sfortunatamente (o forse no) esistono molteplici configurazioni hardware che ostacolano l'installazione dei driver. Spesso, anche seguendo un guida perfetta, non si riesce ad attivare l'accelerazione 3D al primo colpo (molto raramente si hanno anche problemi di visualizzazione nel desktop). Solamente con i successivi tentativi (variando anche il metodo, o la guida) solitamente si raggiunge lo scopo prefisso. Il modesto consiglio è di non disperarsi, magari tirare cazzotti pesanti al case, ma provare finché non si riesce.

Software richiesto

Sebbene i pacchetti per la generazione del modulo fglrx siano disponibili nel repository di Debian, il consiglio è quello di utilizzare l'installer fornito da ATI in quanto più aggiornato. Nel caso in cui si voglia compilare il modulo (operazione necessaria sia con module-assistant che utilizzando l'installer), sarà necessario disporre dei sorgenti del kernel compilati o degli header del kernel installato. Se sulla nostra macchina gira un kernel precompilato Debian, dobbiamo installare gli headers esattamente corrispondenti alla versione che gira (per la quale compileremo il modulo). Per far ciò diamo in un terminale:

$ uname -r

che restituirà solo la versione. Siamo ora pronti a installare i giusti headers:

# aptitude install linux-headers-<risultato del comando precedente>

I due comandi precedenti possono essere inseriti in un solo comando usando l'apice ` (da non confondere con ') che si ottiene in alcune mappature con Alt Gr + '

# aptitude install linux-headers-`uname -r`
Warning.png ATTENZIONE
Prima di far partire l'installazione di nuovi driver:
  • Salvate una copia di /etc/X11/xorg.conf , che in caso di problemi andrà sostituita a quella nuova (creata dal configurer).
  • Verificate che non sia presente la cartella /usr/share/fglrx/. Se è presente, significa che sono installati dei vecchi driver fglrx. In versioni recenti la cartella è /usr/share/ati/. Per rimuoverli:
# cd /usr/share/fglrx/
# sh ./fglrx-uninstall.sh

e seguite le istruzioni.

  • Fate un aptitude purge di vecchi pacchetti di vecchi driver, se sono installati. Per esempio (i nomi dei pacchetti potrebbero essere diversi):
# aptitude purge fglrx-driver fglrx-kernel-src fglrx-control fglrx-kernel-2.6.17-2-686


Metodologie di installazione

Per quanto riguarda l'installazione di quelli nuovi, esistono essenzialmente 3 metodi alternativi:

  1. usare l'eseguibile Ati
  2. creare i pacchetti .deb partendo dall'eseguibile Ati
  3. installare i driver dai repository

Installazione attraverso l'installer ATI

Da un terminale spostatevi nella cartella dove avete scaricato il file e date i permessi di esecuzione:

$ chmod +x ati-driver-installer-8.26.18-x86.run

quindi, da root:

# sh ./ati-driver-installer-8.26.18.x86.run

e seguite le istruzioni. Poi, sempre con i permessi di root, aggiornate il file di configurazione xorg.conf:

# cd /etc/X11/
# aticonfig --initial
# aticonfig --overlay-type=Xv

e se volete settare meglio la configurazione:

# aticonfig

il quale ci darà un lungo output con la descrizione di tutte le opzioni che possiamo usare con aticonfig.

A questo punto non ci resta che compilare il modulo del kernel fglrx. I metodi possono essere 2:

1) Usare module-assistant, un pacchetto fornito per compilare moduli contenenti nel kernel-headers.

2) Compilare a mano il modulo.

Preferendo la seconda via perché non richiede il pacchetto kernel-header e perché applicabile a qualsiasi tipo di kernel, sia quello distribuito dai Debian repository che i kernel vanilla di www.kernel.org.
Il metodo è il seguente:

Spostarci nella directory /lib/modules/fglrx/build_mod da utenti root.

In questa directory adesso basta lanciare

# ./make.sh

Accertarsi che tutto sia andato a buon fine con una scritta "done" e poi spostarci nella directory precedente a build_mod ovvero /lib/modules/fglrx A questo punto lanciare il comando:

# ./make_install.sh 

Se tutto è andato a buon fine avete compilato il vostro bel modulo fglrx e per evitare di riavviare il sistema basta semplicemente entrare in linea di comando con CTRL + ALT + F1, effettuare il login come utente root e poi digitare:

# /etc/init.d/gdm restart

oppure

# /etc/init.d/kdm restart 

Montare il modulo fglrx con:

# modprobe fglrx 

e riavviare il sistema

# /etc/init.d/gdm restart

oppure

# /etc/init.d/kdm restart 

Per controllare che la vostra accelerazione 3D funzioni basta digitare da shell come utente normale:

$ fglrxinfo 

Nel mio caso l'output è il seguente:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon Xpress Series
OpenGL version string: 2.0.6473 (8.37.6)
$ glxinfo | grep rendering 

e aspettare che vi dia come output:

direct rendering: Yes

N.B.: Se non avete glxinfo installate il pacchetto mesa-utils.

Questo metodo risulta più semplice ed efficace della pacchettizzazione. Se usate kernel vanilla la procedura è la medesima. Attenzione ad usare i kernel 2.6.20 poiché hanno un bug e quindi viene corretto da una patch al modulo fglrx. Tale patch è possibile trovarla in rete.

Installazione manuale con generazione pacchetti specifici per Debian

Con i privilegi di root, rimuoviamo i vecchi pacchetti del modulo fglrx, se presenti:

# rm /usr/src/fglrx-kernel*.deb

È necessario installare i seguenti pacchetti:

# apt-get install module-assistant build-essential fakeroot dh-make debconf libstdc++5 gcc-3.4-base

Spostiamoci nella cartella dove abbiamo scaricato l'eseguibile Ati e diamogli i permessi di esecuzione:

$ chmod +x ati-driver-installer-8.26.18-x86.run

Poi, per creare i 5 pacchetti .deb:

$ sh ./ati-driver-installer-8.26.18-x86.run --buildpkg Debian/[release]

Per avere una lista di tutte le release supportate:

$ sh ./ati-driver-installer-8.26.16-x86.run --listpkg

Ad esempio:

$ sh ./ati-driver-installer-8.26.18-x86.run --buildpkg Debian/testing

Per installarli (installiamo solo quelli fondamentali):

$ su
Password:
# dpkg -i fglrx-driver_8.26.18-1_i386.deb
# dpkg -i fglrx-kernel-src_8.26.18-1_i386.deb
# dpkg -i fglrx-control_8.26.18-1_i386.deb

Compilazione del modulo fglrx

Adesso va compilato il modulo fglrx, con module-assistant (m-a):

# m-a prepare
# m-a update
# m-a build fglrx
# m-a install fglrx
# depmod -a

Quindi muoviamoci in /etc/X11/:

# cd /etc/X11/

e aggiorniamo il file di configurazione di X:

# aticonfig --initial
# aticonfig --overlay-type=Xv

Naturalmente è possibile modificare etc/X11/xorg.conf anche a manina (per fare questo consultate...uhm, forse c'è qualche cosa in man xorg.conf) oppure consultando e usando aticonfig.

Riavviamo X.

Warning.png ATTENZIONE
Ad ogni aggiornamento del kernel bisogna ricompilare il modulo fglrx.


Installazione dei driver dai repository

Innanzitutto installiamo i pacchetti necessari:

# apt-get install fglrx-control fglrx-driver fglrx-driver-dev fglrx-kernel-src

Siccome il modulo di cui abbiamo bisogno (fglrx) è sotto forma di sorgenti (fglrx-kernel-src), lo compiliamo e lo installiamo utilizzando module-assistant, come descritto qui.

In teoria abbiamo finito, bisogna solamente configurare /etc/X11/xorg.conf e riavviare X.

Nota: Consultate anche il manuale di fglrx . ( man fglrx ).

Struttura del file xorg.conf

Un esempio di /etc/X11/xorg.conf:


### /etc/X11/xorg.conf ###

Section "ServerLayout"
	Identifier     "Default Layout"
	Screen      0  "aticonfig-Screen[0]" 0 0
	InputDevice    "Keyboard"
	InputDevice    "Mouse"
	InputDevice    "Touchpad" 
EndSection

Section "Files"
	# path to defoma fonts
	FontPath     "/usr/share/fonts/X11/misc"
	FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
	FontPath     "/usr/share/fonts/X11/Type1"
	FontPath     "/usr/share/fonts/X11/100dpi"
	FontPath     "/usr/share/fonts/X11/75dpi"
	FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
	Load  "synaptics"
	Load  "bitmap"
	Load  "ddc"
	Load  "dri"
	Load  "extmod"
	Load  "freetype"
	Load  "glx"
	Load  "int10"
	Load  "type1"
	Load  "vbe"
#       Load  "GLcore"
EndSection

Section "InputDevice"
	Identifier  "Keyboard"
	Driver      "kbd"
	Option	    "CoreKeyboard"
	Option	    "XkbRules" "xorg"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "it"
EndSection

Section "InputDevice"
	Identifier  "Mouse"
	Driver      "mouse"
	Option	    "CorePointer"
	Option	    "Device" "/dev/input/mice"
	Option	    "Protocol" "ExplorerPS/2"
	Option	    "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
	Identifier  "Touchpad"
	Driver      "synaptics"
	Option	    "Device" "/dev/psaux"
	Option	    "Protocol" "auto-dev"
	Option	    "LeftEdge" "1700"
	Option	    "RightEdge" "5300"
	Option	    "TopEdge" "1700"
	Option	    "BottomEdge" "4200"
	Option	    "FingerLow" "25"
	Option	    "FingerHigh" "30"
	Option	    "MaxTapTime" "180"
	Option	    "MaxTapMove" "220"
	Option	    "VertScrollDelta" "100"
	Option	    "MinSpeed" "0.10"
	Option	    "MaxSpeed" "0.30"
	Option	    "AccelFactor" "0.0150"
	Option	    "SHMConfig" "on"
        Option      "AlwaysCore" "true"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[0]"
	HorizSync    30.0 - 70.0
	VertRefresh  50.0 - 100.0
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"
EndSection

Section "Monitor"
	Identifier   "aticonfig-Monitor[1]"
	Option	    "DPMS" "true"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]"
	Driver      "fglrx"
	Option	    "VideoOverlay" "on"
	Option	    "OpenGLOverlay" "off"
	Option	    "DesktopSetup" "horizontal,reverse"
	BusID       "PCI:1:0:0"
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]"
	Device     "aticonfig-Device[0]"
	Monitor    "aticonfig-Monitor[0]"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes     "1280x800" "1280x1024" "1024x768" "800x600" "640x480"
	EndSubSection
EndSection

Section "DRI"
	Mode         0666
EndSection

### End Of File ###

Alcuni Test

Per verificare se abbiamo installato tutto correttamente:

$ fglrxinfo

dovrebbe dare un output simile a questo:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9700 Generic
OpenGL version string: 2.0.5879 (8.26.18)

Se al posto di ATI compare Mesa, c'è qualcosa che non va. L'installazione non è andata a buon fine.

Per testare l'accelerazione:

$ fgl_glxgears

Dovrebbe comparire un cubo rotante con sulle sei facce degli ingranaggi rotanti e, sul terminale, la conta dei frame:

Using GLX_SGIX_pbuffer
1610 frames in 5.0 seconds = 322.000 FPS
1640 frames in 5.0 seconds = 328.000 FPS
2093 frames in 5.0 seconds = 418.600 FPS

Se invece compaiono 4-5 righe di errori, c'è qualcosa che non va. L'installazione non è andata a buon fine. Ritenta, forse sarai più fortunat*.

Per testare l'accelerazione è possibile utilizzare anche i tools di Mesa:

# apt-get install mesa-utils
$ glxgears -printfps

Appaiono tre ingranaggi rotanti e la conta dei fotogrammi:

14045 frames in 5.0 seconds = 2808.862 FPS
14115 frames in 5.0 seconds = 2822.858 FPS
14196 frames in 5.0 seconds = 2839.177 FPS

File di log

l file di log principale è /var/log/Xorg.0.log e seguenti. Da spulciare, analizzare, bruciare, supplicare. Insomma qui c'è di tutto di più. Ma a volte si può anche non trovare nulla di anomalo e magari fgl_glxgears non funziona lo stesso. 8°(

Se abbiamo installato i driver con l'installer Ati, esiste anche questo piccolo log: /usr/share/fglrx/fglrx-install.log

Tips and Tricks

  • Una cosa importante, ma che resta comunque strana, è scrivere, in /etc/X11/xorg.conf, i moduli dri, glx e GLcore, in questo ordine. Se ad esempio si mette GLcore per primo, l'accelerazione non andrà e il log /var/log/Xorg.0.log riporterà una serie di errori, tra cui warning sulla libreria /usr/lib/xorg/modules/extensions/libGLcore.so e un errore verso la fine, tristemente incorniciato. Questo errore non so se sia circoscritto alla mia configurazione o se sia un cosa generale. L'unica cosa è fare un po' di test.
  • A volte si ottengono risultati migliori installando i driver con X non avviato.
  • Se i driver sono molto recenti il modulo GLcore non bisognerebbe inserirlo in /etc/X11/xorg.conf : viene caricato automaticamente.
  • Aggiornando le librerie Mesa (libgl1-mesa-dri oppure libgl1-mesa-glx ad esempio), ahimè, può capitare che l'accelerazione sparisca all'improvviso. L'unica cosa da fare probabilmente è disinstallare i driver e installarli di nuovo.
  • Per quanto riguarda le trasparenze di KDE, credo non siano supportate a livello hardware. Io non sono riuscito ad attivarle, infatti se aggiungo a /etc/X11/xorg.conf la sezione:
Section "Extensions"
Option "Composite" "Enable"
EndSection

l'accelerazione 3D non viene caricata.


Autore: rasca 09:04, 17 July 2006 (CEST)

Ampliato da: Superflieriam

Alcune correzioni da: ENtRoPiA 11:31, 9 July 2007