martedì, aprile 24, 2007

Installare i driver Ati 8.36.5 su Debian Etch

La AMD/Ati ha finalmente applicato la patch per far funzionare i suoi driver proprietari con i kernel del ramo 2.6.20 negli ultimi driver Ati 8.36.5.
=> UPDATE: funziona anche con i kernel del ramo 2.6.21!
Si è però dimenticata di correggere quel piccolo errore da me già segnalato che fa fallire la creazione del pacchetto fglrx-amdcccle contenente l'ATI Catalyst Control Center Linux Edition.

Ripropongo la mia guida per l'installazione dei driver ati per Debian Etch in una versione semplificata.

Se il vostro utente non è configurato per usare

sudo
, o lo abilitate (scelta da me consigliata), oppure lo sostituite con
su -c
.

Ora aprite una console ed incollateci i comandi seguenti.

cd

mkdir driver-ati && cd driver-ati

wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.36.5-x86.x86_64.run

sh ati-driver-installer-8.36.5-x86.x86_64.run --extract 8.36.5

cd 8.36.5/packages/Debian/dists/etch

cp rules rules.orig

sed s/fglrx-control/fglrx-amdcccle/ rules.orig > rules

cd ../../../..

sh ati-installer.sh 8.36.5 --buildpkg Debian/etch

cd ..

sudo dpkg -i fglrx-*8.36.5*.deb

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

sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv

Infine inserire alla fine del file sudo gedit /etc/X11/xorg.conf le righe:
Section "Extensions"
Option "Composite" "0"
EndSection

Ora bisogna riavviare.
Se da terminale il comando fglrxinfo vi mostra qualcosa di simile ha:
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON XXX
OpenGL version string: XXX

Significa che è andato tutto ok!

Se la vostra scheda video è una Radeon Mobility dovete decommentare (togliere il carattere "#" all'inizio della riga) nel file /etc/default/fglrx la riga:
FGLRX_ACPI_SWITCH_POWERSTATES=true

Inoltre se compilando il modulo ottenete questo errore:

FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'paravirt_ops'
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.20-1-686'
make: *** [build] Error 2
BUILD FAILED!

potete risolvere seguendo le indicazioni che niente popo dimeno che Mr. Alan Cox ha dato sulla mailing list ufficiale del kernel linux:
- Turn off the paravirt option - you don't need it, and its just bloat
and slows down the kernel. Then rebuild the kernel and other bits and it
should all work fine.

In pratica dovete ricompilare il kernel togliendo dal config l'opzione CONFIG_PARAVIRT.
In realtà esiste anche una patch, ma non mi piace, e quindi ... non la posto :)

=> UDPDATE: per installarlo in Debian Sid leggete i commenti.

22 commenti:

Jena Plisskin ha detto...

Ciao, scusa l'OT, perlomeno sulla distro :-) Ho una Slackware current con il suo xorg 1.2.99, i driver ATI 8.35.5 non si installano perchè non vedono la compatibilità proprio con xorg. Sai se c'è un modo per aggirare il problema o se i 8.36.5 ?

Thx!

daniele ha detto...

Mi dispiace, ma non ho una slackware a portata di mano ...

Luca ha detto...

Ciao Daniele,
dato che non ho assolutamente voglia di ricompilare di nuovo il kernel per quei < serie di insulti > della ati, puoi postare un'indirizzo dove posso trovare la patch per la paravirtualizzazione? purtroppo non l'ho trovata in google

daniele ha detto...

@Luca
Dovrebbe andare applicata agli headers del kernel ... ma non sono sicuro del come e del perchè!
http://www.cafuego.net/stuff/2.6.20-paravirt-nvidia.patch

Anonimo ha detto...

ho debian unstable, kernel 2.6.20.X, driver 8.36.5, xorg 7.2 e ho penso il medesimo problema di jena. ora ti do qualche invo + precisa sulla versione dei pacchetti.

xorg 7.2-3
xserver-xorg 7.2-3
xserver-xorg-core 1.3.0.0.dfsg-3

sul sito della ati nella pagina dove c'e' il link per il download c'e' non c'e' il supporto per xorg 7.2, ma se si guardano tra le nuove feautures del nuovo driver si trova menzionato anche quest'ultimo. chiaramente il messaggio che ottengo all'installazione fa pensare nuovamente che non lo sia.

riporto l'"errore".

Created directory fglrx-install.L15930
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.36.5.... [cut]

Detected configuration:
Architecture: i686 (32-bit)
X Server: Unknown X Window

Detected version of X does not have a matching 'x130' directory
You may override the detected version using the following syntax:
X_VERSION=xdir ./ati-driver-installer-ver-arch.run [--install]

The following values may be used for xdir:
x430 XFree86 4.3.x
x680 X.Org 6.8.x
x690 X.Org 6.9.x
x700 X.Org 7.0.x
x710 X.Org 7.1.x

all'errore ho tolto i valori per amd 64 e alcuni puntini e menate simili perche' non significatevi ne esplicativi e ho dovuto togliere maggiori e minori davanti alcuni valori per non incasinare la sintassi del blog.

prima dell'aggiornamento al sistema usavo versione 7.1 e il driver 8.35.6 e stesso kernel grazie al howto che da te scritta.

Anonimo ha detto...

inoltre ho provato ad usare la stessa tecnica per installare i driver. tutto scorre liscio fino a quando non lancio

aticonfig --overlay-type=Xv

qui c'è un segfault brutale. me ne sono infischiato e la conf me la sono fatto da sola, tirato su il modulo profo a caricarlo con un classico modprobe e non succede niente di strano, bel bello digito startx e chiaramente non parte niente. dice che non riesce a caricare il modulo fglrx perchè c'e' un mismatch tra le versioni che vuole e quella che ho. riferendosi in particolar modo a
xserver-xorg-core che ho alla versione 1.3.0.0

ufff

daniele ha detto...

@Anonimo & @Anonimo & @Jena Plisskin
Io non ho testato questa guida su Debian Sid, ed infatti non funziona perchè attualmente i driver binari ati non sono compatibili con l'ultima versione di xorg (7.2) inclusa in Sid.
Le possibili soluzioni sono 2:
- fare un dowgrade di xorg
- applicare questo hack (credo siano sufficienti i quattro comandi sed) dopo aver estratto i driver:
http://www.rage3d.com/board/showthread.php?t=33889029

Anonimo ha detto...

Ciao Daniele, bella guida, da me l'installazione funziona, a parte il pacchetto per il catalist.
Però ho un problema, quando digito
aticonfig --initial
mi da errore
mi crea un file xorg.bacup.1.conf
e abortisce la configurazione dicendomi che c'è un puntatore invalido.
Hai idea di cosa potrebbe essere????

Anonimo ha detto...

Dimenticavo:
io uso Debian Etch.

daniele ha detto...

@Anonimo
Con solo le informazioni che mi hai dato no!
Però se mi copi con esattezza l'output dell'errore che ti da, vedo cosa posso fare.
Ciao

Anonimo ha detto...

Adesso non posso farlo, però ti volevo chiedere quali sono con esattezza i pacchetti necessari prima di installare i driver ati?
Cioè, mesa-utils serve?
E quali altri?

daniele ha detto...

@Anonimo
Ti rispondo questa sera. Ora non posso!
Ciao

Jena Plisskin ha detto...

Ok grazie del link, quando posso ci provo, nel frattempo sono riuscito a far andare la 9800 pro in rendering con i driver radeon di xorg !!!

Cmq l'accelerazione 3d mi sembra sempre disattivata. Ora ri provo con i diver proprietari, ma penso di ritornare in casa nvidia.

Anonimo ha detto...

Ciao Daniele,
installo i driver e tutto va ok.
Non appena digito
aticonfig --initial
mi da il seguente messaggio
hermes:/etc/X11# aticonfig --initial
Uninitialised file found, configuring.
Using xorg.conf
Saved back-up to xorg.conf.original-0
*** glibc detected *** free(): invalid pointer: 0x000000000041d886 ***
Abortito

hai idea di cosa possa essere??
grazie

daniele ha detto...

@Anonimo
> ...
> hai idea di cosa possa essere??

No !!! :(

Ho cercato in rete dove ho visto che anche altri hanno avuto il tuo errore.
Di soluzioni però non ne ho trovata neanche mezza.

Cmq se per caso usi Debian Sid, la soluzione sta qualche commento sopra.
http://sblov.blogspot.com/2007/04/installare-i-driver-ati-8365-su-debian.html#comment-289689220485095951

Anonimo ha detto...

Cacchio!!
In pratica devo rinunciare all'accelerazione 3d, e dire che uno dei motivi che mi ha fatto passare a debian è stata l'allettante swicther 3d tipo beryl.
Ma non c'è un altro modo per ottenere 3d?
Io uso Debian etch.
Certo, a meno che dovrei cambiare release...mmmhhh

Lux ha detto...

Ciao daniele
volevo chiederti una cosa.
Sapresti creare questo script??
Creare uno script NON INTERATTIVO che:
1.prende in input un file contente un elenco di file, ed il nome di un gruppo;
2.per ognuno dei file specificati, se non è un file speciale (cioè è un file o
cartella), imposta il gruppo del file al nome di gruppo specificato come
parametro (se è una cartella, ricorsivamente sui file contenuti).

e poi come si potrebbe fare per...
...Configurare cron perché, ogni 10 minuti, tra le 8 e le 17, tra lunedì e venerdì,
invii un segnale al demone syslog (facility local1, livello notice) un messaggio,
se nel sistema è presente (== ha effettuato il login) più di un utente
(suggerimento: si potrebbe usare i comandi who e wc, e magari il loro
output...).

Aiutami....

daniele ha detto...

@Lux
Ti aiuto volentieri! Ma non qui nel blog.
Apri un thread sul forum di debianizzati.org nella sezione Scripting.
http://forum.debianizzati.org/scripting-b13.0/

Ciao

Anonimo ha detto...

Ciao Daniele, ho messo il post su debianizzati, ma vorrei una tua soluzione.
Ma hai messenger??
Avrei altre cose da chiderti.
Grazie mille

Anonimo ha detto...

Salve!
Ho installato i drivers come indicato ma al riavvio dice che non trova uno schermo!
Eppure tutti i comandi sono andati a buon fine.

Kernel 2.6.22.3
OS: Debian 4 r0
ATI: 8.36.5
VGA: Sapphire Ati Radeon 9250 256


Saluti,
------------
*Stella*

Manuel ha detto...

Ciao,
ho un problema con la mia ati radeon 9800 pro. Installo tutto come ddescritto anche nei vari tutorial, pero' ho sempre lo stesso risultato. Da direct rendering mi dice sempre "no" ed il risultatp di fglrxinfo e':
display: :0.0 screen: 0
OpenGL vendor string: Brian Paul
OpenGL renderer string: Mesa X11
OpenGL version string: 1.5 Mesa 6.5.1

glxinfo | grep render :
direct rendering: No
OpenGL renderer string: Mesa X11

mi potresti aiutare?

Grazie
Manuel

danix ha detto...

Ciao Daniele
ho provato a installare i driver seguendo passo per passo la tua guida, ma credo di aver avuto qualche problema.
Dopo alcuni messaggi di errore, credo che il sistema dica di non trovare il comando aticonfig.
Dal terminale non posso incollare niente perché ho riavviato.

Se può tornarti utile questo é il file xorg.conf

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

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
EndSection

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

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

Section "Device"
Identifier "ATI Technologies Inc RV280 [Radeon 9200 PRO]"
Driver "ati"
BusID "PCI:1:0:0"
EndSection

Section "Monitor"
Identifier "AL1502"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies Inc RV280 [Radeon 9200 PRO]"
Monitor "AL1502"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "832x624" "800x600" "720x400" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection

Section "DRI"
Mode 0666
EndSection

Section "Extensions"
Option "Composite" "0"
EndSection


scusami ma sono appena passato a debian etch e meglio di così non so spiegarmi.
Che te ne pare?

Grazie

P.s: Anche questo é un errore?

DANI:/home/danix# fgrlx info
bash: fgrlx: command not found