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 e Debian Wheezy e successive. Debian Squeeze e precedenti non sono supportate.

Per gli utenti di versioni successive a Wheezy, i pacchetti Bumblebee sono disponibili direttamente dai repository Debian: saltare direttamente alla sezione Installazione. Riassumendo è così semplice quanto installare bumblebee o bumblebee-nvidia e primus.

Per gli utenti di Wheezy, i pacchetti Bumblebee sono disponibili da wheezy-backports. Seguire le istruzioni elencate in quella pagina per aggiungere i backport al proprio sources.list (ma assicurarsi di aggiungere al proprio sources.list anche il repository contrib di wheezy-backports, es. deb http://PROPRIOMIRROR.debian.org/debian wheezy-backports main contrib), e poi installare bumblebee o bumblebee-nvidia, e primus. Fare riferimento alla sezione Installazione più avanti.

Installazione

Dal repository

Gli utenti di versioni successive a Wheezy possono installare tutto direttamente dai repository ufficiali.

Per gli utenti che vogliono usare il nuovo driver libero nouveau::

sudo apt install bumblebee primus

Per gli utenti che vogliono usare il driver nvidia proprietario (ancora una volta, è richiesta l'aggiunta di contrib e non-free nel proprio file sources.list):

sudo apt install bumblebee-nvidia primus libgl1-nvidia-glx

A partire da Debian Bullseye libgl1-nvidia-glx non esiste più; il pacchetto corretto è libgl1-nvidia-tesla-glx, perciò per installare i driver nvidia da Bullseye o versioni più recenti usare:

sudo apt install bumblebee-nvidia primus libgl1-nvidia-tesla-glx

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:i386. Ciò richiede il supporto per Multiarch. Similmente, se è richiesto il supporto a 32-bit OpenGL (es. per eseguire giochi a 32 bit per Microsoft Windows in Wine), installare libgl1-nvidia-glx:i386, come spiegato qui.

sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install bumblebee-nvidia primus libgl1-nvidia-glx primus-libs:i386 libgl1-nvidia-glx:i386

Gli utenti di Wheezy possono installare tutto direttamente da backport.

sudo apt install -t wheezy-backports bumblebee primus o sudo apt install -t wheezy-backports bumblebee-nvidia primus o sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install -t wheezy-backports bumblebee-nvidia primus primus-libs:i386

Nota wheezy-backports non contiene il più recente pacchetto xserver-xorg-video-intel che è necessario per le schede Intel più recenti. Se ci si trova bloccati con il driver fbdev o vesa, allora sarà necessario aggiornare a una versione più nuova.

Attenzione xserver-xorg-video-intel non è più sviluppato dal 2017. Usarlo può avere effetti negativi sull'uso di schede grafiche più recenti. Come indicato in Schede grafiche - Interl, usare invece il driver per modesetting.

Attenzione: se si sceglie di installare bumblebee-nvidia e i pacchetti driver nvidia dipendenti, durante la fase di post-installazione si vedrà un messaggio di avvertimento di debconf riguardo alla necessità di crare un file xorg.conf per potere usare il driver proprietario nvidia. Questo messaggio vale solo per gli utenti non di Optimus, cioè sistemi con GPU Nvidia singola. NON permettere a debconf di creare un file xorg.conf e NON eseguire nvidia-xconfig! (Questo messaggio appare sempre quando si installano i pacchetti nvidia dai repository e attualmente non rileva gli utenti di Optimus/bumblebee. Vedere il bug 735049 per una breve spiegazione.)

Compilazione dai sorgenti

Fare riferimento a Bumblebee/ManualInstall. Queste istruzioni vengono fornite per ragioni storiche e non sono più raccomandate ora che i pacchetti sono disponibili attraverso i repository.

Dopo l'installazione

È necessario aggiungere il proprio utente al gruppo bumblebee per potere usare optirun, cioè

sudo 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 no.) Per chiarezza è bene dire che sudo non è necessario per usare bumblebee: semplicemente rende l'aggiunta del proprio utente al gruppo bumblebee non necessaria.

Uso

Per eseguire la propria applicazione con la scheda NVIDIA discreta eseguire nel terminale:

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

Esempio:

 $ `optirun glxgears -info`

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

 $ `optirun --help`

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è:

 sudo service bumblebeed restart 

(Fare riferimento alla segnalazione di bug Debian 717687 per una breve spiegazione.)

[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