guida, linux, open source, software

Bumblebee: Nvidia Optimus su notebook Linux con doppia GPU

Breve guida per installare, configurare e rimuovere Bumblebee tramite terminale o “Bumblebee Configurator GUI” e avere la tecnologia Nvidia Optimus anche su Linux

Breve guida per installare, configurare e rimuovere Bumblebee tramite terminale o "Bumblebee Configurator GUI" e avere la tecnologia Nvidia Optimus anche su Linux
 

NVIDIA OPTIMUS

Molti computer portatili recenti dotati di una scheda grafica Nvidia e un processore Intel serie i3, i5 o i7 con scheda grafica integrata nella CPU (solitamente modello 3000HD o 4000HD) usano la tecnologia Nvidia Optimus per aumentare la durata della batteria attraverso una gestione intelligente delle due GPU: la scheda video Nvidia (più potente) viene usata solo quando necessario, mentre i compiti meno pesanti vengono lasciati alla scheda Intel integrata (che richiede minore energia).

Ulteriori informazioni possono essere trovate nella pagina ufficiale della tecnologia Optimus sul sito Nvidia.

Sfortunatamente, questo ottimo sistema di gestione automatica della doppia scheda grafica è disponibile (nella sua forma più completa) solo per Windows 7 e 8.

Infatti, Nvidia ha mosso i primi passi per portare la tecnologia Optimus sui sistemi del pinguino solo a partire dalla versione 319.12beta dei suoi driver e finalmente, con la versione 319.17 per Linux (rilasciata il 2 maggio 2013) ha aggiunto un supporto almeno parziale a tale tecnologia.

Purtroppo però, ancora adesso con la release 319.23 (scaricabile da qui per Linux 32 bit e da qui per Linux 64 bit) la gestione dell’energia per la scheda Nvidia su Linux non è al livello della versione Windows e quindi la scheda dedicata non può essere completamente disattivata per ottenere un maggiore risparmio energetico.

BUMBLEBEE

Bumblebee

Poiché il software dei driver Nvidia è proprietario, non è possibile modificarlo liberamente, quindi, durante la lunga attesa per un supporto da parte del Linux Kernel e dei driver ufficiali, è nato un progetto open-source chiamato “Bumblebee Project” con lo scopo di rendere disponibile la tecnologia Optimus anche su Linux per i computer dotati delle caratteristiche hardware indicate all’inizio dell’articolo.

Il progetto Bumblebee è cresciuto molto negli anni, giungendo alla release 3.2.1 del 26 aprile 2013 (changelog), e ha avuto un buon successo nella comunità Linux, aggiungendo anche il supporto per le vecchie schede ibride Nvidia. Inoltre, dalla versione 3.0 “Tumbleweed” (changelog) è stata integrata tramite “bbswitch” la gestione energetica automatica (precedentemente da configurare manualmente), funzionante anche dopo la sospensione del computer.

Da notare che per la gestione della scheda dedicata, Bumblebee permette l’uso sia dei driver proprietari Nvidia sia di quelli open “nouveau” in base alla scelta dell’utente.

In Linux Ubuntu e derivate, Bumblebee può essere installato tramite un tool grafico chiamato “Bumblebee Configuration GUI” (che semplifica la procedura) oppure manualmente tramite terminale. Per installarlo tramite tool grafico leggere il paragrafo dedicato all’installazione e configurazione tramite “Bumblebee Configurator GUI”. Per installarlo manualmente, proseguire con il prossimo paragrafo.

INSTALLARE BUMBLEBEE DA TERMINALE

Per installare Bumblebee in Linux Ubuntu e derivate (Linux Mint compresa) è sufficiente seguire i seguenti passi guidati:

1. Aprire il terminale del Sistema Operativo.

2. Aggiungere il ppa (repository Personal Package Archive) di Bumblebee digitando nel terminale il seguente comando:

sudo add-apt-repository ppa:bumblebee/stable

3. Aggiornare la lista dei pacchetti digitando nel terminale il seguente comando:

sudo apt-get update

4. E’ il momento di installare Bumblebee. Questo passaggio prevede diverse possibilità in base alla configurazione desiderata (digitare il comando sottostante il tipo di installazione scelta):

  • per installare Bumblebee con i driver proprietari Nvidia integrati (sovrascrivendo l’impostazione dei “nouveau” come predefiniti) [RACCOMANDATO]:
sudo apt-get install bumblebee bumblebee-nvidia
  • per installare Bumblebee con i driver proprietari Nvidia predefiniti e VirtualGL:
sudo apt-get install bumblebee virtualgl linux-headers-generic
  • per installare Bumblebee senza driver grafici (solo funzionalità di risparmio energetico), digitare nel terminale il seguente comando:
sudo apt-get install --no-install-recommends bumblebee
  • per installare Bumblebee con i driver proprietari Nvidia integrati (sovrascrivendo l’impostazione dei “nouveau” come predefiniti) e vecchie librerie VirtualGL (vedere paragrafo seguente per un confronto con le nuove librerie Primus) [SCONSIGLIATO]
    • per Linux 32 bit:
    sudo apt-get install bumblebee bumblebee-nvidia virtualgl
    • per Linux 64 bit:
    sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs-ia32
  • per installare Bumblebee con i driver proprietari Nvidia integrati (sovrascrivendo l’impostazione dei “nouveau” come predefiniti) e nuove librerie Primus (vedere paragrafo seguente)
    • per Linux 32 bit:
    sudo apt-get install bumblebee bumblebee-nvidia primus
    • per Linux 64 bit:
    sudo apt-get install bumblebee bumblebee-nvidia primus primus-libs-ia32

5. Bumblebee dovrebbe ora essere installato. Per completare l’installazione è necessario riavviare con il seguente comando:

sudo reboot

Prima del riavvio (o in qualunque momento successivo al primo riavvio dopo aver installato Bumblebee) è possibile eseguire i passi facoltativi complementari illustrati di seguito.

INSTALLARE PRIMUS DA TERMINALE (FACOLTATIVO)

Primus è una libreria condivisa che fornisce le funzionalità di OpenGL e le API grafiche GLX. Si tratta di un’alternativa migliore e più recente a VirtualGL per reindirizzare le chiamate a funzioni di rendering grafico su un secondo display che sfrutti una scheda grafica più veloce (nel nostro caso la Nvidia anziché la Intel integrata). In breve, Primus ha meno errori e migliori prestazioni rispetto a VirtualGL. Inoltre, sfrutta la scheda dedicata Nvidia solo per le parti di un’applicazione che richiedono le OpenGL (il resto dell’applicazione usa la GPU meno potente), anziché spostare il carico di lavoro dell’intera applicazione sulla scheda Nvidia come farebbe VirtualGL; questa caratteristica ha un impatto positivo non indifferente sui consumi energetici del computer (aumentando la durata della batteria).

Se non si è installato Primus con una delle configurazioni di installazione precedenti, è possibile installare Primus separatamente rispetto a Bumblebee con i seguenti comandi:

sudo apt-get install primus

Su Linux a 64 bit è necessario eseguire anche il seguente comando:

sudo apt-get install primus-libs-ia32

INSTALLAZIONE E CONFIGURAZIONE TRAMITE “BUMBLEBEE CONFIGURATOR GUI”

Prima di eseguire modifiche, si raccomanda di effettuare una copia di backup del file di configurazione al seguente percorso:

/etc/bumblebee/bumblebee.conf

per poterlo ripristinare in caso di problemi o errori. Per creare una copia di backup, copiare il file sulla Scrivania e rinominarlo in “bumlebee.conf.old”.

Vediamo ora come installare e avviare “Bumblebee Configurator GUI”.

Bumblebee Configurator GUI

L’interfaccia della versione 0.6.3b di “Bumblebee Configurator GUI” su Linux Ubuntu

Aprire un terminale e digitare i seguenti comandi:

sudo add-apt-repository ppa:alessandrofac93/bumblebee-config-gtk-dev
sudo apt-get update
sudo apt-get install bumblebee-config-gtk

“Bumblebee Configurator GUI” dovrebbe ora comparire tra i programmi disponibili nel sistema e può essere avviato e usato con pochi click sui bottoni dell’interfaccia che, sebbene sia in inglese, è anche molto spartana e quindi abbastanza intuitiva e facile da usare.

Il tool grafico qui proposto è opera dello sviluppatore Alessandro Facciorusso ed è utilissimo per semplificare il settaggio (e nelle ultime versioni anche l’installazione) di Bumblebee evitando di dover ricorrere alla modifica manuale del file di configurazione, ma è ancora in sviluppo, per cui, nel caso riscontriate problemi o bug, siete invitati a segnalarli in questa pagina dedicata al progetto e a proseguire con la configurazione manuale illustrata nel prossimo paragrafo.

CONFIGURAZIONE MANUALE (IN CASO DI PROBLEMI)

In caso di problemi o per altre esigenze, è possibile impostare manualmente i driver da usare scegliendo tra quelli proprietari Nvidia o gli open “nouveau”. A tal fine, aprire con un editor di testo (va bene qualsiasi editor installato) e con permessi di root (cliccare con il tasto destro sul file e scegliere “Apri come amministratore”) il file di configurazione al seguente percorso:

/etc/bumblebee/bumblebee.conf

[Se è la prima volta che si tenta di configurare Bumblebee, si raccomanda di effettuare una copia di backup del file indicato sopra per poterlo ripristinare in caso di problemi o errori: copiare il file sulla Scrivania e rinominarlo in “bumlebee.conf.old”]

Per impostare i driver Nvidia come predefiniti, modificare le righe come indicato sotto, sostituendo a VERSION il numero di versione dei driver Nvidia installati (per es. sostituire “nvidia-VERSION” con “nvidia-304” se la versione installata nel sistema ha numero di release 304). Cambiare:

  • Driver

    in

    Driver=nvidia
  • KernelDriver

    in

    KernelDriver=nvidia-VERSION
  • LibraryPath

    in

    LibraryPath=/usr/lib/nvidia-VERSION:/usr/lib32/nvidia-VERSION"
  • XorgModulePath

    in

     XorgModulePath=/usr/lib/nvidia-VERSION/xorg,/usr/lib/xorg/modules

Per reimpostare i driver “nouveau” come predefiniti, ripristinare il contenuto del file di backup “bumlebee.conf.old” al posto del contenuto modificato nel file “bumlebee.conf” oppure seguire la procedura al contrario per rimuovere le modifiche apportate.

USARE BUMBLEBEE

Per lanciare un’applicazione sfruttando la scheda Nvidia tramite Bumblebee, aprire un terminale e digitare il seguente comando (sostituendo a “nome_applicazione” il nome dell’applicazione da eseguire):

optirun nome_applicazione

Per es., nel caso del browser Firefox, il comando sarà:

optirun firefox

Se si è installato Primus, utilizzare invece i seguenti comandi:

  • per avviare un’applicazione usando la scheda Nvidia tramite librerie Primus senza cambiare la configurazione di Bumblebee:
optirun -b primus nome_applicazione
  • per avviare un’applicazione con il comportamento standard di Primus (attivazione automatica della scheda Nvidia solo quando ritenuto necessario da Primus):
primusrun nome_applicazione

RIMUOVERE BUMBLEBEE

Per rimuovere solo Bumblebee (e mantenere altri programmi del repository), digitare i seguenti comandi:

sudo apt-get purge bumblebee
sudo apt-get --purge autoremove

Per rimuovere Bumblebee e tutti i programmi del repository, digitare i seguenti comandi:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:bumblebee/stable

 

POST CORRELATI

Comments Closed

I commenti sono chiusi. Non puoi commentare questo post.