Translation(s): English - español - Français - Italiano - Brasileiro - Русский


Progetto Bumblebee

Bumblebee mira a fornire il supporto per i laptop NVIDIA Optimus per distribuzioni GNU/Linux. Usando Bumblebee si può utilizzare la propria scheda NVIDIA per fare il rendering della grafica che verrà visualizzata usando la scheda Intel.

Le istruzioni in questa pagina si applicano a tutte le versioni Debian attualmente supportate, tuttavia hardware moderno richiederà di conseguenza un rilascio moderno dei driver grafici NVIDIA. Se si usa una scheda particolarmente recente assicurarsi che la versione del driver in uso la supporti. Un elenco delle versioni disponibili in Debian e dei dispositivi supportati è disponibile nella pagina dei Driver grafici NVIDIA.

I pacchetti di Bumblebee sono disponibili direttamente dai repository Debian, vedere la sezione per l'installazione in Debian 10 o precedente o in Debian 11 e successive, a seconda delle proprie necessità.

Sebbene non sia raccomandato, dato che sono disponibili pacchetti officiali, le istruzioni passate per compilare dai sorgenti possono essere trovate in Bumblebee/ManualInstall.

Debian 10 e precedenti

Installazione

Dal repository

Per gli utenti che desiderano usare il driver libero e open source "Nouveau":

sudo apt install bumblebee primus

Per gli utenti che desiderano usare il driver proprietario (assicurarsi di aver abilitato le componenti contrib e non-free nel proprio file sourceslist):

sudo apt install bumblebee-nvidia primus

Gli utenti con un sistema a 64-bit che desiderano utilizzare Bumblebee con il backend Primus quando eseguono applicazioni a 32-bit dovranno installare anche primus-libs-ia32. Ciò richiede di abilitare il supporto per Multiarch. Similmente, se è richiesto il supporto OpenGL a 32-bit (es. per eseguire giochi a 32 bit per Microsoft Windows in Wine), installare il pacchetto nvidia-driver-libs-i386.

Attenzione: se la propria scheda grafica interna ha un chipset Intel, si può volere installare il pacchetto xserver-xorg-video-intel dato che il driver che fornisce non è attivamente sviluppato. L'uso di tale driver è attivamente scoraggiato se l'hardware è sufficientemente recente (circa 2007 o successivo) dato che può introdurre altri problemi.

Uso

Per eseguire la propria applicazione con la scheda NVIDIA discreta, la sintassi è:

optirun [opzioni] <applicazione> [parametri-applicazione]

Per esempio:

optirun glxgears -info

Per un elenco di opzioni per optirun aprire la pagina di manuale con man optirun o eseguire:

optirun --help


Debian 11 e successive

Debian 11 (Bullseye) è attualmente in sviluppo e ancora non rilasciata. is currently unreleased and in development. Queste istruzioni si applicano a tutti coloro che usano l'attuale ramo testing o chiunque usi Debian Sid/Unstable.

Queste istruzioni possono essere non sempre aggiornate o persino corrette. Possono anche cambiare in qualsiasi momento.

Installazione

Per gli utenti che desiderano usare il driver libero e open source "Nouveau":

sudo apt install bumblebee primus

Per gli utenti che desiderano usare il driver proprietario (assicurarsi di aver abilitato le componenti contrib e non-free nel proprio file sourceslist):

sudo apt install bumblebee-nvidia primus-nvidia primus-vk-nvidia

Per gli utenti che necessitano della gestione di applicazioni a 32 bit con accelerazione in un sistema a 64 bit con il driver proprietario (è richiesto il Multiarch):

sudo apt install primus-libs:i386 libprimus-vk1:i386 nvidia-primus-vk-wrapper:i386 nvidia-driver-libs-i386

Uso

Sebbene il comando optirun che era usato nelle versioni Debian 10 e precedenti è ancora disponibile, si possono ottenere prestazioni molto migliori usando il nuovo comando primusrun. Esso usa la stessa sintassi di prima, cioè:

primusrun [opzioni] <applicazione> [parametri-applicazione]

che sarebbe simile a:

primusrun glxgears -info

Nuovo in Debian 11 è anche il supporto per Vulkan attraverso il comando pvkrun. Questo viene usato in modo identico al comando primusrun per i giochi e le applicazioni Vulkan, tuttavia richiede l'uso del driver proprietario a causa della mancanza del supporto per Vulkan nell'attuale Nouveau. Debian 11 introduce anche il supporto per Vulkan in Bumblebee, tuttavia richiede l'uso del driver proprietario a causa della attuale mancanza in Nouveau del supporto per l'API Vulkan. primusrun dovrebbe funzionare anche per applicazioni Vulkan. Tuttavia, se si incontrano problemi, si può provare esplicitamente ad usare invece il comando pvkrun.


Uso di Bumblebee con Steam

Il software proprietario di vendita e distribuzioni di giochi Steam supporta anche Bumblebee con una sorprendente facilità. Se si desidera eseguire l'intero client (inclusi i giochi lanciati attraverso di esso) con Bumblebee, allora si può semplicemente eseguire il client con optirun o primusrun (a seconda della propria versione di Debian).

Se si desidera farlo per specifici giochi sarà necessario impostare le opzioni di lancio del gioco dal suo menu "Proprietà" nel client Steam.

Per i giochi in Debian 10 e precedenti, il campo deve essere impostato a:

optirun %command%

Per i giochi in Debian 11 e successive, il campo deve essere impostato a:

primusrun %command%


Dopo l'installazione

In alcuni casi può essere necessario aggiungere il proprio utente al gruppo bumblebee per potere usare optirun, cioè

adduser $USER bumblebee

dove $USER corrisponde al proprio nome utente. Non dimenticarsi di fare il logout e poi nuovamente il login affinché la modifica abbia effetto.

Se si ha sudo configurato per l'utnte attuale, e cioè l'utente è un membro del gruppo sudo, questo passo non è necessario (lo script di post-installazione del pacchetto bumblebee si occupa di inserire automaticamente gli utenti sudo nel gruppo bumblebee). (Questa è probabilmente la ragione per cui Bumblebee funziona non appena installata su Ubuntu, ma non in Debian, con la stessa configurazione iniziale e cioè perché Ubuntu ha sudo installato in modo predefinito, Debian non configura sudo se si imposta una password di root durante l'installazione usando l'installatore non-live...). Per chiarezza è bene dire che sudo non è necessario per usare bumblebee: semplicemente rende l'aggiunta del proprio utente al gruppo bumblebee non necessaria.


Gestione dell'energia

Uno degli scopi principali di questo progetto è, non solo quello di abilitare la GPU discreta per il rendering, ma anche quello di abilitare la gestione intelligente dell'energia della dGPU quando non è in uso. Per fare ciò in Bumblebee viene usato o bbswitch (un modulo) o vga_switcheroo (modulo del kernel, sperimentale).

bbswitch è pacchettizzato in Debian e viene installato automaticamente quando si sceglie di installare bumblebee attraverso i repository.

A partire da Bumblebee 3.0, questa funzionalità è abilitata in modo predefinito, usando bbswitch. Ciò permette la gestione automatica dell'energia, senza necessità di alcuna configurazione. Se la gestione energetica non funziona sul proprio laptop, leggere questa pagina sulla gestione energetica (PM) e aiutare a migliorare Bumblebee.


IRC

Se si hanno delle domande, non esitare ad entrare nel canale #bumblebee su Freenode.


Segnalazione di bug e problemi

Prima di tutto, se si ha un problema leggere l'articolo sulla risoluzione dei problemi. Se ciò non risolve il proprio problema, si può entrare nel canale IRC #bumblebee per chiedere aiuto (raccomandato). Vedere anche Come segnalare problemi.

Quando viene chiesto di creare una segnalazione di bug, eseguire il comando "sudo bumblebee-bugreport" in un terminale.

Problemi comuni

[ERROR]Cannot access secondary GPU - error: Could not load GPU driver

si deve modificare /etc/bumblebee/bumblebee.conf usando il proprio editor preferito da utente root, e cambiare "KernelDriver=nvidia" in "KernelDriver=nvidia-current", poi riavviare il demone di bumblebee, cioè:

systemctl restart bumblebeed

(Fare riferimento alla segnalazione di bug Debian 717687 per una breve spiegazione. Ad esempio potresti aver bisogno di modificare in "KernelDriver=nvidia-legacy-390xx", se nvidia-legacy-390xx.ko è il nome del modulo che può esser trovato in /usr/lib/modules/5.8.0-3-amd64/updates/dkms/.)

[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected

può essere necessario impostare il BusID manualmente, in /etc/bumblebee/xorg.conf.nvidia. Per ottenere il BusID, eseguire "lspci | egrep 'VGA|3D'" in un terminale. Fare riferimento ai commenti in tale file per ulteriori istruzioni.

- Se optirun restituisce il seguente errore (756522): [ERROR]Cannot access secondary GPU - error: [XORG] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied

È necessario aggiungere la sezione seguente a /etc/bumblebee/xorg.conf.nvidia:

Section "Screen"
    Identifier "Default Screen"
    Device "DiscreteNvidia"
EndSection

Si può anche provare a retrocedere libdrm dalla versione 2.4.58 alla 2.4.56. Ciò potrebbe risolvere gli errori Permission denied in Jessie.

- Se optirun termina con un errore e dmesg riporta che la propria GPU è caduta dal bus ("fallen off the bus") su Linux >= 3.10, rimanere con una più vecchia versione del kernel (<= 3.9), o aggiungere rcutree.rcu_idle_gp_delay=1 alla propria riga di comando di grub (in /etc/default/grub, poi eseguire update-grub e reboot) come modo per aggirare il problema.

Questo è un problema conosciuto dagli autori originali che sospettano sia un problema nel driver nvidia proprietario. Vedere il problema n.455 sul github di Bumblebee.

- Se optirun restituisce il seguente errore: [ERROR]Cannot access secondary GPU - error: Could not enable discrete graphics card e dmesg riporta: Refused to change power state, currently in D3, probabilmente si hanno problemi con ACPI (riscontrati in portatili Dell). Una soluzione è quella di evitare che la scheda nvidia vada in modalità sospensione con fallimento. Impostare PMMethod=none in /etc/bumblebee/bumblebee.conf. Per preservare le funzionalità di risparmio energetico, si può provare ad aggiustare i parametri del kernel come indicato più sotto per Dell XPS 15 nel collegamento al githbu di Bumblebee e nelproblema n.140.

- Se il proprio portatile si blocca durante l'avvio al momento del lancio del display grafico, può essere necessario aggiungere un parametro del kernel per impostare acpi_osi="!Windows 2015" o una sua variante.

Questo è un problema ACPI noto con i Dell XPS15 del 2017 e altri. Fare riferimento al problema n.764 sul github di Bumblebee.

- Se il proprio portatile si blocca durante l'avvio in Debian Buster al momento del lancio del display grafico, si può provare a risolvere il problema forzando il servizio Bumblebee ad avviarsi dopo il display manager (vedi problema n.1036


Riferimenti


CategoryHardware