Utente:Spoon/Draft: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
Nessun oggetto della modifica
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
= Installazione driver proprietari ATI =
__TOC__
 
{{E-zine
== Introduzione ==
|num=1
 
|articoli=http://e-zine.debianizzati.org/web-zine/numero_1/?page=85
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.
 
== Versioni dei driver ==
{{ Warningbox | Prima di proseguire leggere questo:}}
Con le ultime versioni(>=9.4) dei driver proprietari, [http://packages.debian.org/changelogs/pool/non-free/f/fglrx-driver/fglrx-driver_10-6-1/changelog#versionversion1:9-4-1 ATI ha tolto il supporto] per le schede grafiche con chip r5xx o inferiore (cioè tutte quelle precedenti alla serie HD) dai driver che mantiene aggiornati, e lo ha spostato su di una versione "legacy", la 9.3, che rimane l'unica versione dei driver proprietari a supportarle. Anche questi driver "legacy" limitano il loro supporto dalla serie X2100 alla serie 9500: per schede precedenti a questa ATI fornisce driver obsoleti o non ne fornisce affatto.
 
Ma il pessimo supporto non si ferma qui. Infatti i driver 9.3 sono presenti nel repository della versione stable di Debian (Lenny), ma in Squeeze è presente solo la versione >=10.6 poiché la 9.3 è [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=454993#24 incompatibile con xorg >=7.5 e con le nuove versioni del kernel]. Inoltre, se utilizzate una configurazione con schede video multiple (crossfire), dovete utilizzare il driver compatibile con la più vecchia.
 
Questa guida rimane quindi valida per chi usa debian stable (Lenny) ed ha una scheda dalla 9500 alla X2100, oppure per chi usa testing (o unstable) ma ha una scheda ATI HDxxxx.
 
Per tutti gli altri conviene utilizzare i driver (liberi!) [http://www.x.org/wiki/radeon radeon] o i radeonhd (non sono la versione hd dei radeon, ma altri driver), che sono probabilmente già in funzione sulla vostra macchina (e che funzionano egregiamente! Solo le prestazioni in 3d sono inferiori ai driver proprietari). Se non lo fossero basta [[Driver_ATI_Radeon_Open | installarli]].
 
== Software richiesto ==
 
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.
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>
 
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>
 
Altri pacchetti necessari affinché l'installazione vada a buon fine, vanno installati attraverso il pacchetto <code>build-essential</code>:
<pre># aptitude install build-essential</pre>
 
{{ Warningbox | Prima di far partire l'installazione di nuovi driver:
 
* 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 <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/
# sh ./fglrx-uninstall.sh</pre>
e seguite le istruzioni.
* 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>
}}
}}
= FFmpeg =


== Introduzione ==
== Metodologie di installazione ==
 
Per quanto riguarda l'installazione di quelli nuovi, esistono essenzialmente <u>3 metodi alternativi</u>:
# usare l'eseguibile Ati
# creare i pacchetti ''.deb'' partendo dall'eseguibile Ati
# 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:
<pre>$ chmod +x ati-driver-installer-8.26.18-x86.run</pre> quindi, da root:
<pre># sh ./ati-driver-installer-8.26.18.x86.run</pre>
e seguite le istruzioni.
Poi, sempre con i permessi di root, aggiornate il file di configurazione <code>xorg.conf</code>:
<pre># cd /etc/X11/
# aticonfig --initial
# aticonfig --overlay-type=Xv</pre>
e se volete settare meglio la configurazione:
<pre># aticonfig</pre>
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:
 
1) Usare module-assistant, un pacchetto fornito per compilare moduli contenenti nel kernel-headers.
 
2) Compilare a mano il modulo.
 
È preferibile generalmente 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 <code>/lib/modules/fglrx/build_mod</code> da utenti root.
 
In questa directory adesso basta lanciare
 
<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 <code>/lib/modules/fglrx</code>
A questo punto lanciare il comando:


FFmpeg è un software a riga di comando che permette eseguire diverse operazioni su file audio e video. Queste operazioni possono essere di conversione (da/verso altri formati di file), di elaborazione (cambio di bitrate, ridimensionamento di visualizzazione), oppure di estrazione (estrapolazione di dati da diverse sorgenti, quali possono essere file, sorgenti analogiche o digitali, ecc).
<pre># ./make_install.sh </pre>
FFmpeg nasce come programma a riga di comando: infatti con pochi parametri è possibile compiere le operazioni descritte in precedenza. Questo lo rende un software veloce, preciso e molto pratico, anche per chi non è molto abituato ad adoperare la shell. Per quanto riguarda la conversione di file (il programma nasce principalmente per questo), FFmpeg può essere utilizzato sia in modalità semplice (senza passare alcun parametro o alcuna opzione), sia in modalità estesa (specificando diversi parametri o alias) che permettono di ampliare le possibilità quasi all'infinito.
FFmpeg è inoltre multipiattaforma: sviluppato principalmente per l'ambiente Linux, è possibile installare la versione per Windows oppure per Mac OS X.


== Installazione ==
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:


FFmpeg è presente nei repository di ufficiali di Debian 5.0 Lenny. L'installazione è molto semplice, alla debian-way (da root):
<pre># /etc/init.d/gdm restart</pre> oppure <pre># /etc/init.d/kdm restart </pre>


<pre># apt-get install ffmpeg</pre>
Montare il modulo fglrx con:


Le dipendenze non sono molte, anche perchè le determinate librerie collegate ai vari codec sono installate su Debian di default. Essendo anche un programma senza interfaccia grafica, non necessita di librerie quali Gtk o Qt.
<pre># modprobe fglrx </pre>


== Piccolo glossario ==
e riavviare il sistema


Prima di utilizzare il programma FFmpeg è utile conoscere il significato di alcuni termini, almeno i più importanti.
<pre># /etc/init.d/gdm restart</pre> oppure <pre># /etc/init.d/kdm restart </pre>


;Aspect-ratio: L'aspect-ratio riferito al video, indica il rapporto tra la larghezza e l'altezza dell'immagine riprodotta. Il più diffuso rimane il 4:3, anche se negli ultimi anni il formato wide 16:9 sembra avere il sopravvento.
Per controllare che la vostra accelerazione 3D funzioni basta digitare da shell come utente normale:


;Bit-rate: Il bit-rate indica la quantità di dati, espressa in bit, necessaria per riprodurre un elemento digitale, sia esso video o audio. Pertanto avremo sia il bit-rate video che il bit-rate audio. Riferendosi a informazioni che si protraggono nel tempo, il bit-rate viene espresso in bit al secondo (o nelle varianti Kilobit e Megabit, rispettivamente Kbit/sec e Mbit/sec). Maggiore sarà questa quantità di dati e maggiore sarà la qualità (o la fedeltà in caso di registrazione) del prodotto che vogliamo rappresentare. Come riferimento possiamo indicare un bit-rate di almeno 1,2 Mbit/sec per un segnale audio e un bit-rate di almeno 200 Mbit/sec per un segnale video.
<pre>$ fglrxinfo </pre>
Nel mio caso l'output è il seguente:


;Top, Bottom, Right, Left: In un video, indicano rispettivamente la parte superiore, quella inferiore, quella di destra e quella di sinistra. Utili per un taglio (crop) dell'immagine, per l'inserimento di una banda colorata, oppure per l'inserimento di parti di testo (descrizioni o sottotitoli).
<pre>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)</pre>


;Codec: Il codec è un particolare software che tramite complesse leggi matematiche consente di memorizzare e comprimere le immagini (per quanto riguarda i video) e i suoni (per quanto riguarda l'audio). Lo stesso codec poi risulta essenziale per una riproduzione delle sequenze memorizzate. Nell'audio/video professionale, esistono numerosi codec (alcuni che si occupano delle immagini video, altri soltanto delle tracce audio). In generale, una sequenza video contiene due componenti fondamentali: un componente video, gestito da un codec video, e un componente audio, gestito da un codec audio.
<pre>$ glxinfo | grep rendering </pre>


;Formato: Le due componenti (audio e video) viste al punto sopra, vengono assemblate in un unico file che fa da contenitore. Questa tipologia di file è chiamata formato. I formati sono molteplici, a seconda appunto dei codec utilizzati: AVI, MPEG, ecc.
e aspettare che vi dia come output:


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


La sintassi di utilizzo è estremamente semplice e molto intuitiva:
N.B.: Se non avete glxinfo installate il pacchetto mesa-utils.


<pre>$ ffmpeg [[inputfile options][-i inputfile]]... {[outputfile options] outputfile}...</pre>
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.


Gli esempi che seguono si riferiscono alle applicazioni che normalmente vengono effettuate sui vari file audio e video. Per operazioni più complesse, le quali necessitano di molti parametri da specificare a FFmpeg, si rimanda alla lettura di <code>man ffmpeg</code>.
=== Installazione manuale con generazione pacchetti specifici per Debian ===


Prima di iniziare, sarebbe bene impartire il comando:
Con i privilegi di root, rimuoviamo i vecchi pacchetti del modulo <code>fglrx</code>, se presenti:
<pre># rm /usr/src/fglrx-kernel*.deb</pre>
È necessario installare i seguenti pacchetti:
<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:
<pre>$ chmod +x ati-driver-installer-8.26.18-x86.run</pre>
Poi, per creare i 5 pacchetti .deb:
<pre>$ sh ./ati-driver-installer-8.26.18-x86.run --buildpkg Debian/[release]</pre>
Per avere una lista di tutte le release supportate:
<pre>$ sh ./ati-driver-installer-8.26.16-x86.run --listpkg</pre>
Ad esempio:
<pre>$ sh ./ati-driver-installer-8.26.18-x86.run --buildpkg Debian/testing</pre>
Per installarli (installiamo solo quelli fondamentali):
<pre>$ 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</pre>


<pre>$ ffmpeg -formats</pre>
==== Compilazione del modulo <code>fglrx</code> ====


per controllare i formati audio/video supportati da FFmpeg, così da non incorrere in successivi errori. Il suddetto comando visualizza anche i codec che si possono utilizzare per le varie operazioni. Prima di utilizzare FFmpeg è buona norma avere delle informazioni sul file audio/video su cui operare, come il bit-rate, il tipo di codifica audio e/o video, la dimensione, ecc. Tali informazioni si possono recuperare direttamente con FFmpeg, con il comando:
{{ Warningbox | Ad ogni aggiornamento del kernel bisogna ricompilare il modulo <code>fglrx</code>. }}


<pre>$ ffmpeg -i inputvideo.avi</pre>
Adesso va compilato il modulo <code>fglrx</code>, con <code>module-assistant</code> (m-a):
<pre># m-a prepare
# m-a update
# m-a build fglrx
# m-a install fglrx
# depmod -a</pre>
Quindi muoviamoci in <code>/etc/X11/</code>:
<pre># cd /etc/X11/</pre>
e aggiorniamo il file di configurazione di X:
<pre># aticonfig --initial
# aticonfig --overlay-type=Xv</pre>
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>.


per il files video, oppure:
Riavviamo '''X'''.


<pre>$ ffmpeg -i inputaudio.mp3</pre>
=== Installazione dei driver dai repository ===
====Lenny====
È necessario avere abilitato la sezione non-free del repository:
aprite <code>/etc/apt/sources.list</code> in un editor e controllate che ci sia:
<pre>deb http://ftp.us.debian.org/debian lenny main contrib non-free</pre>
o qualsiasi altro mirror debian lenny con non-free abilitato. Altrimenti aggiungete <code>non-free</code> alla riga del vostro mirror.
Aggiornate ora la lista dei pacchetti disponibili:
<pre>apt-get update</pre>


per i files audio. Nella shell ci compariranno diversi messaggi. A noi interessano le righe finali, le quali ci restituiscono i valori che ci interessano: bit-rate, tipologia di campionamento, durata, ecc.
Installiamo ora i pacchetti necessari:
<pre># apt-get install module-assistant fglrx-driver fglrx-kernel-src fglrx-glx</pre>
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 alternativa si può provare ad automatizzare la procedura di compilazione del modulo con:
<pre># module-assistant auto-install fglrx-kernel-src</pre>


=== Operazioni su file video ===
In teoria abbiamo finito, bisogna solamente configurare [[#Struttura del file xorg.conf|<code>/etc/X11/xorg.conf</code>]] manualmente aggiungendo(ATTENZIONE: se sono presenti già le voci per la scheda e per lo schermo, cancellatele):
<pre>
Section "Device"
    Identifier  "ATI"
    Driver      "fglrx"
EndSection


In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file video, soffermandoci sui parametri principali che bisogna "passare" al programma FFmpeg. Precisiamo che, salvo alcune eccezioni, i parametri impostati di default su FFmpeg vanno più che bene.
Section "Screen"
    Identifier "Default Screen"
    DefaultDepth    24
EndSection
</pre>
oppure automaticamente usando:
<pre># aticonfig --initial</pre>


Conversione di un file video da formato mpg a formato avi:
Non rimane che riavviare '''X''' (se usate gdm):
<pre># /etc/init.d/gdm restart</pre>


<pre>$ ffmpeg -i inputvideo.mpg outputvideo.avi</pre>
Se volete avere anche il pannello di controllo Ati:
<pre># apt-get install fglrx-control</pre>
'''Nota:''' Consultate anche il manuale di <code>fglrx</code> . ( <code>man fglrx</code> ).


Elaborazione di un file video con cambio di aspect-ratio:
== Squeeze==


<pre>$ ffmpeg -i inputvideo.mpg -aspect 16:9 outputvideo.mpg</pre>
== Struttura del file xorg.conf ==


Il parametro -aspect determina il valore di aspect-ratio che assumerà il file video di uscita.
Un esempio di <code>/etc/X11/xorg.conf</code>:
Nel nostro caso, il file inputvideo.mpg verrà elaborato e ridimensionato a 16:9. Da notare che il parametro può anche essere immesso in forma decimale come rapporto di 16/9, cioè 1.33.


Elaborazione di un file video con impostazione di un bitrate di 64k:
<pre>


<pre>$ ffmpeg -i inputvideo.avi -b 64k outputvideo.avi</pre>
### /etc/X11/xorg.conf ###


Elaborazione di un file video con impostazione di un frame-rate di 24 fps:
Section "ServerLayout"
Identifier    "Default Layout"
Screen      0  "aticonfig-Screen[0]" 0 0
InputDevice    "Keyboard"
InputDevice    "Mouse"
InputDevice    "Touchpad"
EndSection


<pre>$ ffmpeg -i inputvideo.avi -r 24 outputvideo.avi</pre>
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


Inserimento di un file audio in un file video (colonna sonora):
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


<pre>$ ffmpeg -i audio.mp3 -i inputvideo.avi outputvideo.avi</pre>
Section "InputDevice"
Identifier  "Keyboard"
Driver      "kbd"
Option     "CoreKeyboard"
Option     "XkbRules" "xorg"
Option     "XkbModel" "pc105"
Option     "XkbLayout" "it"
EndSection


Inserimento di bande colorate superiormente e inferiormente in un file video:
Section "InputDevice"
<!---
Identifier  "Mouse"
pad(qualcosa) non esiste più, si usano i padfilter (vedere manuale) su wheezy
Driver      "mouse"
--->
Option     "CorePointer"
<pre>$ ffmpeg -i inputvideo.avi -padtop 20 -padbottom 20 -padcolor 000000 outputvideo.avi</pre>
Option     "Device" "/dev/input/mice"
Option     "Protocol" "ExplorerPS/2"
Option     "Emulate3Buttons" "true"
EndSection


Il numero 20 seguente ai parametri -padtop e -padbottom indica la larghezza della banda in pixel, mentre il parametro -padcolor setta il colore (in esadecimale, pertanto 000000 sarà nero, FF0000 sarà rosso, ecc). Si intuisce che i parametri -padright e -padleft definiscono bande a destra e a sinistra. Con lo stesso criterio, i relativi parametri -croptop -cropbottom -cropright -cropleft seguiti dal numero di pixel, permettono di ritagliare superiormente, inferiomente, a destra e a sinistra delle parti del file video di input.
Section "InputDevice"
<!---
Identifier  "Touchpad"
anche crop(cose) non c'è più e c'è un filtro crop (wheezy)
Driver      "synaptics"
--->
Option     "Device" "/dev/psaux"
=== Operazioni su file audio ===
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


In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file audio, soffermandoci sui parametri principali che bisogna "passare" al programma FFmpeg.
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


Estrazione audio da un file video come file mp3:
Section "Monitor"
Identifier  "aticonfig-Monitor[1]"
Option     "DPMS" "true"
EndSection


<pre>$ ffmpeg -i inputvideo.avi -ar 44100 -ab 192 -ac 2 audio.mp3</pre>
Section "Device"
Identifier  "aticonfig-Device[0]"
Driver      "fglrx"
Option     "VideoOverlay" "on"
Option     "OpenGLOverlay" "off"
Option     "DesktopSetup" "horizontal,reverse"
BusID      "PCI:1:0:0"
EndSection


I parametri -ar e -ab impostano rispettivamente la frequenza di campionamento a 44100 Hz ed il bitrate audio a 192 kb/sec. Questi valori indicano una buona qualità, paragonabile all'audio di un CD. Il parametro -ac imposta i canali del file di uscita, nel nostro caso 2, pertanto stereo. Se vogliamo possiamo cambiare l'estensione del file di uscita con wav oppure flac.
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


Conversione di un file audio da formato wav a formato mp3:
Section "DRI"
Mode        0666
EndSection


<pre>$ ffmpeg -i inputaudio.wav -ar 44100 -ab 192 -ac 2 outputaudio.mp3</pre>
### End Of File ###
</pre>


== Programmi che utilizzano FFmpeg ==
== Alcuni Test ==


Data l'estrema versatilità e potenza, FFmpeg è utilizzato da diversi altri software di elaborazione audio/video (alcuni anche di tipo professionale), che lo mantengono come dipendenza fondamentale. Di seguito forniamo un piccolo elenco, con i relativi rimandi al sito web:
Per verificare se abbiamo installato tutto correttamente:
<pre>$ fglrxinfo</pre>
dovrebbe dare un output simile a questo:
<pre>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)</pre>
Se al posto di ATI compare Mesa, c'è qualcosa che non va. L'installazione non è andata a buon fine.


;WinFF: interfaccia grafica del programma FFmpeg, disponibile per diverse piattaforme tra cui anche Microsoft Windows.
Per testare l'accelerazione:
<pre>$ fgl_glxgears</pre>
Dovrebbe comparire un cubo rotante con sulle sei facce degli ingranaggi rotanti e, sul terminale, la conta dei frame:
<pre>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</pre>
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*.


;Cinelerra: software di editing video professionale.
Per testare l'accelerazione è possibile utilizzare anche i tools di Mesa:
<pre># apt-get install mesa-utils
$ glxgears -printfps</pre>
Appaiono tre ingranaggi rotanti e la conta dei fotogrammi:
<pre>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</pre>


;Kino: software di cattura, elaborazione e di editing video.
== File di log ==


;Open Movie Editor: software per l'editing video e per la creazione di slideshow.
Il 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°(


;Kdenlive: software per l'editing video e per la creazione di slideshow.
Se abbiamo installato i driver con l'installer Ati, esiste anche questo piccolo log: <code>/usr/share/fglrx/fglrx-install.log</code>


;DVDslideshow: software per la creazione di slideshow.
== Tips and Tricks ==


Merita una citazione a parte il pacchetto FFplay (strettamente collegato a FFmpeg), il quale permette di eseguire files multimediali audio/video, basandosi sulle librerie intrinseche di FFmpeg. Non ci soffermeremo su questo aspetto, data l'importanza più rilevante che nell'ambito multimediale hanno le operazioni di conversione ed elaborazione.
* 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'''.  
[[Utente:Pmate|pmate]] 15:37, 16 feb 2010 (CET)
* Se i driver sono molto recenti il modulo <code>GLcore</code> non bisognerebbe inserirlo in <code>/etc/X11/xorg.conf</code> : viene caricato automaticamente.
[[Categoria:Audio]]
* 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.
[[Categoria:Shell]]
* 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:
[[Categoria:E-zine]]
<pre>Section "Extensions"
Option "Composite" "Enable"
EndSection</pre>
l'accelerazione 3D non viene caricata.

Versione delle 14:06, 31 ott 2017

Installazione driver proprietari ATI

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.

Versioni dei driver

Warning.png ATTENZIONE
Prima di proseguire leggere questo:


Con le ultime versioni(>=9.4) dei driver proprietari, ATI ha tolto il supporto per le schede grafiche con chip r5xx o inferiore (cioè tutte quelle precedenti alla serie HD) dai driver che mantiene aggiornati, e lo ha spostato su di una versione "legacy", la 9.3, che rimane l'unica versione dei driver proprietari a supportarle. Anche questi driver "legacy" limitano il loro supporto dalla serie X2100 alla serie 9500: per schede precedenti a questa ATI fornisce driver obsoleti o non ne fornisce affatto.

Ma il pessimo supporto non si ferma qui. Infatti i driver 9.3 sono presenti nel repository della versione stable di Debian (Lenny), ma in Squeeze è presente solo la versione >=10.6 poiché la 9.3 è incompatibile con xorg >=7.5 e con le nuove versioni del kernel. Inoltre, se utilizzate una configurazione con schede video multiple (crossfire), dovete utilizzare il driver compatibile con la più vecchia.

Questa guida rimane quindi valida per chi usa debian stable (Lenny) ed ha una scheda dalla 9500 alla X2100, oppure per chi usa testing (o unstable) ma ha una scheda ATI HDxxxx.

Per tutti gli altri conviene utilizzare i driver (liberi!) radeon o i radeonhd (non sono la versione hd dei radeon, ma altri driver), che sono probabilmente già in funzione sulla vostra macchina (e che funzionano egregiamente! Solo le prestazioni in 3d sono inferiori ai driver proprietari). Se non lo fossero basta installarli.

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`

Altri pacchetti necessari affinché l'installazione vada a buon fine, vanno installati attraverso il pacchetto build-essential:

# aptitude install build-essential
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.

È preferibile generalmente 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

Warning.png ATTENZIONE
Ad ogni aggiornamento del kernel bisogna ricompilare il 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.

Installazione dei driver dai repository

Lenny

È necessario avere abilitato la sezione non-free del repository: aprite /etc/apt/sources.list in un editor e controllate che ci sia:

deb http://ftp.us.debian.org/debian lenny main contrib non-free

o qualsiasi altro mirror debian lenny con non-free abilitato. Altrimenti aggiungete non-free alla riga del vostro mirror. Aggiornate ora la lista dei pacchetti disponibili:

apt-get update

Installiamo ora i pacchetti necessari:

# apt-get install module-assistant fglrx-driver fglrx-kernel-src fglrx-glx

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 alternativa si può provare ad automatizzare la procedura di compilazione del modulo con:

# module-assistant auto-install fglrx-kernel-src

In teoria abbiamo finito, bisogna solamente configurare /etc/X11/xorg.conf manualmente aggiungendo(ATTENZIONE: se sono presenti già le voci per la scheda e per lo schermo, cancellatele):

Section "Device"
    Identifier  "ATI"
    Driver      "fglrx"
EndSection

Section "Screen"
    Identifier "Default Screen"
    DefaultDepth     24
EndSection

oppure automaticamente usando:

# aticonfig --initial

Non rimane che riavviare X (se usate gdm):

# /etc/init.d/gdm restart

Se volete avere anche il pannello di controllo Ati:

# apt-get install fglrx-control

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

Squeeze

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

Il 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.