Installazione driver proprietari Nvidia: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Riga 1: Riga 1:
L'installazione dei driver proprietari Nvidia su Debian si può fare in due modi, e in entrambi i casi è molto semplice.  
Questa � la Sandbox, cio� la lettiera per i vostri bisognini ;-).


Il primo metodo prevede di utilizzare l'installer automatico fornito da Nvidia: si tratta di uno script per la shell che tramite un menu ci guida nell'installazione. Questo metodo, per quanto semplice e funzionale, ha uno svantaggio: aggira il sistema di gestione dei pacchetti (APT nel caso di Debian, ma anche qualunque altro), con il risultato che questo non saprà mai dell'esistenza del modulo e non potrà aiutarci nella gestione di eventuali dipendenze o conflitti con altri pacchetti.
Usate questa pagina per fare delle prove, potete scrivere quello che volete e provare tutte le formattazioni che vi vengono in mente, ma per favore non cancellate questa pagina, ne siate volgari.


Il secondo metodo utilizza un tool specifico di Debian: module-assistant. Module-assistant è un programma che permette di automatizzare la compilazione di molti moduli proprietari, e la creazione di pacchetti .deb contenenti i moduli compilati, per la successiva installazione tramite APT. Lo svantaggio di questo metodo è che i nuovi pacchetti per module-assistant arrivano sempre con qualche giorno di ritardo rispetto all'installer, come è ovvio che sia.
Per informazioni sull'editing:


{{Warningbox|Si raccomanda di usare <b>uno solo</b> dei due metodi proposti.}}
* [[Help:Editing]]


= Metodo 1: l'installer Nvidia =
== Occorrente ==
Ecco di cosa abbiamo bisogno per l'installazione:
* Headers del kernel che stiamo utilizzando (occhio alle subversion, per controllare si può usare <tt>uname -r</tt>) o, in alternativa, i sorgenti dello stesso kernel (gli headers fanno parte dei sorgenti, ed esistono come pacchetto indipendente solo ed esclusivamente per poter compilare moduli fuori dal kernel senza dover scaricare tutto il kernel)
* Driver corretto per la nostra architettura scaricabile da [http://www.nvidia.com www.nvidia.com]


<b>nota:</b> se avete compilato un kernel personalizzato, il pacchetto degli headers per il vostro kernel non esiste: dovete usare i sorgenti del kernel configurati.
'''Prove:'''


== Cosa fare ==
Punto moltiplicativo: 2 &middot; 6 = 17
Prima di tutto occorre chiudere X. Non basta fare logout, bisogna proprio killare il server grafico: se avete installato un desktop manager, per esempio kdm, andate in una console non grafica (per es. con <tt>Ctrl+Alt+F1</tt>), e usate, da root:
<pre>
# /etc/init.d/kdm stop
</pre>


Ora, controllate (con <tt>ls -l</tt>) che il link <tt>/usr/src/linux</tt> punti agli headers del kernel in funzione o ai sorgenti, che però <b>devono</b> essere configurati esattamente come il nostro kernel corrente.
Lettera 'e' maiuscola accentata: &Egrave;


Per fare un esempio supponiamo di aver installato il .deb dei sorgenti, e di doverli quindi configurare:
{| border="1"
<pre>
|+ ''Lista caratteri speciali HTML 4''
$ cd /usr/src
!width="100"|Nome
$ tar xvfj linux-source-xxx
!width="100"|Simbolo
$ cd linux-source-xxx
!width="300"|Descrizione
$ cp /boot/config-`uname -r` .config
|-
$ make oldconfig
| nbsp || align="center" | "&nbsp;" || no-break space = non-breaking space,
</pre>
|-
| iexcl || align="center" | "&iexcl;" || inverted exclamation mark, U+00A1 ISOnum
|-
| cent || align="center" | "&cent;" || cent sign, U+00A2 ISOnum
|-
| pound || align="center" | "&pound;" || pound sign, U+00A3 ISOnum
|-
| curren || align="center" | "&curren;" || currency sign, U+00A4 ISOnum
|-
| yen || align="center" | "&yen;" || yen sign = yuan sign, U+00A5 ISOnum
|-
| brvbar || align="center" | "&brvbar;" || broken bar = broken vertical bar,
|-
| sect || align="center" | "&sect;" || section sign, U+00A7 ISOnum
|-
| uml || align="center" | "&uml;" || diaeresis = spacing diaeresis,
|-
| copy || align="center" | "&copy;" || copyright sign, U+00A9 ISOnum
|-
| ordf || align="center" | "&ordf;" || feminine ordinal indicator, U+00AA ISOnum
|-
| laquo || align="center" | "&laquo;" || left-pointing double angle quotation mark
|-
| not || align="center" | "&not;" || not sign, U+00AC ISOnum
|-
| shy || align="center" | "&shy;" || soft hyphen = discretionary hyphen,
|-
| reg || align="center" | "&reg;" || registered sign = registered trade mark sign,
|-
| macr || align="center" | "&macr;" || macron = spacing macron = overline
|-
| deg || align="center" | "&deg;" || degree sign, U+00B0 ISOnum
|-
| plusmn || align="center" | "&plusmn;" || plus-minus sign = plus-or-minus sign,
|-
| sup2 || align="center" | "&sup2;" || superscript two = superscript digit two
|-
| sup3 || align="center" | "&sup3;" || superscript three = superscript digit three
|-
| acute || align="center" | "&acute;" || acute accent = spacing acute,
|-
| micro || align="center" | "&micro;" || micro sign, U+00B5 ISOnum
|-
| para || align="center" | "&para;" || pilcrow sign = paragraph sign,
|-
| middot || align="center" | "&middot;" || middle dot = Georgian comma
|-
| cedil || align="center" | "&cedil;" || cedilla = spacing cedilla, U+00B8 ISOdia
|-
| sup1 || align="center" | "&sup1;" || superscript one = superscript digit one,
|-
| ordm || align="center" | "&ordm;" || masculine ordinal indicator,
|-
| raquo || align="center" | "&raquo;" || right-pointing double angle quotation mark
|-
| frac14 || align="center" | "&frac14;" || vulgar fraction one quarter
|-
| frac12 || align="center" | "&frac12;" || vulgar fraction one half
|-
| frac34 || align="center" | "&frac34;" || vulgar fraction three quarters
|-
| iquest || align="center" | "&iquest;" || inverted question mark
|-
| Agrave || align="center" | "&Agrave;" || latin capital letter A with grave
|-
| Aacute || align="center" | "&Aacute;" || latin capital letter A with acute,
|-
| Acirc || align="center" | "&Acirc;" || latin capital letter A with circumflex,
|-
| Atilde || align="center" | "&Atilde;" || latin capital letter A with tilde,
|-
| Auml || align="center" | "&Auml;" || latin capital letter A with diaeresis,
|-
| Aring || align="center" | "&Aring;" || latin capital letter A with ring above
|-
| AElig || align="center" | "&AElig;" || latin capital letter AE
|-
| Ccedil || align="center" | "&Ccedil;" || latin capital letter C with cedilla,
|-
| Egrave || align="center" | "&Egrave;" || latin capital letter E with grave,
|-
| Eacute || align="center" | "&Eacute;" || latin capital letter E with acute,
|-
| Ecirc || align="center" | "&Ecirc;" || latin capital letter E with circumflex,
|-
| Euml || align="center" | "&Euml;" || latin capital letter E with diaeresis,
|-
| Igrave || align="center" | "&Igrave;" || latin capital letter I with grave,
|-
| Iacute || align="center" | "&Iacute;" || latin capital letter I with acute,
|-
| Icirc || align="center" | "&Icirc;" || latin capital letter I with circumflex,
|-
| Iuml || align="center" | "&Iuml;" || latin capital letter I with diaeresis,
|-
| ETH || align="center" | "&ETH;" || latin capital letter ETH, U+00D0 ISOlat1
|-
| Ntilde || align="center" | "&Ntilde;" || latin capital letter N with tilde,
|-
| Ograve || align="center" | "&Ograve;" || latin capital letter O with grave,
|-
| Oacute || align="center" | "&Oacute;" || latin capital letter O with acute,
|-
| Ocirc || align="center" | "&Ocirc;" || latin capital letter O with circumflex,
|-
| Otilde || align="center" | "&Otilde;" || latin capital letter O with tilde,
|-
| Ouml || align="center" | "&Ouml;" || latin capital letter O with diaeresis,
|-
| times || align="center" | "&times;" || multiplication sign, U+00D7 ISOnum
|-
| Oslash || align="center" | "&Oslash;" || latin capital letter O with stroke
|-
| Ugrave || align="center" | "&Ugrave;" || latin capital letter U with grave,
|-
| Uacute || align="center" | "&Uacute;" || latin capital letter U with acute,
|-
| Ucirc || align="center" | "&Ucirc;" || latin capital letter U with circumflex,
|-
| Uuml || align="center" | "&Uuml;" || latin capital letter U with diaeresis,
|-
| Yacute || align="center" | "&Yacute;" || latin capital letter Y with acute,
|-
| THORN || align="center" | "&THORN;" || latin capital letter THORN,
|-
| szlig || align="center" | "&szlig;" || latin small letter sharp s = ess-zed,
|-
| agrave || align="center" | "&agrave;" || latin small letter a with grave
|-
| aacute || align="center" | "&aacute;" || latin small letter a with acute,
|-
| acirc || align="center" | "&acirc;" || latin small letter a with circumflex,
|-
| atilde || align="center" | "&atilde;" || latin small letter a with tilde,
|-
| auml || align="center" | "&auml;" || latin small letter a with diaeresis,
|-
| aring || align="center" | "&aring;" || latin small letter a with ring above
|-
| aelig || align="center" | "&aelig;" || latin small letter ae
|-
| ccedil || align="center" | "&ccedil;" || latin small letter c with cedilla,
|-
| egrave || align="center" | "&egrave;" || latin small letter e with grave,
|-
| eacute || align="center" | "&eacute;" || latin small letter e with acute,
|-
| ecirc || align="center" | "&ecirc;" || latin small letter e with circumflex,
|-
| euml || align="center" | "&euml;" || latin small letter e with diaeresis,
|-
| igrave || align="center" | "&igrave;" || latin small letter i with grave,
|-
| iacute || align="center" | "&iacute;" || latin small letter i with acute,
|-
| icirc || align="center" | "&icirc;" || latin small letter i with circumflex,
|-
| iuml || align="center" | "&iuml;" || latin small letter i with diaeresis,
|-
| eth || align="center" | "&eth;" || latin small letter eth, U+00F0 ISOlat1
|-
| ntilde || align="center" | "&ntilde;" || latin small letter n with tilde,
|-
| ograve || align="center" | "&ograve;" || latin small letter o with grave,
|-
| oacute || align="center" | "&oacute;" || latin small letter o with acute,
|-
| ocirc || align="center" | "&ocirc;" || latin small letter o with circumflex,
|-
| otilde || align="center" | "&otilde;" || latin small letter o with tilde,
|-
| ouml || align="center" | "&ouml;" || latin small letter o with diaeresis,
|-
| divide || align="center" | "&divide;" || division sign, U+00F7 ISOnum
|-
| oslash || align="center" | "&oslash;" || latin small letter o with stroke,
|-
| ugrave || align="center" | "&ugrave;" || latin small letter u with grave,
|-
| uacute || align="center" | "&uacute;" || latin small letter u with acute,
|-
| ucirc || align="center" | "&ucirc;" || latin small letter u with circumflex,
|-
| uuml || align="center" | "&uuml;" || latin small letter u with diaeresis,
|-
| yacute || align="center" | "&yacute;" || latin small letter y with acute,
|-
| thorn || align="center" | "&thorn;" || latin small letter thorn,
|-
| yuml || align="center" | "&yuml;" || latin small letter y with diaeresis,
|}


dopo di che siamo pronti per avviare l'installazione.


{{Warningbox|Potreste aver già installato un driver NVIDIA, in questo caso:
La precedente tabella � stata generata tramite script dalla pagina di riferimento:
#Se lo avete installato voi, allora questa guida non vi server perche sapete già come fare :)
#Se ve lo ha installato un'altra persona, allora potete tranquillamente dire all'installer di sovrascriverlo se state installando una versione piu aggiornata.}}


Per avviare l'installazione dobbiamo spostarci nella directory dove abbiamo salvato il driver nvidia e dare il comando:
* [http://www.w3.org/TR/REC-html40/sgml/entities.html Character entity references in HTML 4]


<pre># sh NVIDIA-*</pre>


dove <tt>NVIDIA-*</tt> è il nome del driver che abbiamo scaricato.
''Vedere anche su Wikipedia:''


<b>Aggiornamento:</b> con X.org 7.0 è cambiata la locazione dei driver del server grafico, ed è necessario dire all'installer dove deve mettere i driver, pena il non funzionamento dei driver stessi, e anche il probabile malfunzionamento delle applicazioni che usano OpenGL. Il comando per l'installazione diventa:
* [http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references List of XML and HTML character entity references]


<pre># sh NVIDIA-* --x-module-path=/usr/lib/xorg/modules/</pre>


Una volta avviato l'installer comparirà un menu interattivo che ci guiderà nell'installazione, dove dovremo rispondere alle domande dicendo che vogliamo installare il driver.
[[XGL+Beryl su KDE con schede ATI]]
 
Il nuovo installer permette l'aggiornamento automatico di <tt>xorg.conf</tt>. Potete farlo anche a mano, semplicemente editando il file <tt>/etc/X11/xorg.conf</tt> come indicato nella sezione successiva.
 
Dopo aver installato il driver per il kernel può essere utile installare il tool grafico per configurarlo:
<pre>
# aptitude install nvidia-settings
</pre>
ricordate che molte delle impostazioni che potete modificare con <tt>nvidia-settings</tt> necessitano del riavvio della sessione per avere effetto.
 
In fine possiamo far ripartire il server grafico, sempre nell'ipotesi che usiate kdm:
<pre>
# /etc/init.d/kdm start
</pre>
 
= Metodo 2: module-assistant =
== Occorrente ==
Per usare questo motodo è sufficiente una connessione ad internet, oltre, ovviamente, a module-assistant: se non l'abbiamo:
<pre># aptitude install module-assistant</pre>
 
== Cosa fare ==
Come per l'altro metodo, bisogna fermare il server grafico, e poi non dobbiamo fare altro che lanciare module-assistant:
<pre># m-a</pre>
 
il quale ci mostra un menu grafico tramite il quale dobbiamo, nell'ordine:
* aggiornare la lista dei pacchetti disponibili
* preparare il sistema per la compilazione
* selezionare il modulo da compilare dalla lista fornita
* compilare
* installare il pacchetto ottenuto
 
il tutto senza uscire da module-assistant.
 
nota: module-assistant si occupa automaticamente di installare un compilatore se non l'avete, e anche gli headers del kernel. Se possedete già gli headers giusti, o anche l'intero kernel (che, ricordo, deve essere configurato esattamente come il vostro kernel), è sufficiente controllare di avere impostato il link simbolico <tt>/usr/src/linux</tt> in modo che punti agli headers o ai sorgenti:
<pre>ln -s /usr/src/linux-headers-xxx /usr/src/linux</pre>
 
Ora bisogna modificare xorg.conf, nella sezione "Device", in modo che nella riga "Driver" sia scritto <tt>'''nvidia'''</tt> (di solito al posto di <tt>'''nv'''</tt> o <tt>'''vesa'''</tt>), inoltre bisogna sostituire, nella sezione "Module", le righe
<pre>
Load    "dri"
Load    "GLcore"
</pre>
con la riga
<pre>
Load    "glx"
</pre>
 
dopo di che non resta che installare i driver per xfree/xorg (che sono sempre proprietari, ma non sono da compilare, e in Debian sono in un pacchetto a parte) e, volendo, anche il tool grafico per configurarli, e poi si può lanciare X:
<pre>
# aptitude install nvidia-glx nvidia-settings
# /etc/init.d/kdm start
</pre>
 
 
= Verifica =
 
Per verificare velocemente se tutto funziona potete usare glxgears, da lanciare in un terminale.
 
Glxgears è un semplicissimo programma che produce in una finestra l'animazione di tre ruote dentate che girano, e nel frattempo conta quanti frame al secondo riesce a generare il vostro sistema. Non è pensato per effettuare un vero benchmark, ma è solo un test indicativo, e i suoi risultati dipendono vistosamente dal carico presente sulla CPU, quindi per ottenere indicazioni attendibili evitate di lanciarlo mentre la CPU sta facendo altre cose.
 
= Opzioni utili =
 
In <tt>xorg.conf</tt> ci sono alcune opzioni specifiche del driver nvidia che si posono inserire nella sezione "Device", per esempio se non vogliamo vedere il logo Nvidia ad ogni avvio possiamo inserire:
<pre>
Option "NoLogo" "1"
</pre>
invece per usare il codice AGP del driver proprietario invece di quello libero possiamo inserire:
<pre>
Option "NvAGP" "On"
</pre>
personalmente con questa opzione attivata riscontro con glxgears un aumento di prestazioni pari al 50%.
 
In certi casi ci possono essere dei problemi nell'uso di un monitor esterno su di un laptop:  per ovviare all'inconveniente si può provare ad aggiungere
<pre>
Option "UseEDID" "0"
</pre>
 
Per abilitare l'uso dell'uscita TV come monitor addizionale (ove disponibile)
<pre>
Option "TwinView"
</pre>
 
Se l'immagine sulla TV risulta essere in bianco e nero o con i colori falsati occorre impostare lo standard video utilizzato.
<pre>
Option "TVStandard" "PAL-B"
</pre>
 
Ci sono molte altre opzioni possibili, che trovate elencate, su Debian, in <tt>/usr/share/doc/nvidia-glx/README.txt.gz</tt>.
 
----
Autore: [[Utente:Bedo|Bedo]]
[[Categoria:Desktop]][[Categoria:Hardware]]
 
Correzioni, metodo 2, verifica e opzioni utili aggiunti da [[Utente:tindal|tindal]]
 
Opzioni TV e altre correzioni minori [[Utente:test|test]]