SDB:NVIDIA la via difficile

Questo articolo ti spiegherà come installare manualmente i driver proprietari NVIDIA su openSUSE, direttamente dal sito di NVIDIA. La chiamiamo la "via difficile" proprio perché non è adatta agli utenti meno esperti e richiede un certo numero di passaggi preparatori che altri metodi non richiedono.



Installare le dipendenze per i driver NVIDIA

  • gcc
  • make
  • kernel-devel

Nota: Per le versioni non più supportate di openSUSE è richiesto il pacchetto kernel-source.

Scaricare i binari per l'installazione

Vai alla homepage Download di driver NVIDIA e scarica i driver per la tua scheda video. Ricorda di scegliere il sistema Linux corrispondente alla architettura del tuo processore, a 32 o a 64 bit. Se non sei sicuro di quale scheda video possiedi puoi controllare aprendo (in KDE) "Il mio computer" sul desktop. Sotto la voce "Informazioni sullo schermo" troverai la voce "Modello".

Nota: Questo tipo di installazione richiede di ripetere la compilazione dei driver ogni volta in cui il kernel viene aggiornato, per cui ti conviene tenere lo script di installazione di NVIDIA (NVIDIA-Linux-******.run) sempre in una medesima directory che risulta facilmente raggiungibile quando usi gli strumenti da riga di comando. Questo sarà infatti tutto ciò di cui disporrai dopo aver avviato il computer con un nuovo kernel.

Installare i driver NVIDIA

Nota: Una volta che si è passati in modalità console, se si hanno i driver nouveau installati, il pacchetto di installazione NVIDIA*.run restituirà un messaggio di errore con la motivazione che il modulo nouveau è in esecuzione, o, se lo si è rimosso, l'installazione non andrà a buon fine per il motivo che il driver nouveau viene ancora avviato da initrd. Qualora si verifica uno di questi inconvenienti, sarà opportuno seguire le istruzioni per mettere in blacklist e impedire a nouveau di essere avviato assieme al sistema, con initrd, riavviare il sistema e quindi seguire le istruzioni di questo paragrafo.

Per installare i driver è necessario connettersi in modalità console, quindi nelle opzioni di log out scegliere "console login" ed uscire dalla sessione, così da passare ad una sessione testuale. Se il tuo ambiente desktop non supporta questa opzione di log out, esci dalla sessione grafica e poi nella schermata del gestore del sessioni seleziona "Accesso alla console". In ogni caso, una volta disconnesso dalla sessione grafica, puoi sempre passare ad una console vera premendo la combinazione di tasti Ctrl-Alt-F1.

Quindi connettiti con l'account root digitando:

$ su -

Inserisci la password per l'utente root (non noterai reazioni da parte della console mentre scrivi) e premi il tasto "Invio" sulla tastiera.

Se hai salvato i driver NVIDIA nella tua cartella home, scrivi il comando:

# sh /home/utente/NVIDIA

Dove "utente" va sostituito con il tuo nome utente (anche noto come username). Quindi premi il tasto TAB e la console completerà automaticamente la restante parte del nome del file di installazione. Infine premi il tasto Invio.

Quando l'installazione è completata, lancia il comando:

# modprobe nvidia

Poi:

# rcxdm start

Questo farà partite il server grafico X.

Disabilitare Kernel Mode Setting (KMS)

Kernel Mode Setting (KMS) risulta funzionante nelle versioni supportate, attualmente la 11.4 e 12.1, per cui puoi saltare questo paragrafo.

openSUSE 11.3

openSUSE 11.3 usava per default KMS, il quale non era supportato dai driver proprietari NVIDIA, per cui era necessario disabilitato.

Per fare ciò aggiungi "nomodeset" alle opzioni di boot in /boot/grub/menu.lst

Rimuovilo inoltre da initrd: modifica /etc/sysconfig/kernel e imposta "NO-KMS-IN-INITRD = yes". Lancia infine il comando:

# mkinitrd

Mettere nouveau in blacklist

Per evitare che i driver NVIDIA entrino in conflitto con i driver Nouveau, installati per default, devi impedire che all'avvio venga caricato il modulo del kernel nouveau, aggiungendolo alla blacklist con il comando:

# echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf

Questo cambiamento può essere annullato, nel caso avessi intenzione di utilizzare nuovamente driver Nouveau man mano che diventano più maturi e funzionali, per esempio dopo l'aggiornamento ad openSUSE 12.1 (questa procedura non va applicata ai sistemi openSUSE 11.4 freschi di installazione).

Dovrai inoltre impedire l'avvio del modulo nouveau che viene lanciato da initrd. Per ottenere questo aggiungi l'opzione:

modeset.nouveau=0

alla riga di comando per l'avvio del sistema. Per farlo modifica /boot/grub/menu.lst e aggiungi "modeset.nouveau=0" alla fine della riga che inizia con "kernel", subito dopo il codice numerico che segue "vga= ". Lancia nuovamente # mkinitrd e poi riavvia il sistema.

Configurazione

In openSUSE 11.3 è stato eliminato Sax2. Per configurare la scheda video usa nvidia-settings. Alcuni hanno riferito la necessità di usare "twinview" per far funzionare il compositing (ovvero la "composizione" desktop) su alcuni sistemi con due o più schermi (l'equivalente con nvidia di "xinerama").

Questo è tutto, divertiti.

Note per il repository Tumbleweed

Se hai il repository Tumbleweed abilitato preparati a dover seguire questa procedura piuttosto di frequente. Potrebbe essere utile conservare una copia del pacchetto con i driver NVidia (il file .run che hai scaricato dal sito di NVidia) in /usr/local/src in modo tale che quando l'interfaccia grafica non verrà caricata, dopo un aggiornamento del kernel, potrai ricompilare i driver con:

  1. accedi come root
  2. esegui sh /usr/local/src/NVIDIA*.run
  3. segui la procedura guidata (che compilerà e installerà automaticamente il driver)
  4. riavvia l'interfaccia grafica lanciando rcxdm restart

Per installare i driver in presenza del kernel linux in versione 3.3.0 ti sarà necessario lanciare i seguenti comandi (non necessari con kernel linux 3.4 e superiori):

cd /usr/src/linux
make cloneconfig
make prepare
cd /lib/modules/`uname -r`/source/arch/x86/include/
cp -v generated/asm/unistd*.h ./asm/

Se usi un kernel con versione più recente della 3.7.5 sarà necessario copiare anche il file version.h. Ti sarà dunque necessario aggiungere le seguenti righe al comando di sopra:

cd /lib/modules/`uname -r`/source/include/
cp -v generated/uapi/linux/version.h ./linux/

Ulteriori letture

Per utenti esperti
  • S.A.N.D.I. - SuSE Automated NVIDIA Driver Installer, script bash scritto per interagire con DKMS (Dynamic Kernel Module Support), per fare sì che i driver video proprietari vengano installati automaticamente ogni volta che viene aggiornata la versione del Kernel usato dal proprio sistema.
Icon-cleanup.png Questo articolo ha bisogno della tua attenzione perché ancora non segue i principi guida del nostro wiki. Questa pagina ha ancora bisogno di un po' pulizia. Contribuisci qui o direttamente nella pagina in inglese
Se vuoi contribuire, per favore familiarizza con questi prima. Se hai domande, non esitare a contattarci, ti aiuteremo più che volentieri! :-)