Molti notebook di fascia medio-alta affiancano alla GPU Intel Graphics, integrata sul processore, un modello dedicato realizzato da NVIDIA, decisamente più performante. Dopo aver installato Ubuntu sul mio Dell XPS 15, però, ho notato che la GPU NVIDIA non era gestita correttamente. Vediamo allora come installare i driver NVIDIA sul notebook Ubuntu e attivare la GPU GeForce
Procedura testata e funzionante con Ubuntu 20.04 e 19.10
Il problema di fondo sta nel fatto che, per impostazione predefinita, Ubuntu utilizza un driver open source per GPU NVIDIA chiamato Nouveau. E' una proposizione nobile, poiché Noveau è completamente libero, sia come accesso al codice sorgente, sia come licenza (MIT). Il rovescio della medaglia è che, nella mia esperienza, Nouveau si è rivelato davvero scarso: il sistema operativo era instabile e le prestazioni grafiche lontanissime da quanto ci si aspetta una GPU NVIDIA GeForce moderna.
nvidia-driver per Ubuntu
Fortunatamente, c'è un'alternativa. NVIDIA realizza e distribuisce gratuitamente un driver per Ubuntu compatibile con le GPU GeForce che non è interessato da nessuno dei problemi di Nouveau: il pacchetto si chiama nvidia-driver
e ha davvero fatto rinascere il mio PC ripristinando stabilità e prestazioni completamente soddisfacenti
Il rovescio della medaglia? Il pacchetto nvidia-driver è, appunto, proprietario: di conseguenza, solo i tecnici di NVIDIA possono vederne e modificarne il codice sorgente, aspetto che lo standard in ambiente Windows, ma è in netta contrapposizione con la filosofia Linux.
Ora: personalmente, per quanto simpatizzante del movimento open source, uso il PC con Ubuntu per lavoro e ho bisogno che tutto funzioni alla perfezione, senza causarmi ritardi, blocchi o problemi periodici come accadeva con Nouveau. Di conseguenza, ho accolto a braccia aperte il driver GeForce di NVIDIA per Ubuntu.
Nei prossimi passi vederemo dunque come installare questo magico driver
Passo 1: Aggiornare completamente il PC
Prima di proseguire oltre, è importante installare tutti gli aggiornamenti disponibili per la versione di Ubuntu attualmente in uso:
Sebbene non strettamente indispensabile, per ottenere i risultati ottimali è caldamente consigliabile l'uso di una versione moderna del sistema operativo. Ubuntu 20.04 di aprile 2020, ad esempio, è un ottimo punto di partenza:
» Leggi: Ubuntu 20.04: 5 novità principali (versione 2020, video)
Passo 2: Installare il driver NVIDIA per Ubuntu
La finestra che consente di installare il driver NVIDIA per Ubuntu si raggiunge così:
- cliccare sul pulsante con i 3x3 punti in basso a sinistra per aprire la dashboard
- digitare
driver
per trovare e lanciareDriver aggiuntivi
Nel gruppo di opzioni che riguarda NVIDIA Corporation
, troverete attivata di default l'opzione che recita In uso X.org X server
: significa che il sistema sta usando il driver Nouveau (open source)
Sopra di esso ci sono due ulteriori opzioni dai nomi molto simili: vogliamo selezionare quella più in alto, che attiva il driver proprietario NVIDIA GeForce più recente.
Cliccare Applica modifiche
per rendere effettiva la variazione
Passo 3: Scegliere una password per Secure boot
Il driver grafico proprietario di NVIDIA verrà ora caricato come modulo del kernel Linux. Questo causa però una modifica al sistema operativo non riconosciuta dal sistema di sicurezza Secure boot presente sui PC moderni. Per gestire la situazione, Ubuntu avvia una semplice procedura guidata. Allo step di presentazione, limitiamoci a cliccare Avanti
Alla schermata successiva, scegliamo una password qualsiasi e ri-digitiamola per conferma. Potete tranquillamente scegliere qualcosa di "facile": vi raccomando una stringa di 8/10 caratteri senza segni di punteggiatura. Io ho usato turbolab
Confermate ripetutamente e riavviate subito il PC.
Passo 4: Gestione MOK
Al primissimo boot sucessivo all'attivazione dei driver NVIDIA GeForce ci si presenta una schermata completamente blu. Dobbiamo premere un tasto qualsiasi entro 10 secondi per accedere alla schermata di gestione MOK (Machine-Owner Key)
Dal menu presentatosi, scegliamo Enroll MOK
(in caso la voce non fosse presente, scegliere Continue boot
, poi aprire il Terminale e impartire il comando mokutil
)
Alla schermata successiva, scegliere Continue
A questo punto, digitare la password che avevamo scelto contestualmente all'attivazione dei driver NVIDIA
Tornati alla schermata precedente, terminare selezionando Reboot
A questo punto il boot dovrebbe avvenire come al solito.
Passo 5: Verifica driver
Una volta davanti al desktop di Ubuntu, torniamo al pannello dal quale avevamo attivato il driver NVIDIA GeForce e troveremo la conferma che il driver proprietario è stato correttamente attivato ed è in uso (si noti, nello specifico, l'indicazione 1 driver proprietario in uso
ai piedi della finestra)
Passo 6: Selezionare il profilo PRIME
Come ultimo passaggio:
- cliccare sul pulsante con i 3x3 punti in basso a sinistra per aprire la dashboard
- digitare
nvidia
per trovare e lanciare l'applicazioneNVIDIA X Server Settings
- dall'elenco di sinistra, spostarsi alla voce
PRIME Profiles
(alternativamente, potrebbe essere chiamataProfili PRIME
) - dalla lista di opzioni, selezionare
NVIDIA (Performance Mode)
- riavviare il PC per rendere effettiva la modifica
L'operazione è ora conclusa: abbiamo finalmente attivato al 100% il driver grafico NVIDIA per Ubuntu. Complimenti, le performance e la stabilità dovrebbero ora essere ai massimi livelli.
Passo 6 (opzionale): Migliorare la durata della batteria
Da notare, però, che la GPU NVIDIA è ora sempre attiva: essendo un componente vorace di energia, la durata della batteria potrebbe risentirne in maniera importante
La primissima cosa da fare è vedere se la situazione migliora semplicemente attivando PowerTOP:
» Leggi: Linux / Ubuntu consuma troppa batteria! Come risolvere e migliorare l'autonomia con PowerTOP
In seconda battuta, tornate alla schermata indicata al Passo 6
e provate a selezionare l'opzione NVIDIA On-Demand
, poi a riavviare il PC. Questo farà sì che il sistema utilizzi la più parsimoniosa GPU Intel, integrata sulla CPU, per la maggior parte del tempo, salvo poi commutare dinamicamente sulla GPU NVIDIA nel momento in cui fosse richiesta potenza di elaborazione aggiuntiva. La differenza, nel mio caso, è stata sostanziale