Installazione driver proprietari Nvidia: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
 
(77 versioni intermedie di 9 utenti non mostrate)
Riga 1: Riga 1:
==Caratteristiche==
{{Non-free|Valutare la possibilità di utilizzare i driver liberi "nouveau" che supportano egregiamente la maggioranza delle schede Nvidia. Potrebbe essere necessario utilizzare un kernel recente (ad esempio prelevato dai [[Il repository Backports|backports]] per chi utilizza una [[stable]]) nel caso si abbiano problemi di riconoscimento della periferica o di configurazione del driver.}}


* Intel Pentium M 1.6 GHz
{{Versioni compatibili|Squeeze|Wheezy}}
* 2x256 MB DDR-SDRAM
__TOC__
* 40 GB Matshita hd
* ATI Mobility Radeon 9600 M10 (RV350)
* Audio Intel AC'97
* Matshita DVD-RAM UJ-820s
* Realtek Ethernet Controller
* LCD 15.4"
* ENE PCMCIA Controller
* Intel Pro/Wireless 2200BG
* Alps Touchpad


<pre># lspci
== Introduzione ==
0000:00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
L'installazione dei driver proprietari Nvidia su Debian si può fare in tre modi, tutti abbastanza semplici da mettere in pratica.
0000:00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
0000:00:01.0 PCI bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to AGP Controller (rev 02)
0000:00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
0000:00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
0000:00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
0000:00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
0000:00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
0000:02:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
0000:02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
0000:02:02.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)
0000:02:04.0 CardBus bridge: ENE Technology Inc CB-710/2/4 Cardbus Controller
0000:02:04.1 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller
0000:02:04.2 0805: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller
0000:02:04.3 FLASH memory: ENE Technology Inc: Unknown device 0520</pre>


==Installazione di Debian Etch==
Il primo metodo prevede l'installazione dei driver proprietari utilizzando i [[pacchetto|pacchetti]] presenti nei [[repository]] di Debian.<br/>
Il vantaggio di questo metodo consiste nella possibilità di usufruire degli aggiornamenti direttamente dai repository di Debian oltre al fatto di non dover ricompilare il modulo della scheda video all'aggiornamento del [[kernel]]. Di questo se ne occuperà il [[DKMS]].


Secondo me il modo pi� veloce � utilizzare la Netinst che ci permete di installare solo quello che vogliamo, a maggior ragione se si possiede una connesione ADSL tramite router. Tuttavia quello che segue � valido per qualsiasi metodo scelto.
Il secondo 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 è però destinato agli sviluppatori pertanto ne '''è sconsigliato l'uso all'utente finale'''; se si intraprende questa strada verrà aggirato 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.


Il comando di boot per installare � questo:
Il terzo 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 non tutte le versioni dei driver sono disponibili (vedi il paragrafo successivo "Versioni del driver") e, per quelle che ci sono, gli aggiornamenti arrivano sempre con qualche giorno di ritardo rispetto all'installer, come è ovvio che sia.
<pre>install acpi=yes vga=792</pre>
{{Box|Nota:|con l'inserimento dell'infrastruttura DKMS questo terzo metodo non è più necessario e viene mantenuto per retrocompatibilità.}}


Se volete usare il nuovo installer grafico il comando � il seguente:
{{Box|Nota|I comandi di questa guida necessitano di interfacciarsi con il sistema attraverso un [[terminale]] oppure un emulatore di terminale. Pertanto potrebbe essere necessario, in caso di errata o mancata configurazione dei driver o di mancato riconoscimento delle periferiche che portano a un server grafico non funzionante (schermo nero in avvio), premere la combinazione di tasti "Ctrl+Alt+F1" per accedere a <code>tty1</code>.}}
<pre>installgui acpi=yes vga=792</pre>


===Partizionamento===
{{Warningbox|Si raccomanda di usare <b>uno solo</b> dei tre metodi proposti.}}


Ad un certo punto ci troviamo davanti al partizionatore. Le teorie su come partizionare il disco rigido sono tante. Un corretto partizionamento, basato sull'uso che si vuol fare della macchina, rende il sistema pi� sicuro e pi� usabile. Io non sono un grande esperto quindi provate ad informarvi bene su questo punto cercando in rete, consultando pi� di un howto. In definitiva io farei almeno tre partizioni:
== Versioni del driver ==
Attualmente esistono nei repository varie serie di driver NVIDIA:
* 71xx (old): supporta solo le schede video più datate ed è presente in [[Wheezy]].
* 96xx (old): anch'esso per schede datate (ma più recenti della serie precedente); è presente in Squeeze, Wheezy e nei [[Il repository Backports|backports]] di Wheezy.
* 173xx (legacy): altro driver per schede video datate. È presente nei backports di Wheezy.
* 304xx (legacy): driver per schede non recenti. È disponibile per Wheezy (dai backports), [[Jessie]] e [[Sid]].
* 319xx e 340xx: le versioni più recenti dei driver proprietari installate automaticamente dal pacchetto "nvidia-driver".


* 5-7 GB per la partizione di root ( / ), cio� dove risiede il sistema operativo;
Per capire quale versione deve essere installata, si può far ricorso al comando "nvidia-detect" disponibile dopo l'installazione del pacchetto omonimo:
* 1-2 GB per la partizione di swap, cio� la memoria virtuale, usata in mancanza di RAM;
<pre># apt-get install nvidia-detect</pre>
* il restante spazio (nel nostro caso 31-34 GB) per la partizione di home ( /home ), dove risiedono i file degli utenti.
Dopo l'installazione del pacchetto è sufficiente un:
<pre>$ nvidia-detect</pre>


Il file system da utilizzare per la partizione di root � a scelta Ext3 o Reiserfs (Grub ha dei problemi a installarsi su XFS o JFS). In definitiva consiglierei Ext3, visto che Reiserfs non viene (credo) pi� sviluppato, dopo i problemi legali del suo sviluppatore.
che suggerirà il [[pacchetto]] da installare per ottenere i driver proprietari necessari al funzionamento della propria scheda.


La scelta per il file system per la partizione di home � pi� ampia, ma dipende comunque dall'uso che farete del vostro computer. In generale Ext3 rimane ancora una scelta abbastanza valida. Se il vostro disco rigido ospiter� tanti file di piccole dimensioni, Reiserfs avr� qualche vantaggio prestazionale, altrimenti XFS e JFS, che sono pi� recenti (anche se in teoria pi� instabili) sono consigliabili.
== Metodo 1: driver proprietari pacchettizzati ==
Utilizzando questo metodo i passi da seguire sono i seguenti, tutti abbastanza semplici se non banali.


===Installazione===
=== Installazione dei pacchetti ===
* Assicurarsi che sia presente la [[sezione]] <code>non-free</code> dei [[repository]] in <code>/etc/apt/sources.list</code>. Ad esempio (per [[Wheezy]]):<pre>deb http://ftp.it.debian.org/debian/ wheezy main contrib non-free</pre>
* Aggiornare la lista dei pacchetti:<pre># apt-get update</pre>
* Installare i pacchetti necessari al funzionamento della scheda, gli headers del kernel attualmente in uso e il tool di configurazione grafico:<pre># apt-get install nvidia-glx nvidia-settings linux-headers-`uname -r`</pre> come dipendenze verranno anche installati i pacchetti: <code>dkms, nvidia-kernel-common</code> e <code>nvidia-kernel-dkms</code> .<br/>L'installazione può essere ulteriormente semplificata ricorrendo ai suggerimenti di "nvidia-detect" (come spiegato in precedenza), per cui in genere è sufficiente il comando:<pre># apt-get install nomepacchetto</pre>dove ''nomepacchetto'' (tipicamente un [[metapacchetto]]) va sostituito con il nome del pacchetto suggerito da "nvidia-detect"; in questo modo verranno installati automaticamente tutti i pacchetti necessari.


Dopo aver impostato utenti e password e aver scelto di installare Grub nel Master Boot Record, verr� il momento di scegliere il tipo di installazione. Il mio consiglio � quello di selezionare solamente '''Sistema base''' e '''Portatile'''. Non credo che selezionare anche '''Ambiente desktop''' sia sensato, in quanto di default viene messo Gnome (a meno che non sia quello che vogliate voi ;) ).
=== Configurazione di Xorg ===
Finita l'installazione, bisogna fare in modo che il server grafico sappia che si intende utilizzare il driver proprietario "nvidia". Si hanno diverse scelte:
* modificare la voce «Driver», specificando il driver "nvidia", nella sezione «Device» in <code>/etc/X11/xorg.conf</code> . Ad esempio una riga:<pre>...&#10;Driver "vesa"&#10;...</pre>diventerà:<pre>...&#10;Driver "nvidia"&#10;...</pre>Nel caso il file non dovesse esistere (caso comune in quanto il sistema rileva automaticamente le impostazioni della scheda video), crearlo con questo contenuto:<pre>Section "Device"&#10;Identifier  "nomescheda"&#10;Driver  "nvidia"&#10;EndSection</pre>(''nomescheda'' può essere scelto a proprio piacimento).<br/>Questo è il metodo consigliato in caso di assenza del file <code>/etc/X11/xorg.conf</code> .
* inserire la seguente sezione in un file in <code>/etc/X11/xorg.conf.d/</code> con estensione <code>.conf</code> e un nome a piacere, ad esempio <code>nvidia.conf</code> . Si noti che la directory, se mancante, deve essere preventivamente creata con il comando:<pre># mkdir /etc/X11/xorg.conf.d</pre>


L'installer a questo punto scaricher� (da internet o dal cd/dvd) il necessario per il sistema base. Una volta installato e configurato, riavviamo e facciamo il login nel sistema. Adesso � il momento di installare il necessario per il desktop:
La sezione conterrà qualcosa di simile:
<pre>
<pre>
# aptitude install xserver-xorg kde kde-i18n-it
Section "Device"
Identifier "nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)]"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
</pre>
</pre>
'''I dati qui sopra riportati, in particolare le voci «Identifier» e «BusID», sono solo di esempio ed equivalgono all'output opportunatamente adattato di'''
<pre>$ lspci | grep VGA
    01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] (rev a1)</pre>
'''non vanno assolutamente presi alla lettera, se non si è sicuri usare i [[#Configuratori grafici|configuratori grafici]] appositi come illustrato più avanti.'''
In particolare:<br/>
;Identifier:È la stringa che identifica la scheda video e può essere scelta a piacimento (le virgolette sono necessarie). Questa voce è obbligatoria.
;Driver:Il driver da utilizzare: lasciare la stringa "nvidia". Questa voce è obbligatoria.
;BusID:L'identificativo del bus su cui è presente la scheda video. Specificarlo solo se ci si trova nel raro caso in cui l'hardware non venga correttamente rilevato. Questa voce non è obbligatoria.


Sostituiamo <tt>'''kde kde-i18n-it'''</tt> con <tt>'''gnome'''</tt> o <tt>'''xfce4'''</tt> per i rispettivi desktop environment.  
Un esempio funzionante potrebbe essere:
Se vogliamo qualcosa di pi� carino, ci conviene installare anche un desktop manager come <tt>'''kdm''', '''gdm''' o '''xdm'''</tt>.
<pre>
Section "Device"
Identifier "La mia scheda nvidia"
Driver "nvidia"
EndSection
</pre>
Per informazioni sul file <code>/etc/X11/xorg.conf</code> si veda la [[#Creazione del file xorg.conf|sezione apposita]].


==Configurazione==
=== Headers del kernel ===
Se l'aggiornamento del kernel comporta un salto di ''minor revision'', ad esempio da 2.6.30 a 2.6.32 oppure da 2.6.32 a 2.6.34, bisogna necessariamente installare gli headers del nuovo kernel. Ciò avverrà in automatico se si è provveduto ad installare il [[metapacchetto]] <code>linux-headers-2.6-*</code> (ad esempio "linux-headers-amd64").<br/>
In mancanza degli [[headers]] per il nuovo kernel si otterrà, dopo che quest'ultimo è stato scelto al riavvio del sistema, l'impossibilità di far funzionare il server grafico con i vecchi driver "nvidia": tipicamente ci si trovera ad osservare una tetra schermata nera.<br/>
Per installare gli headers e nel caso non si abbia il metapacchetto:
<pre>
# apt-get install linux-headers-[TAB]
</pre>
se è stato installato il nuovo kernel ma non è stato ancora riavviato il sistema (premere il tasto [TAB] per attivare l'[[Come_abilitare_il_completamento_automatico_'avanzato'|autocompletamento]]).<br/>
Alternativamente:
<pre>
# apt-get install linux-headers-`uname -r`
</pre>
nel caso sia stato riavviato il sistema scegliendo il nuovo kernel dal menù di Grub.<br/>
Si noti che, nell'eventualità ci si trovasse davanti alla schermata nera, sarà necessario accedere a <code>tty1</code> tramite la combinazione di tasti "Ctrl+Alt+F1".


===LAN===
Se si ha poca dimestichezza nel destreggiarsi tra pacchetti e loro versioni, si consiglia caldamente si installare il [[metapacchetto]] suggerito da "nvidia-detect" che permetterà di installare tutti gli headers necessari e di mantenerli aggiornati nel tempo. In questo modo ci si può dimenticare tutte le operazioni manuali di aggiornamento dovute al cambio di versione del [[kernel]]; a questo penserà automaticamente il sistema di gestione dei pacchetti [[APT]].


Sono riuscito a configurare correttamente la connessione a internet tramite router.
=== Errori ===
Se si utilizza Debian stable e si ha una scheda grafica abbastanza recente, è facile che la versione di <code>nvidia-glx</code> presente nei repository sia troppo vecchia e il server X non parta lamentando qualcosa di simile a  


La procedura � ben descritta in [[Condividere la connessione a internet]].
<pre>Failed to initialize GLX extension (Compatible NVIDIA X driver not found)</pre>


===Wireless===
Prima di valutare se tentare la sorte di apt-pinning selvaggi (se stai leggendo questa guida è probabilmente sconsigliato) o di passare al metodo due, è utile accertarsi che gli attuali driver supportino il modello della scheda:


La scheda di rete wireless � riconosciuta automaticamente dal kernel. Dobbiamo solamente mettere il firmware reperibile [http://ipw2200.sourceforge.net/firmware.php qui] in <tt>/lib/firmware/</tt>. La versione da scaricare dovrebbe essere la 3.0 .
<pre>$ zless /usr/share/doc/nvidia-glx/README.txt.gz</pre>


====Il WEP====
una volta aperto il file premere il tasto "/" (slash), inserire a fianco il numero di serie della scheda ottenuto con:


No problem !
<pre>$ lspci | grep VGA
    01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] (rev a1)</pre>


A.S.: Il KWiFIManager e' utile, ma non per configurare la chiave WEP!!!
quindi in questo caso sarà "GeForce 6200" e premere il tasto "Return" (invio):


;Importante: In primis, abilitate la chiave WEP nel router (esempio io la ho abilitata in 128 bit)
<pre>/GeForce 6200 <invio></pre>
e '''scrivetevi il codice esadecimale''' in un foglio senza sbagliare !!
# Da Konsole digitate : network-admin (lo trovate anche nel menu' K) e vi chiedera' la password di amministratore.. inseritela !
# Una volta "entrati dentro", cliccate sull'icona del Wireless, e poi cliccate sull'icona "modifica" (e' un'icona con una chiave inglese) e inserite la chiave WEP in esadecimale (ex:ABF0D3...); non occorre aggiungere "0x" avanti alla chiave, (0xABFoD3...NO!!) digitatela direttamente in esadecimale (ABF0D3...SI!)
# selezionate la casellina "questo dispositivo e' configurato"
# le altre opzioni se volete... tipo ESSID Dopo premete OK (due volte) e reboot !!!


Sperando di non essermi dimenticato qualcosa... ciao!
Si giungerà alla sezione che elenca tutte le serie supportate (è una semplice ricerca nel testo, più semplice a farsi che spiegarlo :)


Fine .
=== Rimozione ===
(by jockerfox)
Se la vostra serie non risulta, disinstallate tutto e procedete con il metodo due:
<pre># aptitude purge ~nnvidia</pre>


===VIDEO===
=== Verifica ===
Da terminale eseguire
<pre>$ glxinfo | grep rendering
direct rendering: Yes
</pre>
Nel caso di risposta affermativa, i vostri driver dovrebbero essere pronti all'utilizzo.


====Utilizzare i driver Ati di default====
In alternativa è possibile usare come strumento '''''glxgears''''', che si trova all'interno del pacchetto '''''mesa-utils'''''.


I driver Ati di default sono parzialmente accelerati. Dalla mia esperienza � possibile usarli tranquillamente. E' sufficiente avere le librerie mesa (<tt>libglu1-mesa libgl1-mesa-glx libgl1-mesa-dri</tt>) e modificare il file <tt>/etc/X11/xorg.conf</tt>. Riporto solo le sezioni da aggiungere o modificare:
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.  
<pre>Section "Module"
        ...
        Load    "dbe"
        Load    "dri"
        Load    "extmod"
        Load    "glx"
        ...
EndSection


Section "Device"
Non è pensato per effettuare un vero benchmark, ma è solo un test indicativo, e i suoi risultati dipendono vistosamente dal moltissimi fattori come carico della CPU, dimensione della finestra di esecuzione e altri ancora.
        Identifier      "ATI Technologies, Inc. RV350 [Mobility Radeon 9600 M10]"
        Driver          "ati"
        BusID          "PCI:1:0:0"
EndSection


Section "DRI"
=== Configuratori grafici ===
        Mode    0666
'''<code>nvidia-xconfig</code>''' aiuta a modificare i file di configurazione di X (quindi xorg.conf e simili) per inserire opzioni a volte difficili da comprendere o scovare.
EndSection</pre>


Se invece vogliamo utilizzare i drive proprietari Ati:
'''<code>nvidia-settings</code>''' permette di regolare alcuni parametri legati alla scheda video e al monitor quali luminosità, gamma, attributi XVideo, temperatura e configurazione OpenGL.


la guida � qui: [[Installazione driver proprietari Ati]].
Alcune modifiche apportate, per avere effetto o per essere applicate in modo definitivo, richiedono che questi strumenti vengano eseguiti con i permessi di root attraverso '''<code>kdesu</code>''' oppure '''<code>gksu</code>'''.


Dopo le modifiche '''riavviamo X.'''
== Metodo 2: 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 <code>uname -r</code>) 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).
Per installarli, è sufficiente digitare:
# apt-get install linux-headers-`uname -r`


====xorg.conf====
* Driver corretto per la nostra architettura scaricabile da [http://www.nvidia.com www.nvidia.com]


Questo e' il mio <tt>xorg.conf</tt>:
{{Box|Nota:|se avete compilato un kernel personalizzato, il pacchetto degli headers per il vostro kernel può non esistere, nel qual caso dovete usare i sorgenti del kernel configurati; se avete compilato un kernel personalizzato con kernel-package ([[Debian Kernel Howto]]), invece, potete generare e utilizzare il pacchetto kernel-headers con la stessa utility.}}
<pre>
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#  sudo dpkg-reconfigure -phigh xserver-xorg


Section "Files"
=== Cosa fare ===
FontPath "/usr/share/fonts/X11/misc"
Prima di tutto occorre chiudere X. Non basta fare logout, bisogna proprio arrestare il server grafico: se avete installato un desktop manager andate in una console testuale (per es. con <code>Ctrl+Alt+F1</code>), e usate, da root:
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"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection


Section "Module"
<pre># invoke-rc.d gdm stop</pre>
Load "dbe"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection


Section "InputDevice"
se il vostro desktop manager è GDM, oppure:
Identifier "Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "it"
EndSection


Section "InputDevice"
<pre># invoke-rc.d gdm3 stop</pre>
Identifier "Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Emulate3Buttons" "true"
EndSection


Section "InputDevice"
se il vostro desktop manager è GDM3, oppure:
Identifier    "Touchpad"
Driver        "mouse"
Option        "Device"        "/dev/input/mice"
Option       "Name" "AlpsPS/2 ALPS GlidePoint"
Option        "Protocol"      "ExplorerPS/2"
Option       "Vendor" "Sysp"
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.015"
Option        "SHMConfig"    "on"
EndSection


Section "Device"
<pre># invoke-rc.d kdm stop</pre>
Identifier "ATI Technologies, Inc. RV350 [Mobility Radeon 9600 M10]"
Driver "ati"
Option "ColorTiling"    "on"            # Aggiunto per AIGLX
Option "EnablePageFlip" "true"          # Aggiunto per AIGLX
Option "AccelMethod"    "EXA"          # Aggiunto per AIGLX
Option "RenderAccel"    "true"          # Aggiunto per AIGLX
Option "AGPFastWrite"  "on"            # Aggiunto per AIGLX (Sperimentale)
Option "AGPMode"        "8"            # Aggiunto per AIGLX (Sperimentale)
Option "XAANoOffscreenPixmaps" "true" # Aggiunto per Compiz
BusID "PCI:1:0:0"
EndSection


Section "Monitor"
se il vostro desktop manager è KDM.
Identifier "Monitor"
Option "DPMS" "true"
HorizSync 30-70
VertRefresh 50-100
EndSection


Section "Screen"
Ora, controllate (con <code>ls -l</code>) che il link <code>/usr/src/linux</code> punti agli headers del kernel in funzione o ai sorgenti.
Identifier "Screen"
Device "ATI Technologies, Inc. RV350 [Mobility Radeon 9600 M10]"
Monitor "Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
EndSection


Section "ServerLayout"
In caso contrario,
Identifier "Default Layout"
Option "AIGLX" "true"  # Aggiunto per AIGLX
Screen          "Screen"
# Option "BlankTime" "1" # Oscura lo schermo dopo x minuti (Fake)
# Option "StandbyTime" "3" # Spegne lo schermo dopo x minuti (DPMS)
# Option "SuspendTime" "10" # Sospende dopo x minuti
# Option "OffTime" "30" # Spegne dopo x minuti
InputDevice "Keyboard"
InputDevice "Mouse"
InputDevice "Touchpad" "AlwaysCore"
EndSection


Section "DRI"
<pre># ln -s /usr/src/linux-`uname -r` linux</pre>
Mode 0666
EndSection


Section "Extensions"
Si noti che i sorgenti '''devono''' essere configurati esattamente come il nostro kernel corrente.
Option "Composite" "Enable"
EndSection


### EOF ###
Per fare un esempio supponiamo di aver installato il .deb dei sorgenti, e di doverli quindi configurare:
<pre>
$ cd /usr/src
$ tar xvfj linux-source-xxx
$ cd linux-source-xxx
$ cp /boot/config-`uname -r` .config
$ make oldconfig
</pre>
</pre>


===AUDIO===
{{Warningbox|Potreste aver già installato un driver NVIDIA, in questo caso:
#Se lo avete installato voi, allora questa guida non vi serve perché 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 più aggiornata. }}


Bisogna installare i paccheti ALSA:
In una nuova installazione da Squeeze con il kernel 2.6.32-5 in poi, il driver libero nouveau è caricato in modo predefinito e interferirà con quello proprietario.
<pre># apt-get install alsa-base alsa-utils</pre>
Occorre disattivare il caricamento di nouveau inserendo in <code>/etc/modprobe.d/blacklist.conf</code> le seguenti righe:
Poi fare un bel:
<pre>
<pre># alsaconf</pre>
blacklist nouveau
seguire le istruzioni e poi:
options nouveau modeset=0
<pre># alsamixer</pre>
</pre>  
per settare i volumi.
quindi riavviare il sistema ed eseguire l'installer.


===Touchpad===
''The first line will prevent Nouveau’s kernel module from loading automatically at boot. It will not prevent manual loading of the module, and it will not prevent the X server from loading the kernel module.''
''The second line will prevent Nouveau from doing a kernel modeset. Without the kernel modeset, it is possible to unload Nouveau’s kernel module, in the event that it is accidentally or intentionally loaded.''


Questo portatile ha un touchpad Alps, ma funziona anche con i driver Synaptics (a patto di rinunciare al tapping e allo scrolling, se non sbaglio).
Per avviare l'installazione dobbiamo spostarci nella directory dove abbiamo salvato il driver Nvidia e dare il comando:


Per usare i driver Synaptics, la guida � qui: [[Synaptics touchpad]].
<pre># sh NVIDIA-*</pre>


Se invece non volete usare i suddetti driver, quindi far funzionare il tapping e lo scrolling pi� felicemente, lasciate la configurazione presente nel file <tt>xorg.conf</tt> riportato sopra. Probabilmente i valori sono da aggiustare.
dove <code>NVIDIA-*</code> è il nome del driver che abbiamo scaricato.


===PCMCIA===
{{Box|Aggiornamento:|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:


Su internet ho trovato che l'adattatore PCMCIA, su questo modello, � riconosciuto con il modulo <tt>yenta_socket</tt>.
<pre># sh NVIDIA-* --x-module-path=/usr/lib/xorg/modules/</pre>
Con le versioni più recenti dei driver la specificazione del percorso può essere omessa. }}


===Gestione energetica===
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.


Date un'occhiata qui: [[Cpufreqd: Cpuscaling per Intel Pentium M]]
Il nuovo installer permette l'aggiornamento automatico di <code>xorg.conf</code>. Potete farlo anche a mano, semplicemente modificando il file <code>/etc/X11/xorg.conf</code> come indicato nel metodo 1.


Io, per risolvere, ho attivato i seguenti moduli:
{{ Warningbox |
<pre>acpi-cpufreq
Durante l'installazione potremmo essere avvertiti del fatto che la versione di gcc non è corretta.
ac
Per verificare la corretta versione in uso usiamo il terminale:
battery
<pre>
button
$ cat /proc/version
fan
Linux version 2.6.32-5-686 (Debian 2.6.32-15) (ben@decadent.org.uk)
processor
(gcc version 4.3.5 (Debian 4.3.5-1) ) #1 SMP Tue Jun 1 04:59:47 UTC 2010
thermal
</pre>
cpufreq_userspace
in questo caso il comando da dare sarà:
freq_table</pre>
<pre>
� possibile farlo con <tt>modconf</tt>.
# CC=/usr/bin/gcc-4.3 sh NVIDIA*.run
Comunque molti sono gia' attivati.
</pre>
Inoltre vanno installati:
}}
<pre>acpi cpufreqd cpufrequtils</pre>
Se tutto è andato a buon fine, possiamo far ripartire il server grafico con il comando:
Con il comando:
# invoke-rc.d gdm start
<pre>cpufreq-set</pre>
 
potete cambiare la frequenza del processore. Esempio:
se il vostro desktop manager è GDM, oppure:
<pre>cpufreq-set -f 1.2GHz</pre>
oppure ottenere info con:
<pre>cpufreq-info</pre>


Se vi intendete di liguaggio C, o avete lavorato per Microsoft o Intel, potete provare a ricompilarvi la DSDT (Differentiated System Description Table). Questo vi permetter�, forse, di ottenere prestazioni migliori, di correggere qualche errore o di aggiungerne di nuovi. La guida � qui: [[ACPI e DSDT]].
# invoke-rc.d gdm3 start


===Sensori===
se il vostro desktop manager è GDM3, oppure:


Guida: [[I2c e lm-sensors]]
# invoke-rc.d kdm start


Anche se questo laptop dovrebbe avere i sensori per le temperature e la ventola, <tt>lm-sensors</tt> non sembra rilevarli.  
se il vostro desktop manager è KDM.


===Note per Debian Sarge===
=== Driver Nvidia per diversi kernel ===
Molto spesso si avverte l'esigenza di dover avviare il driver Nvidia per ciascun kernel presente nel nostro sistema. L'installazione di default del driver per uno specifico kernel, infatti, rimuove una precedente installazione eseguita per un kernel differente; questo costringe ad avviare l'installer Nvidia ogni volta che si avvia un diverso kernel dal menù di Grub.


Riporto a fini di completezza alcuni accorgimenti per installare Debian Sarge:
Per evitare questo fastidio basta lanciare l'installer passandogli l'opzione <code>''''-K''''</code>. Specificando l' opzione <code>''''kernel --kernel-name=***''''</code> verrà installato solo il modulo Nvidia per il kernel desiderato senza disinstallare il precedente driver, il tutto si può fare da una sessione terminale senza spegnere X o uscire dal nostro DE/WM:


====Installazione====
Dove *** è la versione del kernel per cui si vuole compilare il modulo ad esempio per ''linux-image-3.1.0-1-amd64'' sarà :
Il comando di boot per installare:
<pre>
<pre>linux26 acpi=yes vga=792 hw-detect/start_pcmcia=false</pre>
# sh NVIDIA-* -K --kernel-name=3.1.0-1-amd64
per impedire all'installer di bloccarsi al rilevamento del controller PCMCIA. Appena finita la prima parte di installazione, subito dopo il riavvio, dobbiamo sistemare la configurazione del PCMCIA (vedi appena sotto).
</pre>
Questo comando presuppone che il driver Nvidia sia già stato installato almeno una volta con il metodo descritto nel precedente paragrafo e che la versione del driver sia esattamente la stessa del modulo che si va ad installare.


====PCMCIA====
=== Disinstallazione ===
(by  [[Utente:Alex|Alex]])
Per rimuovere i driver installati con questo metodo, è sufficiente arrestare il server grafico ed eseguire:
<pre># sh NVIDIA*.run --uninstall</pre>


Sistemiamola procedendo in questo modo:


Al GRUB, selezionare:
== Metodo 3: module-assistant ==
<pre>Debian GNU/LINUX, kernel 2.6.8-2-686 (failsafe)</pre>
=== Occorrente ===
in maniera da accedere come root alla console. A questo punto bisogna dare i seguenti comandi:
Per usare questo metodo è sufficiente una connessione ad internet, oltre, ovviamente, a module-assistant: se non l'abbiamo:
<pre># nano /etc/pcmcia/config.opts</pre>
<pre># aptitude install module-assistant</pre>
Si aprir� il file di configurazione della pcmcia, dove bisogna cercare la seguente riga:
<pre>include port 0x800-0x8ff</pre>
e commentarla con #:
<pre>#include port 0x800-0x8ff</pre>
A questo punto, salvato il file, si potr� dare il reboot e concludere l'installazione normalmente.


====Server X====
=== Cosa fare ===
Configuriamo il server XFree86 nel file <tt>/etc/X11/XF86Config-4</tt>, riporto solo le sezioni da modificare:
Come per l'altro metodo, bisogna arrestare il server grafico, e poi non dobbiamo fare altro che eseguire module-assistant:
<pre>
<pre>
Subsection "Display"
<Ctrl+Alt+F1> ----> login come root
    Deph          24
    Modes        "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
 
Section "Monitor"
Identifier "Monitor"
HorizSync 30-70
VertRefresh 50-100
Option "DPMS"
EndSection</pre>


Nota: Nel Toshiba M30X-159, per vedere bene le risoluzioni da 1024x768 in su.. ho dovuto modificare nella sezione "Monitor" la sincronizzazione orizzontale e verticale nel seguente modo :
# invoke-rc.d kdm stop
<pre>
# m-a
Section "Monitor"
Identifier "LPL:0000"
HorizSync 30-61
VertRefresh 56-75
Option "DPMS"
EndSection
</pre>
</pre>


====Wireless====
module-assistant ci mostra un menu grafico (ncurses) 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;


Guida@Debianizzati.org : [[Intel PRO/Wireless 2200BG]]
il tutto senza uscire da m-a.


=====Debian way=====
{{Box|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 <code>/usr/src/linux</code> in modo che punti agli headers o ai sorgenti:
''(by ckale)''
<pre>
# ln -s /usr/src/linux-headers-xxx /usr/src/linux
</pre>}}


Per evitare, in parte, di fare il passaggio 1 e 2  (vedi sotto), installate attraverso apt-get il "[[Pagina di manuale di module-assistant|module-assistant]]". Questo vi consentir� di recuperare, pachettizzare ed installare il modulo per il ipw2200. Una volta installato, con <tt>apt-get install module-assistant</tt> modifichiamo anche il source.list di apt che si trova <tt>/etc/apt/source.list</tt> aggiungendo "non-free" e "contrib" sia per il repo "deb" che deb-src come in esempio :
A questo punto bisogna modificare <code>/etc/X11/xorg.conf</code>, nella sezione "Device", in modo che nella riga "Driver" sia scritto <code>'''nvidia'''</code> (di solito al posto di <code>'''nv'''</code> o <code>'''vesa'''</code>), inoltre bisogna sostituire, nella sezione "Module", le righe:
<pre>
Load    "dri"
Load    "GLcore"
</pre>
con la riga:
<pre>
Load    "glx"
</pre>


deb http://debian.fastweb.it/debian/ stable main non-free contrib
Se invece di una nuova installazione state facendo un aggiornamento, è probabile che sia ancora in memoria il modulo vecchio: potete controllare con:
deb-src http://debian.fastweb.it/debian/ stable main non-free contrib
<pre>
$ lsmod | grep nvidia
</pre>
se il modulo viene elencato non dovete fare altro che rimuoverlo prima di riavviare il server grafico (da root):
<pre>
# rmmod nvidia
</pre>


Un volta fatto ci� aggiorniamo apt-get update e lanciamo module-assistant.
Ora 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ò avviare X:
Ricordiamoci pero' di copiare i file firmware nella cartella <tt>/usr/lib/hotplug/firmware/</tt> (con il [[Udev e Debian|nuovo udev]] il percorso � <tt>/lib/firmware</tt>).
<pre>
# aptitude install nvidia-glx nvidia-settings
# invoke-rc.d kdm start
</pre>


A questo punto proviamo a caricare il modulo con modprobe ipw2200


Una volta caricato il modulo procediamo con l'installazione delle utility wireless, apt-get install wireless-utility. Con il comando iwconfig possiamo vedere le interfacce di rete wifi.  
== Opzioni utili ==
In <code>/etc/X11/xorg.conf</code> ci sono alcune opzioni specifiche del driver Nvidia che si possono 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%.


{{Warningbox|Se non funziona controllate il log del modprobe e verificate che il modulo cerchi il driver corretto, mi � capitato che lui cercasse un file con un nome diverso, naturalmente mi � bastato rinominare i firmware ;)}}
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>


=====Old Style=====
Per abilitare l'uso dell'uscita TV come monitor addizionale (ove disponibile):
''(by jockerfox)''
<pre>
Option "TwinView"
</pre>


1) Dal sito Sourceforge.net
Se l'immagine sulla TV risulta essere in bianco e nero o con i colori falsati occorre impostare lo standard video utilizzato:
scaricate i seguenti pacchetti :
<pre>
Option "TVStandard" "PAL-B"
</pre>


http://ipw2200.sourceforge.net/#downloads il driver "ipw2200-1.0.4.tgz"
Ci sono molte altre opzioni possibili, che trovate elencate, su Debian, in <code>/usr/share/doc/nvidia-glx/README.txt.gz</code>.
http://ipw2200.sourceforge.net/firmware.php il firmware "v1.0.4-current firmware"


Con Synaptic scaricare i seguenti pacchetti:
===Creazione del file xorg.conf===
:1: kernel-headers-2.6.8-2-686 (in automatico scaricher� anche kernel-headers-2.6.8-2 e kernel-kbuild-2.6-3)
<span id="xtemplate">Se il file <code>/etc/X11/xorg.conf</code> non fosse presente e si necessita averlo anche solo come template allora bisogna crearlo.</span> <br>
:2: net-tools
Prima di tutto occorre chiudere X. Non basta fare logout, bisogna proprio arrestare il server grafico: se avete installato un desktop manager andate in una console testuale (per es. con <code>Ctrl+Alt+F1</code>), e usate, da root:
<pre># invoke-rc.d gdm stop</pre>


2) Fatto cio':
se il vostro desktop manager è GDM, oppure:
:* scompattare "ipw2200-1.0.4.tgz" in una directory qualsiasi e da SU (#) fate un "make", poi "make install"
:* scompattare in una diversa directory "v1.0.4-current firmware" e copiare tutto in /usr/lib/hotplug/firmware/


'''P.S.''': non occorre copiare i file tipo "LICENZE" e varie... che non servono a nulla.
<pre># invoke-rc.d gdm3 stop</pre>


3) aprite una Konsole e da SU scrivete "nano /etc/network/interfaces" e aggiungete prima di eth0:
se il vostro desktop manager è GDM3, oppure:


<pre>
<pre># invoke-rc.d kdm stop</pre>
auto eth1
iface eth1 inet dhcp
</pre>


4) reboot ... e funziona !!
se il vostro desktop manager è KDM.


{{Warningbox|Ricordate di mettere il router senza chiave WEP (o varie cifrature) per essere sicuru che tutto funzioni come da dovere... dopo di che' abilitate allora la Key WEP nel router (vedi sopra)}}
Quindi eseguire:
<pre># Xorg -configure</pre>


====Guida veloce====
Il file in questione è generato tramite un rivelamento automatico dell'hardware ma di fatto contiene parecchie voci ormai inutili come ad esempio i moduli o i path dei font che vengono già normalmente caricati. È utile per prendere spunto sulla sintassi e fare modifiche particolari ma non direttamente necessario al funzionamento dei driver.
Una buona guida all'installazione a Debian Sarge � qui:
[http://fabrizio.ciacchi.it/guide.php?pagina=sarge Guida veloce]


Una volta creato si consiglia di dargli una bella pulita e usare solo le parti necessarie quindi spostarlo nella giusta posizione:
<pre># mv /root/xorg.conf.new /etc/X11/xorg.conf</pre>


----
o meglio ancora utilizzare le configurazioni modulari come descritto nel metodo uno.
----


Chiunque volesse contribuire a questa guida � benvenuto (soprattutto e a maggior ragione se ho detto cose '''poco esatte''').
Quindi possiamo far ripartire il server grafico:
<pre># invoke-rc.d gdm start</pre>
se il vostro desktop manager è GDM, oppure:
<pre># invoke-rc.d gdm3 start</pre>
se il vostro desktop manager è GDM3, oppure:
<pre># invoke-rc.d kdm start</pre>
se il vostro desktop manager è KDM.


----
{{Autori
|Autore= [[Utente:Bedo|Bedo]]
|Estesa_da=
:[[Utente:tindal|tindal]] (Correzioni, metodo 2, verifica e opzioni utili)
:[[Utente:test|test]] (Opzioni TV e altre correzioni minori)
:[[Utente:die_z|die_z]] (Modifica nota per kernel personalizzati (kernel-package))
|Verificata_da=
:[[Utente:Mm-barabba|barabba]]
|Numero_revisori=1
}}


Autore: [[Utente:Superflieriam|Superflieriam]]
[[Categoria:Schede video]]
[[Categoria:Laptop]]
[[Categoria:Linux]]

Versione attuale delle 22:45, 19 giu 2016

Lock.png ATTENZIONE: questa guida tratta software a sorgente chiuso e potenzialmente non conforme alle Debian Free Software Guidelines.
Valutare la possibilità di utilizzare i driver liberi "nouveau" che supportano egregiamente la maggioranza delle schede Nvidia. Potrebbe essere necessario utilizzare un kernel recente (ad esempio prelevato dai backports per chi utilizza una stable) nel caso si abbiano problemi di riconoscimento della periferica o di configurazione del driver.


Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 6 "squeeze"
Debian 7 "wheezy"

Introduzione

L'installazione dei driver proprietari Nvidia su Debian si può fare in tre modi, tutti abbastanza semplici da mettere in pratica.

Il primo metodo prevede l'installazione dei driver proprietari utilizzando i pacchetti presenti nei repository di Debian.
Il vantaggio di questo metodo consiste nella possibilità di usufruire degli aggiornamenti direttamente dai repository di Debian oltre al fatto di non dover ricompilare il modulo della scheda video all'aggiornamento del kernel. Di questo se ne occuperà il DKMS.

Il secondo 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 è però destinato agli sviluppatori pertanto ne è sconsigliato l'uso all'utente finale; se si intraprende questa strada verrà aggirato 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.

Il terzo 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 non tutte le versioni dei driver sono disponibili (vedi il paragrafo successivo "Versioni del driver") e, per quelle che ci sono, gli aggiornamenti arrivano sempre con qualche giorno di ritardo rispetto all'installer, come è ovvio che sia.

Info.png Nota:
con l'inserimento dell'infrastruttura DKMS questo terzo metodo non è più necessario e viene mantenuto per retrocompatibilità.


Info.png Nota
I comandi di questa guida necessitano di interfacciarsi con il sistema attraverso un terminale oppure un emulatore di terminale. Pertanto potrebbe essere necessario, in caso di errata o mancata configurazione dei driver o di mancato riconoscimento delle periferiche che portano a un server grafico non funzionante (schermo nero in avvio), premere la combinazione di tasti "Ctrl+Alt+F1" per accedere a tty1.


Warning.png ATTENZIONE
Si raccomanda di usare uno solo dei tre metodi proposti.


Versioni del driver

Attualmente esistono nei repository varie serie di driver NVIDIA:

  • 71xx (old): supporta solo le schede video più datate ed è presente in Wheezy.
  • 96xx (old): anch'esso per schede datate (ma più recenti della serie precedente); è presente in Squeeze, Wheezy e nei backports di Wheezy.
  • 173xx (legacy): altro driver per schede video datate. È presente nei backports di Wheezy.
  • 304xx (legacy): driver per schede non recenti. È disponibile per Wheezy (dai backports), Jessie e Sid.
  • 319xx e 340xx: le versioni più recenti dei driver proprietari installate automaticamente dal pacchetto "nvidia-driver".

Per capire quale versione deve essere installata, si può far ricorso al comando "nvidia-detect" disponibile dopo l'installazione del pacchetto omonimo:

# apt-get install nvidia-detect

Dopo l'installazione del pacchetto è sufficiente un:

$ nvidia-detect

che suggerirà il pacchetto da installare per ottenere i driver proprietari necessari al funzionamento della propria scheda.

Metodo 1: driver proprietari pacchettizzati

Utilizzando questo metodo i passi da seguire sono i seguenti, tutti abbastanza semplici se non banali.

Installazione dei pacchetti

  • Assicurarsi che sia presente la sezione non-free dei repository in /etc/apt/sources.list. Ad esempio (per Wheezy):
    deb http://ftp.it.debian.org/debian/ wheezy main contrib non-free
  • Aggiornare la lista dei pacchetti:
    # apt-get update
  • Installare i pacchetti necessari al funzionamento della scheda, gli headers del kernel attualmente in uso e il tool di configurazione grafico:
    # apt-get install nvidia-glx nvidia-settings linux-headers-`uname -r`
    come dipendenze verranno anche installati i pacchetti: dkms, nvidia-kernel-common e nvidia-kernel-dkms .
    L'installazione può essere ulteriormente semplificata ricorrendo ai suggerimenti di "nvidia-detect" (come spiegato in precedenza), per cui in genere è sufficiente il comando:
    # apt-get install nomepacchetto
    dove nomepacchetto (tipicamente un metapacchetto) va sostituito con il nome del pacchetto suggerito da "nvidia-detect"; in questo modo verranno installati automaticamente tutti i pacchetti necessari.

Configurazione di Xorg

Finita l'installazione, bisogna fare in modo che il server grafico sappia che si intende utilizzare il driver proprietario "nvidia". Si hanno diverse scelte:

  • modificare la voce «Driver», specificando il driver "nvidia", nella sezione «Device» in /etc/X11/xorg.conf . Ad esempio una riga:
    ...
    Driver "vesa"
    ...
    diventerà:
    ...
    Driver "nvidia"
    ...
    Nel caso il file non dovesse esistere (caso comune in quanto il sistema rileva automaticamente le impostazioni della scheda video), crearlo con questo contenuto:
    Section "Device"
    Identifier  "nomescheda"
    Driver  "nvidia"
    EndSection
    (nomescheda può essere scelto a proprio piacimento).
    Questo è il metodo consigliato in caso di assenza del file /etc/X11/xorg.conf .
  • inserire la seguente sezione in un file in /etc/X11/xorg.conf.d/ con estensione .conf e un nome a piacere, ad esempio nvidia.conf . Si noti che la directory, se mancante, deve essere preventivamente creata con il comando:
    # mkdir /etc/X11/xorg.conf.d

La sezione conterrà qualcosa di simile:

Section "Device"
	Identifier	"nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)]"
	Driver		"nvidia"
	BusID		"PCI:1:0:0"
EndSection

I dati qui sopra riportati, in particolare le voci «Identifier» e «BusID», sono solo di esempio ed equivalgono all'output opportunatamente adattato di

$ lspci | grep VGA
     01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] (rev a1)

non vanno assolutamente presi alla lettera, se non si è sicuri usare i configuratori grafici appositi come illustrato più avanti.

In particolare:

Identifier
È la stringa che identifica la scheda video e può essere scelta a piacimento (le virgolette sono necessarie). Questa voce è obbligatoria.
Driver
Il driver da utilizzare: lasciare la stringa "nvidia". Questa voce è obbligatoria.
BusID
L'identificativo del bus su cui è presente la scheda video. Specificarlo solo se ci si trova nel raro caso in cui l'hardware non venga correttamente rilevato. Questa voce non è obbligatoria.

Un esempio funzionante potrebbe essere:

Section "Device"
	Identifier	"La mia scheda nvidia"
	Driver		"nvidia"
EndSection

Per informazioni sul file /etc/X11/xorg.conf si veda la sezione apposita.

Headers del kernel

Se l'aggiornamento del kernel comporta un salto di minor revision, ad esempio da 2.6.30 a 2.6.32 oppure da 2.6.32 a 2.6.34, bisogna necessariamente installare gli headers del nuovo kernel. Ciò avverrà in automatico se si è provveduto ad installare il metapacchetto linux-headers-2.6-* (ad esempio "linux-headers-amd64").
In mancanza degli headers per il nuovo kernel si otterrà, dopo che quest'ultimo è stato scelto al riavvio del sistema, l'impossibilità di far funzionare il server grafico con i vecchi driver "nvidia": tipicamente ci si trovera ad osservare una tetra schermata nera.
Per installare gli headers e nel caso non si abbia il metapacchetto:

# apt-get install linux-headers-[TAB]

se è stato installato il nuovo kernel ma non è stato ancora riavviato il sistema (premere il tasto [TAB] per attivare l'autocompletamento).
Alternativamente:

# apt-get install linux-headers-`uname -r`

nel caso sia stato riavviato il sistema scegliendo il nuovo kernel dal menù di Grub.
Si noti che, nell'eventualità ci si trovasse davanti alla schermata nera, sarà necessario accedere a tty1 tramite la combinazione di tasti "Ctrl+Alt+F1".

Se si ha poca dimestichezza nel destreggiarsi tra pacchetti e loro versioni, si consiglia caldamente si installare il metapacchetto suggerito da "nvidia-detect" che permetterà di installare tutti gli headers necessari e di mantenerli aggiornati nel tempo. In questo modo ci si può dimenticare tutte le operazioni manuali di aggiornamento dovute al cambio di versione del kernel; a questo penserà automaticamente il sistema di gestione dei pacchetti APT.

Errori

Se si utilizza Debian stable e si ha una scheda grafica abbastanza recente, è facile che la versione di nvidia-glx presente nei repository sia troppo vecchia e il server X non parta lamentando qualcosa di simile a

Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Prima di valutare se tentare la sorte di apt-pinning selvaggi (se stai leggendo questa guida è probabilmente sconsigliato) o di passare al metodo due, è utile accertarsi che gli attuali driver supportino il modello della scheda:

$ zless /usr/share/doc/nvidia-glx/README.txt.gz

una volta aperto il file premere il tasto "/" (slash), inserire a fianco il numero di serie della scheda ottenuto con:

$ lspci | grep VGA
     01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce 6200 TurboCache(TM)] (rev a1)

quindi in questo caso sarà "GeForce 6200" e premere il tasto "Return" (invio):

/GeForce 6200 <invio>

Si giungerà alla sezione che elenca tutte le serie supportate (è una semplice ricerca nel testo, più semplice a farsi che spiegarlo :)

Rimozione

Se la vostra serie non risulta, disinstallate tutto e procedete con il metodo due:

# aptitude purge ~nnvidia

Verifica

Da terminale eseguire

$ glxinfo | grep rendering
direct rendering: Yes

Nel caso di risposta affermativa, i vostri driver dovrebbero essere pronti all'utilizzo.

In alternativa è possibile usare come strumento glxgears, che si trova all'interno del pacchetto mesa-utils.

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 moltissimi fattori come carico della CPU, dimensione della finestra di esecuzione e altri ancora.

Configuratori grafici

nvidia-xconfig aiuta a modificare i file di configurazione di X (quindi xorg.conf e simili) per inserire opzioni a volte difficili da comprendere o scovare.

nvidia-settings permette di regolare alcuni parametri legati alla scheda video e al monitor quali luminosità, gamma, attributi XVideo, temperatura e configurazione OpenGL.

Alcune modifiche apportate, per avere effetto o per essere applicate in modo definitivo, richiedono che questi strumenti vengano eseguiti con i permessi di root attraverso kdesu oppure gksu.

Metodo 2: 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 uname -r) 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).

Per installarli, è sufficiente digitare:

# apt-get install linux-headers-`uname -r`
  • Driver corretto per la nostra architettura scaricabile da www.nvidia.com
Info.png Nota:
se avete compilato un kernel personalizzato, il pacchetto degli headers per il vostro kernel può non esistere, nel qual caso dovete usare i sorgenti del kernel configurati; se avete compilato un kernel personalizzato con kernel-package (Debian Kernel Howto), invece, potete generare e utilizzare il pacchetto kernel-headers con la stessa utility.


Cosa fare

Prima di tutto occorre chiudere X. Non basta fare logout, bisogna proprio arrestare il server grafico: se avete installato un desktop manager andate in una console testuale (per es. con Ctrl+Alt+F1), e usate, da root:

# invoke-rc.d gdm stop

se il vostro desktop manager è GDM, oppure:

# invoke-rc.d gdm3 stop

se il vostro desktop manager è GDM3, oppure:

# invoke-rc.d kdm stop

se il vostro desktop manager è KDM.

Ora, controllate (con ls -l) che il link /usr/src/linux punti agli headers del kernel in funzione o ai sorgenti.

In caso contrario,

# ln -s /usr/src/linux-`uname -r` linux

Si noti che i sorgenti devono essere configurati esattamente come il nostro kernel corrente.

Per fare un esempio supponiamo di aver installato il .deb dei sorgenti, e di doverli quindi configurare:

$ cd /usr/src
$ tar xvfj linux-source-xxx
$ cd linux-source-xxx
$ cp /boot/config-`uname -r` .config
$ make oldconfig
Warning.png ATTENZIONE
Potreste aver già installato un driver NVIDIA, in questo caso:
  1. Se lo avete installato voi, allora questa guida non vi serve perché sapete già come fare :)
  2. Se ve lo ha installato un'altra persona, allora potete tranquillamente dire all'installer di sovrascriverlo se state installando una versione più aggiornata.


In una nuova installazione da Squeeze con il kernel 2.6.32-5 in poi, il driver libero nouveau è caricato in modo predefinito e interferirà con quello proprietario. Occorre disattivare il caricamento di nouveau inserendo in /etc/modprobe.d/blacklist.conf le seguenti righe:

blacklist nouveau
options nouveau modeset=0

quindi riavviare il sistema ed eseguire l'installer.

The first line will prevent Nouveau’s kernel module from loading automatically at boot. It will not prevent manual loading of the module, and it will not prevent the X server from loading the kernel module. The second line will prevent Nouveau from doing a kernel modeset. Without the kernel modeset, it is possible to unload Nouveau’s kernel module, in the event that it is accidentally or intentionally loaded.

Per avviare l'installazione dobbiamo spostarci nella directory dove abbiamo salvato il driver Nvidia e dare il comando:

# sh NVIDIA-*

dove NVIDIA-* è il nome del driver che abbiamo scaricato.

Info.png Aggiornamento:
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:
# sh NVIDIA-* --x-module-path=/usr/lib/xorg/modules/

Con le versioni più recenti dei driver la specificazione del percorso può essere omessa.


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.

Il nuovo installer permette l'aggiornamento automatico di xorg.conf. Potete farlo anche a mano, semplicemente modificando il file /etc/X11/xorg.conf come indicato nel metodo 1.

Warning.png ATTENZIONE

Durante l'installazione potremmo essere avvertiti del fatto che la versione di gcc non è corretta. Per verificare la corretta versione in uso usiamo il terminale:

$ cat /proc/version
Linux version 2.6.32-5-686 (Debian 2.6.32-15) (ben@decadent.org.uk) 
(gcc version 4.3.5 (Debian 4.3.5-1) ) #1 SMP Tue Jun 1 04:59:47 UTC 2010

in questo caso il comando da dare sarà:

# CC=/usr/bin/gcc-4.3 sh NVIDIA*.run


Se tutto è andato a buon fine, possiamo far ripartire il server grafico con il comando:

# invoke-rc.d gdm start

se il vostro desktop manager è GDM, oppure:

# invoke-rc.d gdm3 start

se il vostro desktop manager è GDM3, oppure:

# invoke-rc.d kdm start

se il vostro desktop manager è KDM.

Driver Nvidia per diversi kernel

Molto spesso si avverte l'esigenza di dover avviare il driver Nvidia per ciascun kernel presente nel nostro sistema. L'installazione di default del driver per uno specifico kernel, infatti, rimuove una precedente installazione eseguita per un kernel differente; questo costringe ad avviare l'installer Nvidia ogni volta che si avvia un diverso kernel dal menù di Grub.

Per evitare questo fastidio basta lanciare l'installer passandogli l'opzione '-K'. Specificando l' opzione 'kernel --kernel-name=***' verrà installato solo il modulo Nvidia per il kernel desiderato senza disinstallare il precedente driver, il tutto si può fare da una sessione terminale senza spegnere X o uscire dal nostro DE/WM:

Dove *** è la versione del kernel per cui si vuole compilare il modulo ad esempio per linux-image-3.1.0-1-amd64 sarà :

# sh NVIDIA-* -K --kernel-name=3.1.0-1-amd64

Questo comando presuppone che il driver Nvidia sia già stato installato almeno una volta con il metodo descritto nel precedente paragrafo e che la versione del driver sia esattamente la stessa del modulo che si va ad installare.

Disinstallazione

Per rimuovere i driver installati con questo metodo, è sufficiente arrestare il server grafico ed eseguire:

# sh NVIDIA*.run --uninstall


Metodo 3: module-assistant

Occorrente

Per usare questo metodo è sufficiente una connessione ad internet, oltre, ovviamente, a module-assistant: se non l'abbiamo:

# aptitude install module-assistant

Cosa fare

Come per l'altro metodo, bisogna arrestare il server grafico, e poi non dobbiamo fare altro che eseguire module-assistant:

<Ctrl+Alt+F1> ----> login come root

# invoke-rc.d kdm stop
# m-a

module-assistant ci mostra un menu grafico (ncurses) 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 m-a.

Info.png 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 /usr/src/linux in modo che punti agli headers o ai sorgenti:
# ln -s /usr/src/linux-headers-xxx /usr/src/linux


A questo punto bisogna modificare /etc/X11/xorg.conf, nella sezione "Device", in modo che nella riga "Driver" sia scritto nvidia (di solito al posto di nv o vesa), inoltre bisogna sostituire, nella sezione "Module", le righe:

Load    "dri"
Load    "GLcore"

con la riga:

Load    "glx"

Se invece di una nuova installazione state facendo un aggiornamento, è probabile che sia ancora in memoria il modulo vecchio: potete controllare con:

$ lsmod | grep nvidia

se il modulo viene elencato non dovete fare altro che rimuoverlo prima di riavviare il server grafico (da root):

# rmmod nvidia

Ora 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ò avviare X:

# aptitude install nvidia-glx nvidia-settings
# invoke-rc.d kdm start


Opzioni utili

In /etc/X11/xorg.conf ci sono alcune opzioni specifiche del driver Nvidia che si possono inserire nella sezione "Device", per esempio se non vogliamo vedere il logo Nvidia ad ogni avvio possiamo inserire:

Option "NoLogo" "1"

invece per usare il codice AGP del driver proprietario invece di quello libero possiamo inserire:

Option "NvAGP" "On"

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:

Option "UseEDID" "0"

Per abilitare l'uso dell'uscita TV come monitor addizionale (ove disponibile):

Option "TwinView"

Se l'immagine sulla TV risulta essere in bianco e nero o con i colori falsati occorre impostare lo standard video utilizzato:

Option "TVStandard" "PAL-B"

Ci sono molte altre opzioni possibili, che trovate elencate, su Debian, in /usr/share/doc/nvidia-glx/README.txt.gz.

Creazione del file xorg.conf

Se il file /etc/X11/xorg.conf non fosse presente e si necessita averlo anche solo come template allora bisogna crearlo.
Prima di tutto occorre chiudere X. Non basta fare logout, bisogna proprio arrestare il server grafico: se avete installato un desktop manager andate in una console testuale (per es. con Ctrl+Alt+F1), e usate, da root:

# invoke-rc.d gdm stop

se il vostro desktop manager è GDM, oppure:

# invoke-rc.d gdm3 stop

se il vostro desktop manager è GDM3, oppure:

# invoke-rc.d kdm stop

se il vostro desktop manager è KDM.

Quindi eseguire:

# Xorg -configure

Il file in questione è generato tramite un rivelamento automatico dell'hardware ma di fatto contiene parecchie voci ormai inutili come ad esempio i moduli o i path dei font che vengono già normalmente caricati. È utile per prendere spunto sulla sintassi e fare modifiche particolari ma non direttamente necessario al funzionamento dei driver.

Una volta creato si consiglia di dargli una bella pulita e usare solo le parti necessarie quindi spostarlo nella giusta posizione:

# mv /root/xorg.conf.new /etc/X11/xorg.conf

o meglio ancora utilizzare le configurazioni modulari come descritto nel metodo uno.

Quindi possiamo far ripartire il server grafico:

# invoke-rc.d gdm start

se il vostro desktop manager è GDM, oppure:

# invoke-rc.d gdm3 start

se il vostro desktop manager è GDM3, oppure:

# invoke-rc.d kdm start

se il vostro desktop manager è KDM.




Guida scritta da: Bedo Swirl-auth40.png Debianized 40%
Estesa da:
tindal (Correzioni, metodo 2, verifica e opzioni utili)
test (Opzioni TV e altre correzioni minori)
die_z (Modifica nota per kernel personalizzati (kernel-package))
Verificata da:
barabba

Verificare ed estendere la guida | Cos'è una guida Debianized