Come installare i driver nVidia con Bumblebee su Ubuntu 14.04


Risposte:


26

NB: questo post è il risultato di molti giorni trascorsi a leggere vari articoli sul Web, quindi prendilo a tuo rischio. È stato testato su Ubuntu 12.04 / 12.10 / 13.04 / 13.10 / 14.04 (tutti a 64 bit) con la scheda grafica nVidia GT650M. Sentiti libero di aggiungere commenti e suggerimenti


Installa nVidia e bumblebee

1. Prima di tutto, dobbiamo eliminare tutti i driver video sul computer:

sudo apt-get remove --purge nvidia*

Quindi bumblebee nel caso in cui sia stato installato in precedenza:

sudo apt-get remove --purge bumblebee*

Dobbiamo anche eliminare tutti i driver nouveau con:

sudo apt-get --purge remove xserver-xorg-video-nouveau

Per essere sicuro di aver eliminato tutti gli elementi, prova a digitare dpkg -l | grep nvidiae dpkg -l | grep bumblebee: non dovrebbe restituire nulla. Perché dpkg -l | grep nouveauè probabile che ritorni alcune righe dicendo libdrm-nouveauXXXXX; per ora, ignorali.

2. Quindi, dobbiamo assicurare che tutte le intestazioni digitino:

sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)

3. La prossima cosa da fare è inserire nella blacklist i driver nouveau rimanenti e alcuni altri pacchetti che potrebbero causare problemi:

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
 sudo gedit /etc/modprobe.d/blacklist.conf

Aggiunta delle seguenti righe alla fine del file:

# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0

Salva ed esci.

4. Ora, esegui i comandi Ubuntu più conosciuti

sudo apt-get update && sudo apt-get dist-upgrade -y

5. Da adesso, lavoriamo su tty. Apri la console tty1 con CTRL + ALT + F1 e accedi con il tuo nome utente e password. Quindi eseguire:

sudo service lightdm stop

Ora installeremo i driver. Eseguire:

sudo apt-get install nvidia-XXX-updates nvidia-settings

dove XXX è l'ultimo driver stabile. Sto usando i 331 driver, ma ho letto da qualche parte che i 343 sono disponibili per il download (non so se sono stabili).

NB: con le ultime versioni dei driver, si installa anche nvidia-primeper impostazione predefinita. Questa tecnologia ha lo scopo di passare automaticamente tra la scheda grafica Intel e nVidia senza l'intervento dell'utente. Per fare questo, lascia entrambe le carte accese. Optimus, d'altra parte, accende la scheda grafica nVidia solo con esplicita richiesta dell'utente; si traduce in un consumo energetico significativamente inferiore rispetto a prime.

Personalmente preferisco optimus piuttosto che prime, ma se non ti preoccupi dell'enorme spreco di energia, fermati qui. Altrimenti, hai due opzioni:

  • elimina completamente prime ( sudo apt-get remove --purge nvidia-prime);

  • lascia prime lì; nella sezione "Prime con optimus" vedremo come far funzionare Optirun anche con Prime installato

6. Ora, dobbiamo installare bumblebee e i pacchetti virtualgl con

sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386

Quindi, dobbiamo aggiungere il nostro utente nel gruppo calabrone con:

sudo usermod -a -G bumblebee $USER

E quindi riavviare il PC.

7. Accedi al tuo account utente, apri una nuova finestra del terminale e digita:

cd /etc/bumblebee
ls -Al

Tra i vari file elencati, dovrebbero essercene due in particolare: bumblebee.confe xorg.nvidia.conf. Facciamo una copia di backup di entrambi con:

sudo cp FILE_NAME FILE_NAME.bak

È necessario sostituire FILE_NAME con il nome effettivo del file. Quindi, andiamo a modificare il primo file con sudo gedit bumblebee.conf, aggiungendo (tutto senza virgolette)

  • Sezione [bumblebeed]: dopo "Driver =" insert "nvidia"
  • Sezione [nvidia-driver]: dopo "KernelDriver =" inserisci "nvidia-XXX-updates"
  • Sezione [nvidia-driver]: dopo "LibraryPath =" insert "/ usr / lib / nvidia-XXX-updates, / usr / lib / nvidia-331-updates: / usr / lib32 / nvidia-XXX-updates"
  • Sezione [nvidia-driver]: dopo "XorgModulePath =" insert "/ usr / lib / nvidia-XXX-updates / xorg, / usr / lib / xorg / modules"

Assicurati che "XorgConfFile" in [nvidia-driver] sia uguale a "/etc/bumblebee/xorg.conf.nvidia" (di nuovo, senza virgolette), quindi salva e chiudi gedit.

Ora dobbiamo modificare l'altro file con sudo gedit xorg.conf.nvidia(in questo caso dobbiamo inserire anche le virgolette !!). Sostituisci Option "ConnectedMonitor" "DFP"con Option "UseDisplayDevice" "none", salva ed esci.

8. Esegui gedit /etc/modprobe.d/bumblebee.confe assicurati che tutte le righe che contengono blacklist <something>non siano commentate (ovvero non iniziano con #).

9. A questo punto, eseguire il comando seguente

sudo service bumblebeed start

Se restituisce un errore, provare a eseguire nuovamente il comando con riavvio anziché con avvio. Se hai ancora errori, qualcosa del tipo:

restart: Unknown job: bumblebeed

Probabilmente c'è qualcosa che non va nel file bumblebee.conf; quindi, ricontrollare il passaggio 7.

Se invece il risultato è simile a:

bumblebeed start/running, process XXXXX

Presto hai finito di installare il calabrone!

10. Ora possiamo semplicemente eseguire optirun glxsphereso optirun glxspheres64. Se tutto funziona come previsto, hai un output come questo:

$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....

Per ricontrollare che stiamo effettivamente utilizzando i driver nvidia, aprire un altro terminale mentre optirun <application>è in esecuzione, quindi digitare sudo lshw -c display | grep driver. Il risultato dovrebbe essere qualcosa del genere.

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

Se, d'altra parte, si chiude tutta l'applicazione avviata con optirunesso dovrebbe mostrare solo il driver Intel. Questo è tutto!!


Installa l'interfaccia utente di Bumblebee

Grazie a questa risposta di Pavak Paul, ecco le istruzioni per aggiungere l'interfaccia utente di bumblebee su Ubuntu 14.04 per gestire le app da aprire usando nVidia.

1. Installa l'indicatore dell'app Python:

sudo apt-get install python-appindicator

2. Installa Git:

sudo apt-get install git

3. Crea una directory per git:

mkdir git && cd git

4. Dai un'occhiata al repository:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. Vai su Startup Applications e aggiungi bumblebee-indicatore [fai clic su Aggiungi, quindi inserisci il Nome e il commento che desideri; inserire bumblebee-indicatornella casella di comando e fare clic su Aggiungi).

6. Riavvia.


Prime con optimus

Se vuoi avere l'opzione di usare anche a nvidia-primevolte, prova a seguire le istruzioni qui sotto.

1. Per impedire l' bumblebeedavvio all'avvio, eseguire:

echo "manual" | sudo tee /etc/init/bumblebeed.override

2. Questo punto è il più problematico; impedisce al calabrone di inserire nella lista nera i driver nVidia e dovrebbe provocare il blocco della sessione grafica. Provalo a tuo rischio e pericolo! Correre:

sudo gedit /etc/modprobe.d/bumblebee.conf

E commenta la riga contenente i tuoi driver nVidia XXX. Dovrebbe risultare in qualcosa del genere.

# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

3. Riavviare il sistema e avviare nvidia-settings. La situazione finale è questa:

Se si seleziona "Intel (Risparmio energetico)" nelle impostazioni NVIDIA, per impostazione predefinita è attivata solo la scheda grafica Intel. Devi ancora eseguire un'applicazione con optirunper usare la scheda grafica nVidia

sudo service bumblebeed start
optirun <application>

Se invece vuoi usare il profilo "Nvidia (Prestazioni)", selezionalo dalle impostazioni nvidia, quindi accedi / disconnetti e tutto dovrebbe funzionare automaticamente. L'unica cosa è che non è necessario avviare il bumblebeeddemone con questo profilo selezionato perché potrebbe causare problemi.

In caso di problemi:

1. Se si desidera utilizzare solo nvidia-prime:

sudo apt-get --purge remove bumblebee*

Quindi riavviare.

2. Se si desidera utilizzare solo optimus senza rimuovere nvidia-prime, modificare nuovamente il file precedente:

sudo gedit /etc/modprobe.d/bumblebee.conf

Senza commenti (rimuovendo il carattere #) dalle righe precedentemente modificate:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

E riavvio. In questo caso, puoi lasciare bumblebeed in esecuzione all'avvio:

sudo rm /etc/init/bumbebeed.override

1
Ho seguito le istruzioni su Ubuntu 14.04, ma il mio schermo diventa nero dopo la schermata iniziale e non riesco ad accedere. Utilizzando Dell xps l502x, nvidia gfrc gt540m.
DeepSidhu1313,

1
Sei sicuro di aver seguito tutte le istruzioni dall'inizio? Ad ogni modo, premi CTRL + ALT + F1 per accedere a tty, quindi inserisci le tue credenziali di accesso e riavvia dall'inizio.
tigerjack89,

1
Ok ho risolto il problema usando vblank_mode=0 primusrun ./glxgearso possiamo usare vblank_mode=0 optirun -b primus ./glxgears. grazie :)
DeepSidhu1313,

1
per favore, ho dovuto installare xorg-edgers ppa per ottenere i pacchetti virtualgl. Non erano disponibili in un'installazione pulita Ubuntu 14.04
Ubuntuser il

1
Questo è di gran lunga il tutorial più aggiornato che sto votando. Ho controllato e funziona per il 17.10. Buon lavoro.
Doodloo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.