Driver AMD proprietari
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 (Sid ed Etch), il consiglio è quello di utilizzare l'installer fornito da ATI in quanto più aggiornato. Oltre a questo, nel caso in cui si voglia compilare il modulo senza sfruttare l'installer, sarà necessario disporre dei sorgenti del kernel (o gli header), quindi del pacchetto linux-source e di tutti i pacchetti correlati a questo e necessari per la compilazione (build-essential).
Metodologie di installazione
Per quanto riguarda l'intallazione di quelli nuovi, esistono essenzialmente 3 metodi alternativi:
- usare l'eseguibile Ati (indipendente dalla release di Debian)
- creare i pacchetti .deb partendo dall'eseguibile Ati (indipendente dalla release di Debian)
- Installare i driver dai repository. Valido solo per Etch e Sid. Driver meno aggiornati di quelli dal sito Ati.
Intallazione 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.
Riavviamo X.
Tutto dovrebbe essere a posto.
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
E' 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]
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
Naturalmemte è 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.
ATTENZIONE Ad ogni aggiornamento del kernel bisogna ricompilare il modulo fglrx. |
Installazione dei driver dai repository
Attenzione: Questo metodo è valido solo per chi possiede Debian Etch o Sid.
Innanzi tutto 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 faccie 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, analizare, 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