Driver/Nvidia
Oggi sono usciti i primi driver Nvidia Beta del 2017, la versione 378.09.
Mi domandano spesso come usare i driver prelevati da nvidia.com al posto di quelli pacchettizzati che sebbene testati dal team di sicurezza sono spesso poco aggiornati e non al passo con le schede di ultima generazione. Non sono poche le volte che mi è capitato di risolvere bug o incrementare le prestazioni usando gli ultimi driver Beta. In questo articolo vedremo come sganciarsi dai repository per usare la versione beta ufficiale su Debian testing (al momento Stretch) evitando l’uso di repository di terze parti.
Fortunatamente (a mio parere) Debian non utilizza come Ubuntu tool automatizzati associati a intricati pacchetti per l’installazione di driver proprietari, ma il sistema è decisamente trasparente che è sempre la cosa migliore.
USIAMO I DRIVER NVIDIA PRESENTI NEI REPOSITORY?
Rimozione dei driver pacchettizzati:
Debian fornisce il meta pacchetto nvidia-driver, difatto un indice il cui compito è pescare da Synaptic tutto il necessario per l’installazione. Il vantaggio è che il nome non varia a seconda della versione dei driver e per installare il tutto sarà sufficiente usare sempre lo stesso comando.
Rimuovere il pacchetto nvidia-driver che si porterà dietro le dipendenze necessarie.
Molti adottano il comando purge nvidia* da usare solo in casi estremi in presenza ad esempio di bug dovuti a sovrascritture.
$ su # apt-get remove nvidia-driver
NON ABBIAMO ANCORA INSTALLATO DRIVER NVIDIA DAI REPOSITORY?
Si è appena configurato Debian e non si sono installati i driver Nvidia proprietari. Saranno in uso i driver free Nouveau.
Soltanto in questo caso è necessario procurarsi gli headers del kernel, un pacchetto indispensabile ai driver per installare tutto il necessario sulla nostra macchina. E’ possibile rintracciarli in Synaptic cercando linux-headers-XXXX dove X corrisponde alla versione del nostro kernel, individuabile dal comando $ uname -r.
Tip: il metapacchetto degli headers:
Ancora una volta ci viene in aiuto un metapacchetto dal nome generico che si auto aggiornerà installando sempre gli ultimi headers 64 bit o 32 bit:
$ su #apt-get install linux-headers-amd64
$ su #apt-get install linux-headers-686
Scaricare i Driver Nvidia Beta da Nvidia.com:
Recarsi alla pagina Ricerca di driver Beta e Legacy e selezionare dai vari menu a tendina il modello della scheda in uso per essere indirizzati alla pagina di download.
L’ultima versione beta ad oggi disponibile è la 378.09. Personalmente ho sempre usato la versione inglese English (US) a cui farò riferimento in questa guida.
Fare il download cliccando sul tasto verde Accetta e scarica.
Salvare sulla scrivania il file di installazione, nel mio caso NVIDIA-Linux-x86_64-378.09.run
INSTALLAZIONE DEI DRIVER:
Organizziamoci per il futuro:
Suggerisco questo metodo se come me si è intenzionati ad usare a lungo in futuro le versioni rilasciate da nvidia.com:
Creare una apposita cartella nvidia nella home dove di volta in volta conservare l’ultima versione dei driver stabili, quella in uso e l’eventuale versione beta.
Ad ogni aggiornamento in caso di versione stabile rinominare l’installer della vecchia versione nvidiaold.run e la nuova nvidia.run. Nel caso di driver beta rinominare in nvidiabeta.run (eventualmente nvidiabetaold.run).
$ mkdir nvidia $ cd Scrivania $ mv NVIDIA-* nvidiabeta.run && mv nvidiabeta.run ~/nvidia
In caso di bug della versione in uso e impossibilità di riavviare X questo metodo permetterà di ripartire con i vecchi driver.
DISABILITARE NOUVEAU:
Al momento della disinstallazione dei driver presenti nei repository Debian vengono installati in automatico i driver free nouveau, un trucco per accorgersene è fare caso alle scritte che scorrono durante l’avvio di Debian che presenteranno caratteri più piccoli del normale.
IMPORTANTE:
Liberarsi dei driver nouveau tempo fa non era semplicissimo ma gli ultimi installer NVIDIA offrono la possibilità di disattivarli ogni qualvolta vengano rilevati attivi.
L’installer aggiunge i seguenti file che disabilitano nouveau:
/usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
NO PANIC:
E’ importantissimo saperlo perché la disinstallazione dei driver tramite installer di nvidia.com manterrà il blocco attivo e in caso di bug non ci resterebbe altro che affidarci ai pacchettizzati (con forte rischio che non serva a nulla in caso di bug connesso ad X o al kernel in uso). In tal caso per metterci una toppa e ripartire in attesa di fix ci basterà rimuovere semplicemente quei due file da shell e avremo un sistema ancora utilizzabile.
PRONTI…VIA:
– Abbiamo disinstallato se presenti i vecchi driver (pacchetto nvidia-installer rimosso).
– Abbiamo creato nella home la cartella nvidia con all’interno i driver scaricati e rimominati in nvidiabeta.run
Tutto è pronto per l’installazione.
E’ impossibile portare a termina l’installazione con il server X avviato
Aprire una shell premendo Ctrl+Alt+F2 e dare i comandi:
$ cd nvidia $ su # /etc/init.d/gdm3 stop # sh nvidiabeta.run
L’installer informerà che il driver nouveau è in uso sul sistema proponendo la sua disabilitazione. Rispondere di si e riavviare.
Dopo il reboot Debian verrà avviato senza alcun driver in modalità linea di comando, niente panico.
Loggarsi con il proprio nome utente e password utente (non quella di root mi raccomando).
user: fabrixx
password: miapasswordutente
Dare ancora una volta i comandi:
$ su # sh nvidiabeta.run
Se tutto è andato per il verso giusto inizierà il processo di installazione che consiste in qualche semplice passaggio quale accettazione della licenza, domanda sui DKMS (richiede una configurazione avanzata, passare oltre) building del kernel NVIDIA, installazione delle librerie 32 bit (accettare).
Abilitazione dei driver NVIDIA in Xorg.conf:
Anche se i driver sono stati installati correttamente è necessario informare il server X che si ha intenzione di utilizzarli, per fare questo occorre modificare il file /etc/X11/xorg.conf aggiungendo nvidia alla sezione Device alla voce Driver.
Anche in questo caso l’installer ci viene in aiuto, al termine del processo ci sarà offerta la possibilità di aggiornare il file xorg.conf in automatico. Rispondere SI è importante solo alla prima installazione dei driver.
Nota: in caso di dimenticanza è possibile modificare il file lanciando da terminale l’editor nano o usando il comando nvidia-xconfig una volta installato l’omonimo pacchetto.
Terminata l’installazione è consigliabile dare il comando reboot.
Il tool NVIDIA X Server Settings sarà installato in automatico e richiamabile dalle applicazioni di sistema:
DISINSTALLAZIONE & UPDATE
E’ molto probabile che dobbiate ripetere la procedura di installazione dopo importanti aggiornamenti del kernel Debian, in tal caso al mancato avvio di X è sufficiente reinstallare come descritto sopra.
Consiglio ad ogni aggiornamento del Kernel di controllare l’esistenza di nuove versioni dei driver e di premunirsi in partenza sostituendo/rinominando i driver nella cartella nvidia mantenendo comunque i vecchi col suffisso old.
Dopo l’aggiornamento del kernel è buona cosa dare sh nvidia.run –uninstall direttamente da un terminale con X abilitato (normale sessione) per avere già una situazione pulita al reboot ed evitare un secondo riavvio per lo stop di GDM. In questo caso ignorare la richiesta finale sul ripristino di Xorg.
Una volta entrati nel meccanismo i passaggi sono sempre gli stessi… 😉
Screenshots: il processo di installazione
[nggallery id=116]
Leave a Reply