Difference between revisions of "Bumblebee (Italiano)"

From ArchWiki
Jump to: navigation, search
(Creata pagina in italiano)
 
(update interlanguage links)
(Tag: wiki-scripts)
 
(78 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Category:Graphics (English)]]
+
[[Category:Graphics (Italiano)]]
[[Category:X Server (English)]]
+
[[Category:X server (Italiano)]]
{{i18n|Bumblebee}}
+
[[en:Bumblebee]]
 +
[[es:Bumblebee]]
 +
[[fr:Bumblebee]]
 +
[[ja:Bumblebee]]
 +
[[ru:Bumblebee]]
 +
[[zh-hans:Bumblebee]]
 +
{{Related articles start (Italiano)}}
 +
{{Related|NVIDIA Optimus}}
 +
{{Related2|Nouveau (Italiano)|Nouveau}}
 +
{{Related2|NVIDIA (Italiano)|NVIDIA}}
 +
{{Related2|Intel Graphics (Italiano)|Intel}}
 +
{{Related articles end}}
 +
Tratto da Bumblebee's [https://github.com/Bumblebee-Project/Bumblebee/wiki/FAQ FAQ]:
  
{{translateme}}
+
"''Bumblebee è una soluzione per rendere la tecnologia di Nvidia Optimus, presente sui computer portatili predisposti, disponibile nei sistemi GNU/Linux. Tale caratteristica coinvolge due schede grafiche con due differenti profili di consumo di alimentazione, che collegati in modo stratificato condividono un singolo framebuffer.''"
{{Nota|Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.}}
 
  
{{Warning|Bumblebee is a work in progress and may not work properly on your machine}}
+
== Bumblebee: Tecnologia Optimus per Linux ==
{{Note|Please report bugs at [https://github.com/Bumblebee-Project/Bumblebee Bumblebee-Project]'s GitHub tracker as described in it's [https://github.com/Bumblebee-Project/Bumblebee/wiki/Reporting-Issues Wiki].}}
 
''Bumblebee is a solution to Nvidia Optimus hybrid-graphics technology allowing to use the dedicated graphics card for rendering. It was started by Martin Juhl''
 
  
== About Bumblebee ==
+
La [http://www.nvidia.com/object/optimus_technology.html Tecnologia Optimus] è un'implementazione ''[http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Hybrid_graphics grafica ibrida]'' senza hardware multiplexer. La GPU integrata gestisce il display, mentre la GPU dedicata gestisce il rendering più impegnativo ed invia il risultato alla GPU integrata per la visualizzazione. Quando il portatile è alimentato a batteria, la GPU dedicata si spegne per risparmiare energia e aumentare l'autonomia. É stato anche testato con successo con macchine desktop con grafica Intel integrata e una scheda grafica nVidia dedicata .
  
[http://www.nvidia.com/object/optimus_technology.html Optimus Technology] is an ''[http://hybrid-graphics-linux.tuxfamily.org/index.php?title=Hybrid_graphics hybrid graphics]'' implementation without a hardware multiplexer. The integrated GPU manages the display while the dedicated GPU manages the most demanding rendering and ships the work to the integrated GPU to be displayed. When the laptop is running on battery supply, the dedicated GPU is turned off to save power and longer the battery life.
+
Bumblebee è un'implementazione software composta di due parti:
  
Bumblebee is a software implementation based on VirtualGL and a kernel driver to be able to use the dedicated GPU, which is not physically connected to the screen.
+
* Il rendering di programmi off-screen sulla scheda video dedicata e visualizzati sullo schermo utilizzando la scheda video integrata. Questo bridge è fornito da VirtualGL o primus (leggere di seguito) e si connette a un server X avviato per la scheda video dedicata.
 +
* Disattivare la scheda video dedicata quando non è in uso (si veda il paragrafo [[#Gestione energetica|Gestione energetica]]).
  
=== How it works ===
+
Si cerca di imitare il comportamento della tecnologia Optimus, utilizzando la GPU dedicata per il rendering quando necessario e spegnerlo quando non in uso. Le versioni attuali supportano solo il rendering su richiesta, l'avvio automatico di un programma con la scheda video dedicata in base al carico di lavoro non è implementata.
  
Bumblebee mimics the Optimus technology behaviour; using the dedicated GPU for rendering when needed and power it down when not in use. The present releases only support rendering on-demand, power-management is a work in progress.
+
==Installazione==
  
The Nvidia dedicated card is managed as a separate X server conected to a "fake" screen (the screen is configured but not used). The second server is called using VirtualGL as it where a remote server. That said, you will need a series of steps to set-up the kernel driver, the X server and a daemon.
+
Prima di procedere all'installazione di Bunblebee controllare il vostro BIOS e attivare l'opzione Optimus (nei vecchi computer portatili è chiamato "switchable"), se disponibile (non tutti i BIOS forniscono questa possibilità), e assicurarsi di installare il [[Intel (Italiano)|driver Intel]] per la scheda video secondaria.
  
== Using Nvidia driver ==
+
Sono disponibili diversi pacchetti per un setup completo :
{{stub}}
 
  
Versions >= 2.3 works with a daemon to start/stop the X server but won't control the card's power (see [[#Power Management]] below)
+
* {{pkg|bumblebee}} - Il pacchetto principale che fornisce il demone e programmi client.
 +
* (opzionale) {{pkg|bbswitch}} (o {{Pkg|bbswitch-dkms}}) -Consigliato per il risparmio energetico disabilitando la scheda Nvidia
 +
* (opzionale ) Se si desidera più di un semplice risparmio energetico, per un rendering di programmi sulla scheda Nvidia dedicata, è inoltre necessario:
 +
** Un driver per la scheda Nvidia. Il driver open-source [[nouveau (Italiano)|Nouveau]] o il driver proprietario [[NVIDIA (Italiano)|Nvidia]]. Vedere la sottosezione.
 +
** Un bridge per il rendering e la visualizzazione. Attualmente sono disponibili due pacchetti che sono in grado di farlo, {{pkg|primus}} e {{pkg|virtualgl}}. Solo uno di loro è necessario, ma possono essere installati ugualmente entrambi.
  
=== Installation ===
+
{{Note|Se si desidera eseguire una applicazione a 32 bit su un sistema a 64 bit è necessario installare le opportune librerie lib32-* per il programma. inoltre è necessario anche installare {{pkg|lib32-virtualgl}} o {{pkg|lib32-primus}}, in base a cosa avete scelto per effettuare il bridge del rendering. Basta fare in modo di eseguire {{ic|primusrun}} invece di {{ic|optirun}} se si decide di utilizzare bridge Primus per il rendering.}}
  
AUR package: [http://aur.archlinux.org/packages.php?ID=49469 bumblebee]
+
=== Installare Bumblebee con Intel/Nvidia ===
  
{{Note|If you installed bumblebee from GitHub repository using the installer, please run the uninstaller before installing the AUR package}}
+
* Installare {{pkg|mesa}}, {{pkg|xf86-video-intel}}, {{pkg|bumblebee}} e {{pkg|nvidia}}.
  
To render 32bit applications with VirtualGL you will need [https://aur.archlinux.org/packages.php?ID=51633 virtualgl32] and [https://aur.archlinux.org/packages.php?ID=50064 lib32-nvidia-utils-bumblebee] packages.
+
Se si desidera eseguire applicazioni a 32-bit (come i giochi su wine) su sistemi a 64-bit, è necessario il pacchetto addizionale {{pkg|lib32-nvidia-utils}} (e {{Pkg|lib32-mesa}} se si intende utilizzare {{ic|primusrun}}).  
  
=== Setup ===
+
{{Nota|Non installare lib32-nvidia-libgl! Bumblebee troverà le giuste librerie lib32 nvidia senza di esso.}}
  
In order to make Bumblebee functional you will need to configure a second X server, load the nvidia kernel module and run the bumblebee daemon. Most of these steps are made automatic at installation time.
+
=== Installare Bumblebee con Intel/Nouveau ===
  
==== Load Kernel Module ====
+
Installare:
  
In order to run Bumblebee using the proprietary Nvidia kernel module, you need to unload the Nouveau kernel module first. To do so run in a terminal:
+
* {{Pkg|xf86-video-nouveau}} driver sperimentale con accelerazione 3D
  # rmmod nouveau
+
* {{Pkg|mesa}} Mesa classic DRI + driver Gallium3D e librerie grafiche Mesa 3-D
  
Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}} to disable Nouveau module at boot:
+
==Avviare Bumblebee==
{{File|/etc/modprobe.d/modprobe.conf|content=<nowiki>blacklist nouveau</nowiki>}}
 
  
Now load the Nvidia module running this:
+
Per poter utilizzare Bumblebee è necessario innanzitutto aggiungere il proprio utente (anche altri eventuali utenti) al gruppo Bumblebee:
# modprobe nvidia
 
  
To check for success of loading the kernel module, check the output of this command:
+
  # gpasswd -a $USER bumblebee
  $ lsmod | grep nvidia
 
  
If you want nvidia module to be loaded at boot, add the Nvidia module in the "MODULES" array in your {{Filename|/etc/rc.conf}}:
+
dove {{ic|$USER}} è il nome di login dell'utente da aggiungere. Ri-effettuare il login per rendere effettive le modifiche.
MODULES=(... nvidia ...)
 
  
==== Setup X Server ====
+
{{suggerimento|Se volete che Bumblebee sia disponibile all'avvio, allora abilitate il servizio di [[systemd (Italiano)|Systemd]] '''bumblebeed'''.}}
  
The installation should take care of recognize your graphics card and it's PCI BusID. If you notice a warning regarding this during installation follow this steps.
+
Ora riavviare il sistema e utilizzare il programma {{ic|[[#Utilizzo|optirun]]}} da un terminale per usufruire della tecnologia Optimus NVIDIA per il rendering.
  
After installation a {{Filename|/etc/bumblebee/xorg.conf.nvidia}} file is created with the minimal device configuration. In this file you must specify the PCI bus address of the Nvidia card. To get it run in a terminal:
+
Se si desidera semplicemente disabilitare la scheda nvidia, questo dovrebbe essere tutto ciò che è necessario, oltre ad avere {{ic|bbswitch}} installato. Il demone bumblebeed, per impostazione predefinita, istruisce bbswitch per spegnere la scheda quando viene avviato. Vedi anche la sezione [[#Gestione energetica|Gestione energetica]].
  $ lspci -d10de: -nn | grep '030[02]'
 
  
This will give you something like this:
+
== Utilizzo==
  01:00.0 VGA compatible controller [0300]: nVidia Corporation GT218 [GeForce 310M] [10de:0a75] (rev a2)
+
 
 +
La riga di comando programma {{ic|optirun}} fornito con Bumblebee è il vostro migliore amico per l'esecuzione di applicazioni sulla scheda NVIDIA Optimus.
 +
 
 +
È possibile testare Bumblebee con questo comando:
 +
 
 +
$ optirun glxgears -info
 +
 
 +
Se il programma viene eseguito con successo e il terminale fornisce informazioni sulla scheda NVIDIA, allora significa che Optimus con Bumblebee è funzionante.
 +
 
 +
Per avviare un'applicazione utilizzando la scheda grafica dedicata:
 +
 
 +
$ optirun [opzione] ''application'' [parametri-applicazione]
 +
 
 +
Alcuni esempi:
 +
 
 +
Avviare applicazioni Windows con Optiumus
 +
 
 +
$ optirun wine ''windows application''.exe
 +
 
 +
Utilizzare NVIDIA Settings con Optimus
 +
 
 +
$ optirun -b none nvidia-settings -c :8
 +
 
 +
Per un elenco di opzioni per {{ic|optirun}} vedere la sua pagina man.
 +
 
 +
Un nuovo programma in futuro diventerà la scelta predefinita, poichè apporta migliori prestazioni, vale a dire primus. Attualmente è necessario eseguire il programma a parte (che non accetta le opzioni a differenza di {{ic|optirun }}), ma in futuro sarà avviato automaticamente da optirun.
 +
 
 +
Utilizo:
 +
 
 +
$ primusrun glxgears
 +
 
 +
== Configurazione ==
 +
 
 +
È possibile configurare il comportamento di Bumblebee per soddisfare le vostre esigenze. Alcune ottimizzazioni come l'ottimizzazione della velocità, la gestione dell'alimentazione e altre cose possono essere configurate in {{ic|/etc/bumblebee/bumblebee.conf}}.
 +
 
 +
=== Ottimizzare la velocità quando si utilizza VirtualGL come bridge ===
 +
 
 +
Bumblebee gestisce il rendering dei fotogrammi per la scheda NVIDIA Optimus in un server X invisibile con VirtualGL e li trasporta di nuovo al vostro Server X visibile.
 +
 
 +
I Frames saranno compressi prima di essere trasportati - ciò consente di risparmiare larghezza di banda e può essere utilizzato per l'ottimizzazione della velocità di Bumblebee.
 +
 
 +
Per usare un metodo di compressione per una singola applicazione:
 +
 
 +
$ optirun -c ''metodo-di-comppressione'' applicazione
 +
 
 +
I metodi di compressione influiscono sulle prestazioni di utilizzo della CPU/GPU. I metodi compressi (come {{ic|jpeg}}) caricheranno al massimo la CPU e al minimo possibile la GPU; i metodi non compressi caricheranno più la GPU mentre la CPU avrà il minor carico possibile.
 +
 
 +
Metodi compressi sono: {{ic|jpeg}}, {{ic|rgb}}, {{ic|yuv}}
 +
 
 +
Metodi non compressi sono: {{ic|proxy}}, {{ic|xv}}
 +
 
 +
Per impostare un metodo di compressione per tutte le applicazioni impostare il valore {{ic|VGLTransport}} con il {{ic|''metodo-di-compressione''}} preferito in {{ic|/etc/bumblebee/bumblebee.conf}}:
 +
 
 +
{{hc|/etc/bumblebee/bumblebee.conf|2=
 +
[...]
 +
[optirun]
 +
VGLTransport=proxy
 +
[...]
 +
}}
 +
 
 +
Si può anche fare in modo che VirtualGL legga i pixel dalla vostra scheda grafica. Impostare la variabile di ambiente {{ic|VGL_READBACK}} in {{ic|pbo}} dovrebbe aumentare le prestazioni. In confronto:
 +
 
 +
# PBO dovrebbe essere più veloce
 +
VGL_READBACK=pbo optirun glxspheres
 +
#Il valore predefinito è sync
 +
  VGL_READBACK=sync optirun glxspheres
 +
 
 +
{{Note|CPU frequency scaling influisce direttamente sulle prestazioni rendering}}
 +
 
 +
=== Gestione energetica ===
 +
 
 +
L'obiettivo di gestione dell'alimentazione è quello di spegnere la scheda NVIDIA quando non viene utilizzata da nessuna applicazione, e riaccenderla quando è necessario. Se bbswitch è installato, verrà rilevato automaticamente quando si avvia il demone Bumblebee. Nessuna configurazione aggiuntiva è necessaria.
 +
 
 +
==== Risparmio energetico predefinito della scheda NVIDIA con bbswitch ====
 +
 
 +
Il comportamento predefinito di bbswitch è di lasciare lo stato di alimentazione della scheda invariata. {{ic|bumblebeed}} non fa altro che disabilitare la scheda quando viene avviato, in tal modo, quanto segue è necessario solo se si utilizza bbswitch senza bumblebeed .
 +
 
 +
Impostare le opzioni dei moduli {{ic|load_state}} e {{ic|unload_state}} in base alle vostre esigenze (si veda la [https://github.com/Bumblebee-Project/bbswitch documentazione di bbswitch]).
 +
 
 +
{{hc|/etc/modprobe.d/bbswitch.conf|2=
 +
options bbswitch load_state=0 unload_state=1
 +
}}
 +
 
 +
==== Abilitare la scheda NVIDIA durante lo spegnimento ====
 +
 
 +
La scheda NVIDIA non viene inizializzata correttamente durante la fase di boot se la scheda è stata spenta quando il sistema è stato arrestato l'ultima volta. Una soluzione è impostare l'opzione {{ic|TurnCardOffAtExit&#61;false}} in {{ic|/etc/bumblebee/bumblebee.conf}}, tuttavia questo consentirà alla scheda di fermare ogni volta il demone Bumblebee, anche se fatto manualmente. Per assicurare che la scheda NVIDIA rimanga sempre accesa durante l'arresto, aggiungere il seguente servizio di [[Systemd (Italiano)|Systemd]] (se state utilizzando {{pkg|bbswitch}}):
 +
 
 +
{{hc|/etc/systemd/system/nvidia-enable.service|2=
 +
[Unit]
 +
Description=Enable NVIDIA card
 +
DefaultDependencies=no
 +
 
 +
[Service]
 +
Type=oneshot
 +
ExecStart=/bin/sh -c 'echo ON > /proc/acpi/bbswitch'
 +
 
 +
[Install]
 +
WantedBy=shutdown.target
 +
}}
 +
 
 +
Per attivare il servizio eseguire {{ic|systemctl enable nvidia-enable.service}} come root.
 +
 
 +
=== Monitor multipli ===
 +
 
 +
==== Uscite collegate al chip Intel ====
 +
 
 +
Se la porta (DisplayPort/HDMI/VGA) è collegato al chip Intel, è possibile impostare più monitor con xorg.conf. Si possono impostarli per utilizzare la scheda Intel, ma con Bumblebee è ancora possibile utilizzare la scheda NVIDIA. Un esempio di configurazione, qui di seguito, mostra l'uso di due schermi identici con risoluzione 1080p e con connessione HDMI.
 +
 
 +
{{hc|/etc/X11/xorg.conf|2=
 +
Section "Screen"
 +
    Identifier    "Screen0"
 +
    Device        "intelgpu0"
 +
    Monitor        "Monitor0"
 +
    DefaultDepth    24
 +
    Option        "TwinView" "0"
 +
    SubSection "Display"
 +
        Depth          24
 +
        Modes          "1980x1080_60.00"
 +
    EndSubSection
 +
EndSection
 +
 
 +
Section "Screen"
 +
    Identifier    "Screen1"
 +
    Device        "intelgpu1"
 +
    Monitor        "Monitor1"
 +
    DefaultDepth  24
 +
    Option        "TwinView" "0"
 +
    SubSection "Display"
 +
        Depth          24
 +
        Modes          "1980x1080_60.00"
 +
    EndSubSection
 +
EndSection
 +
 
 +
Section "Monitor"
 +
    Identifier    "Monitor0"
 +
    Option        "Enable" "true"
 +
EndSection
 +
 
 +
Section "Monitor"
 +
    Identifier    "Monitor1"
 +
    Option        "Enable" "true"
 +
EndSection
  
Take note of the PCI address of the nVidia card (01:00.0 in this case) and edit the line in {{Filename|/etc/bumblebee/xorg.conf.nvidia}} with the option "BusID" under the "Device" section:
 
{{File|/etc/bumblebee/xorg.conf.nvidia|content=
 
<nowiki>
 
...
 
 
Section "Device"
 
Section "Device"
     Identifier    "Device1"
+
     Identifier    "intelgpu0"
     Driver        "nvidia"
+
     Driver        "intel"
     VendorName    "NVIDIA Corporation"
+
     Option        "XvMC" "true"
    BusID          "PCI:01:00:0"
+
     Option        "UseEvents" "true"
     Option        "UseEDID" "false"
+
     Option        "AccelMethod" "UXA"
     Option        "ConnectedMonitor" "DFP,CRT"
+
    BusID          "PCI:0:2:0"
 
EndSection
 
EndSection
...
 
</nowiki>}}
 
  
{{Note|You must replace any dots (.) by a colon (:) for X server to understand the BusID}}
+
Section "Device"
{{Note|If you experience problems with Bumblebee X server not recognizing the screen, try setting the option ''ConnectedMonitor'' to "CRT-0" or "DFP-0"}}
+
    Identifier    "intelgpu1"
 +
    Driver        "intel"
 +
    Option        "XvMC" "true"
 +
    Option        "UseEvents" "true"
 +
    Option        "AccelMethod" "UXA"
 +
    BusID          "PCI:0:2:0"
 +
EndSection
  
Then look for the "Files" section and check the path to the nvidia xorg module is correct:
+
Section "Device"
{{File|/etc/bumblebee/xorg.conf.nvidia|content=
+
    Identifier "nvidiagpu1"
<nowiki>
+
    Driver "nvidia"
...
+
     BusID "PCI:0:1:0"
Section "Files"
 
     ModulePath "/usr/lib/nvidia-bumblebee,/usr/lib/xorg/modules"
 
 
EndSection
 
EndSection
...
+
}}
</nowiki>}}
+
 
 +
Probabilmente sarà necessario cambiare il BusID in base alle vostre esigenze sia per la Intel e la scheda Nvidia.
 +
 
 +
{{hc|<nowiki>$ lspci | grep VGA</nowiki>|
 +
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
 +
}}
 +
 
 +
In questo esempio il BusID è 0:2:0
 +
 
 +
==== Uscite collegate al chip NVIDIA ====
 +
 
 +
Su alcuni notebook, l'uscita video digitale ( HDMI o DisplayPort ) è cablato al chip NVIDIA. Se si desidera utilizzare tutti i display su un tale sistema simultaneamente, è necessario eseguire due server X. La prima prevede di utilizzare il driver Intel per il pannello notebook e un display collegato a VGA. Il secondo sarà avviato attraverso optirun sulla scheda NVIDIA, e al driver per il display digitale.
 +
 
 +
Attualmente ci sono diverse istruzioni sul web come una tale impostazione può essere fatta funzionare. Uno può essere trovato sul [https://github.com/Bumblebee-Project/Bumblebee/wiki/Multi-monitor-setup wiki] di Bumblebee.  Un altro approccio è descritto in seguito.
 +
 
 +
===== xf86-video-intel-virtual-crtc e hybrid-screenclone =====
  
==== Giving permission to use Bumblebee ====
+
Questo metodo utilizza un driver patchato Intel, che viene esteso per avere un display virtuale, e il programma hybrid-screenclone che viene utilizzato per copiare il display sopra un display virtuale un secondo server X, che è in esecuzione sulla scheda NVIDIA utilizzando Optirun. Merito va ai [http://judsonsnotes.com/notes/index.php?option=com_content&view=article&id=673:triple-head-monitors-on-thinkpad-t520&catid=37:tech-notes&Itemid=59 Triple-head monitors on a Thinkpad T520] che ha una spiegazione dettagliata di come questo viene fatto su un sistema Ubuntu.
  
Permission to use 'optirun' is granted to all members of the 'bumblebee' group, so you must add yourself (and other users whiling to use bumblebee) to that group:
+
Per semplicità, DP viene utilizzato per riferirsi al Digital Output (DisplayPort) . Le istruzioni devono essere uguali se invece il notebook dispone di una porta HDMI.
# usermod -a -G bumblebee <user>
 
  
where ''<user>'' is the login name of the user to be added. Then log off and on again to apply the group changes.
+
* Impostare il sistema in modo da utilizzare esclusivamente la scheda NVIDIA, test combinato DP/Monitor e generare un file {{ic|xorg.nvidia.conf}}. Questo passaggio non è obbligatorio, ma consigliato se il vostro BIOS di sistema ha la possibilità di cambiare la grafica in modalità NVIDIA-only. Per fare questo, prima disinstallare il pacchetto di Bumblebee e installare solo il driver NVIDIA. Successivamente riavviare, entrare nel BIOS e cambiare la modalità grafica in NVIDIA-only. Quando si ritorna in Arch, collegare il monitor sulla porta DP e utilizza startx per verificare se si sta lavorando correttamente. Usare {{ic|Xorg -configure}} per generare un file xorg.conf per la scheda NVIDIA. Questo sarà utile più avanti.
  
==== Start Bumblebee Daemon ====
+
* Reinstallare bumlbebee e bbswitch, riavviare ed impostare la modalità grafica nel BIOS in  Hybrid.
 +
* Installare {{AUR|xf86-video-intel-virtual-crtc}}{{Broken package link|{{aur-mirror|xf86-video-intel-virtual-crtc}}}}, e sostituirlo al proprio pacchetto xf86-video-intel.
 +
* Scaricare [https://github.com/liskin/hybrid-screenclone hybrid-screenclone] e compilarlo utilizzando "make".
 +
* Modificare queste impostazioni inbumblebee.conf:
  
Bumblebee provides a daemon to start the second X server, to start it simply run:
+
{{hc|/etc/bumblebee/bumblebee.conf|2=
# rc.d start bumblebee
+
KeepUnusedXServer=true
 +
Driver=nvidia
 +
}}
  
To be started at boot add it to your 'DAEMONS' array in {{Filename|/etc/rc.conf}}
+
{{Nota|Lasciare il parametro PMMethod impostato su "bumblebee". Questo è in contrasto con le istruzioni legate nell'articolo sopra, ma su Arch Linux deve essere lasciato è necessaria in modo che il modulo bbswitch venga caricato automaticamente con queste opzioni.}}
# DAEMONS=(... @bumblebee)
 
  
=== Test Bumblebee ===
+
* Copiare il file {{ic|xorg.conf}} generato in precedenza nello step1 in {{ic|/etc/X11}} (es. {{ic|/etc/X11/xorg.nvidia.conf}}). Nella sezione [driver-nvidia] di {{ic|bumblebee.conf}}, cambiare il parametro {{ic|XorgConfFile}} in modo che punti ad esso.
 +
* Testare che la configurazione {{ic|/etc/X11/xorg.nvidia.conf}} sia funzionante con {{ic|startx -- -config /etc/X11/xorg.nvidia.conf}}
 +
* Affinché il vostro DP Monitor si presentarsi con la risoluzione corretta nel display virtuale, potrebbe essere necessario modificare la sezione {{ic|Monitor}} nel file {{ic|/etc/xorg.nvidia.conf}}. Dal momento che questo è un lavoro extra, si potrebbe provare a continuare con il file generato automaticamente. Tornare a questo passo delle istruzioni se si scopre che la risoluzione del display virtuale, come mostrato da xrandr, non è corretto .
 +
** Prima di tutto dovete generare una {{ic|Modeline}}. Potete usare il tool [http://amlc.berlios.de/ amlc],che genearte una Modeline se si introduce alcuni parametri di base.
  
You can test Bumblebee by comparing the output of these two commands:
+
::Esempio:  24" 1920x1080 Monitor
$ glxgears
+
::Avviare il tool con {{ic|amlc -c}}
  
And:
+
{{bc|Monitor Identifier: Samsung 2494
$ optirun glxgears
+
Aspect Ratio: 2
 +
physical size[cm]: 60
 +
Ideal refresh rate, in Hz: 60
 +
min HSync, kHz: 40
 +
max HSync, kHz: 90
 +
min VSync, Hz: 50
 +
max VSync, Hz: 70
 +
max pixel Clock, MHz: 400}}
  
{{Note|You will need the 'mesa-demos' package to run glxgears. This is not a benchmarking test, only indicates that the dedicated GPU is rendering.}}
+
Questa è la sezione Monitor che {{ic|amlc}} generato per questo ingresso:
  
== Configuration ==
+
{{bc|Section "Monitor"
 +
    Identifier    "Samsung 2494"
 +
    ModelName      "Generated by Another Modeline Calculator"
 +
    HorizSync      40-90
 +
    VertRefresh    50-70
 +
    DisplaySize    532 299  # Aspect ratio 1.778:1
 +
    # Custom modes
 +
    Modeline "1920x1080" 174.83 1920 2056 2248 2536 1080 1081 1084 1149            # 174.83 MHz,  68.94 kHz,  60.00 Hz
 +
EndSection  # Samsung 2494}}
 +
 
 +
Cambiare {{ic|xorg.nvidia.conf}} per includere questa sezione Monitor. È anche possibile tagliare il vostro file in modo che contenga solo ServerLayout, Monitor Device e sezioni Screen. Per riferimento eccovi un esempio:
 +
 
 +
{{hc|/etc/X11/xorg.nvidia.conf|
 +
Section "ServerLayout"
 +
        Identifier    "X.org Nvidia DP"
 +
        Screen      0  "Screen0" 0 0
 +
        InputDevice    "Mouse0" "CorePointer"
 +
        InputDevice    "Keyboard0" "CoreKeyboard"
 +
EndSection
 +
 
 +
Section "Monitor"
 +
    Identifier    "Samsung 2494"
 +
    ModelName      "Generated by Another Modeline Calculator"
 +
    HorizSync      40-90
 +
    VertRefresh    50-70
 +
    DisplaySize    532 299  # Aspect ratio 1.778:1
 +
    # Custom modes
 +
    Modeline "1920x1080" 174.83 1920 2056 2248 2536 1080 1081 1084 1149            # 174.83 MHz,  68.94 kHz,  60.00 Hz
 +
EndSection  # Samsung 2494
 +
 
 +
Section "Device"
 +
        Identifier  "DiscreteNvidia"
 +
        Driver      "nvidia"
 +
        BusID      "PCI:1:0:0"
 +
EndSection
 +
 
 +
Section "Screen"
 +
        Identifier "Screen0"
 +
        Device    "DiscreteNvidia"
 +
        Monitor    "Samsung 2494"
 +
        SubSection "Display"
 +
                Viewport  0 0
 +
                Depth    24
 +
        EndSubSection
 +
EndSection
 +
}}
 +
 
 +
* Collegare entrambi i monitor esterni e avviare con startx. Controllare il proprio {{ic|/var/log/Xorg.0.log}}. Verificare che il monitor VGA venga rilevato con le modalità corrette. Si dovrebbe anche vedere un uscita VIRTUAL mostrata con una propria modalità.
 +
* Avviare {{ic|xrandr}} e i tre display dovrebbe essere incluso lì, insieme con le modalità supportate.
 +
* Se i Modelines elencati per il vostro display virtuale non presenta la risoluzione nativa del proprio monitor, prendere nota del nome esatto dell'uscita. Ad esempio {{ic|VIRTUAL1}}. Successivamente ricontrollate il file {{ic|Xorg.0.log}}. Si dovrebbe vedere un messaggio del tipo: ''Output VIRTUAL1 has no monitor section''. Cambieremo questo mettendo un file con la sezione Monitor necessaria in {{ic|/etc/X11/xorg.conf.d}}. Poi usciremo e riavvieremo X.
 +
 
 +
{{hc|/etc/X11/xorg.conf.d/20-monitor_samsung.conf|
 +
Section "Monitor"
 +
    Identifier    "VIRTUAL1"
 +
    ModelName      "Generated by Another Modeline Calculator"
 +
    HorizSync      40-90
 +
    VertRefresh    50-70
 +
    DisplaySize    532 299  # Aspect ratio 1.778:1
 +
    # Custom modes
 +
    Modeline "1920x1080" 174.83 1920 2056 2248 2536 1080 1081 1084 1149            # 174.83 MHz,  68.94 kHz,  60.00 Hz
 +
EndSection  # Samsung 2494
 +
}}
 +
 
 +
* Accendere la scheda NVIDIA eseguendo: {{ic|sudo tee /proc/acpi/bbswitch <<< ON}}
 +
* Avviare un altro server X per il monitor collegato alla DisplayPort: {{ic|sudo optirun true}}
 +
* Conrollare il file di log per il secondo server X in {{ic|/var/log/Xorg.8.log}}
 +
* Eseguire xrandr per impostare il display VIRTUAL con la giusta dimensione ed il corretto posizionamento, ad esempio: {{ic|xrandr --output VGA1 --auto --rotate normal --pos 0x0 --output VIRTUAL1 --mode 1920x1080 --right-of VGA1 --output LVDS1 --auto --rotate normal --right-of VIRTUAL1}}
 +
* Prendere nota della posizione del display VIRTUAL nella lista delle uscite mostrata da xrandr. Il conteggio parte da zer , vale a dire che se il terzo display è mostrato, è necessario specificare {{ic|-x 2}} come parametro per {{ic|screenclone}}
 +
* Clonare il contenuto del display VIRTUAL dentro il server X creato da Bumblebee, che è collegato al monitor tramite DisplayPort ed il chip NVIDIA : {{ic|screenclone -d :8 -x 2}}
 +
 
 +
Ecco fatto, tutti e tre gli schermi dovrebbero ora essere funzionanti.
 +
 
 +
== Effettuare lo switch da una scheda integrata all'altra come in Windows==
 +
 
 +
Su Windows, Nvidia Optimus funziona in maniera tale che è possibile avere una whitelist di applicazioni che richiedono l'utilizzo di Optimus, ed è anche possibile aggiungere le applicazioni in questa whitelist se necessario. Quando si avvia l'applicazione, viene deciso automaticamente quale scheda video usare.
 +
 
 +
Per imitare questo comportamento in Linux , è possibile utilizzare {{AUR|libgl-switcheroo-git}}{{Broken package link|{{aur-mirror|libgl-switcheroo-git}}}}. Dopo l'installazione, è possibile aggiungere quanto segue in basso nel vostro {{ic|.Xprofile}}:
 +
 
 +
{{hc|~/.xprofile|2=
 +
mkdir -p /tmp/libgl-switcheroo-$USER/fs
 +
gtkglswitch &
 +
libgl-switcheroo /tmp/libgl-switcheroo-$USER/fs &
 +
}}
 +
 
 +
A tal fine, è necessario aggiungere quanto segue alla shell da cui si intende avviare le applicazioni (ho semplicemente aggiungerlo al file  .xprofile)
 +
 
 +
export LD_LIBRARY_PATH=/tmp/libgl-switcheroo-$USER/fs/\$LIB${LD_LIBRARY_PATH+:}$LD_LIBRARY_PATH
 +
 
 +
Una volta che questo è stato fatto tutto , ogni applicazione che si avvia da questo shell aprirà una finestra GTK chiedendo con quale scheda si desidera eseguire (potete anche aggiungere un programma alla whitelist nella configurazione). La configurazione si trova in {{ic|$ XDG_CONFIG_HOME/libgl-switcheroo.conf}}, di solito {{ic|~/.config/libgl-switcheroo.conf}}.
 +
 
 +
==CUDA senza Bumblebee==
 +
 
 +
Non vi è una chiara documentazione in proposito, ma non è necessario che Bumblebee utilizzi CUDA e può funzionare anche su macchine in cui non riesce optirun. Per una guida su come farlo funzionare con il Lenovo IdeaPad Y580 (che utilizza il GeForce 660M), si veda: [[Lenovo IdeaPad Y580#NVIDIA_Card]]{{Broken section link}} . Queste istruzioni molto probabilmente funzioneranno anche con altre macchine (ad eccezione della parte acpi-manico-hack , che non può essere tralasciata).
 +
 
 +
== Risoluzione dei problemi  ==
 +
 
 +
{{Note|Si prega di riportare i bugs al [https://github.com/Bumblebee-Project/Bumblebee Bumblebee-Project] il GitHub tracker come descritto nel [https://github.com/Bumblebee-Project/Bumblebee/wiki/Reporting-Issues Wiki].}}
 +
 
 +
=== [VGL] ERROR: Could not open display :8 ===
 +
 
 +
Esiste un problema noto con alcune applicazioni che vengono lanciate con wine che si biforcano e uccidono il processo padre senza tenere traccia del problema (per esempio la sessione libera di gioco on-line di "Runes of Magic").
 +
 
 +
Questo è un problema noto con VirtualGL . Come con bumblebee 3.1, fintanto che lo avete installato, è possibile utilizzare Primus come ponte di rendering :
 +
 
 +
$ optirun -b primus wine ''windows program''.exe
 +
 
 +
Se questo non funziona, una soluzione alternativa a questo problema è quanto segue:
 +
 
 +
$ optirun bash
 +
$ optirun wine ''windows program''.exe
 +
 
 +
Se state utilizzando il driver NVIDA, una soluzione a questo problema è quello di modificare {{ic|/etc/bumblebee/xorg.conf.nvidia}} e cambiare l'opzione {{ic|ConnectedMonitor}} su {{ic|CRT-0}}.
 +
 
 +
=== [ERROR]Cannot access secondary GPU ===
 +
 
 +
==== Nessun dispositivo rilevato ====
 +
 
 +
In alcuni casi, l'esecuzione di optirun ritorna il seguente errore:
 +
 
 +
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected.
 +
[ERROR]Aborting because fallback start is disabled.
 +
 
 +
In questo caso sarà necessario spostare il file {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} da qualche altra parte, o rimuoverlo se non utilizzato. Riavviare il demone bumblebeed e l'errore non dovrebbe più ripresentarsi. Se si ha bisogno di modificare alcune caratteristiche su modulo Intel , una soluzione è spostare il vostro {{ic|/etc/X11/xorg.conf.d/20-intel.conf}} in {{ic|/etc/X11/xorg.conf}}.
 +
 
 +
Potrebbe anche essere necessario commentare la linea riguardante il driver nel file {{ic|/etc/X11/xorg.conf.d/10-monitor.conf}}.
 +
 
 +
Se si sta utilizzando il driver nouveau si potrebbe provare a passare al driver nVidia.
 +
 
 +
 
 +
Potrebbe essere necessario definire la scheda nvidia da qualche parte, (ad esempio un file in {{ic|/etc/X11/xorg.conf.d}}), e ricordarsi di cambiare il BusID usando lspci.
 +
 
 +
{{bc|
 +
Section "Device"
 +
    Identifier "nvidiagpu1"
 +
    Driver "nvidia"
 +
    BusID "PCI:0:1:0"
 +
EndSection
 +
}}
  
You may configure some variables in file  {{Filename|/etc/bumblebee/bumblebee.conf}}. The defaults are:
+
==== NVIDIA(0): Failed to assign any connected display devices to X screen 0 ====
  
{{File|/etc/bumblebee/bumblebee.conf|content=
+
Se ottenete un errore simile nella console:
<nowiki>
 
STOP_SERVICE_ON_EXIT=N
 
X_SERVER_TIMEOUT=10
 
VGL_DISPLAY=:8
 
X_CONFFILE=
 
BUMBLEBEE_GROUP=bumblebee
 
VGL_COMPRESS=proxy
 
FALLBACK_START=N
 
</nowiki>}}
 
  
=== Compression and VGL Transport ===
+
[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0
 +
[ERROR]Aborting because fallback start is disabled.
  
Compression and transport regards how the frames are compressed in the server side (bumblebee X server), then transported to the client side (main X server) and uncompressed to be displayed in the application window. It mostly will affect performance in the GPU/GPU usage, as the transport is unlimited in bandwidth. Compressed methods (such as '''jpeg''') will load the CPU the most but will load GPU the minimum necessary; uncompressed methods loads the most on GPU and the CPU will have the minimum load possible.
 
  
You can try different compression methods adding the '-c <compress-method>' to the 'optirun' command and test which suits you best:
+
Potete cambiare questa linea in {{ic|/etc/bumblebee/xorg.conf.nvidia}} da:
$ optirun -c jpeg glxgears
 
$ optirun -c proxy glxgears
 
$ optirun -c rgb glxgears
 
$ optirun -c yuv glxgears
 
  
And you can replace the one you like in 'VGL_COMPRESS' variable in {{Filename|/etc/bumblebee/bumblebee.conf}} to use it as default.
+
Option "ConnectedMonitor" "DFP"
  
{{Note|Uncompressed methods '''proxy''' and '''xv''' show less fps in glxgears but they perform better in some applications}}
+
a
  
=== Server Behavior Configuration ===
+
Option "ConnectedMonitor" "CRT"
  
There are three variables to control how the server should behave when 'optirun' is called
+
==== Impossibile caricare il driver GPU ====
STOP_SERVICE_ON_EXIT
 
X_SERVER_TIMEOUT
 
FALLBACK_START
 
  
The X server will always delay a bit when first called. Then should start in a second or so, if the time of subsequent calls is too high you may set ''STOP_SERVICE_ON_EXIT'' to 'N' and the Bumblebee X server will not be stopped when the last 'optirun' is disconnected.
+
Se l'output della console è :
  
''X_SERVER_TIMEOUT'' controls how much time the daemon will wait for the X server to be ready. If your X server takes a while to start you may want to increase this setting, otherwise the server start might fail.
+
[ERROR]Cannot access secondary GPU - error: Could not load GPU driver
  
If you want the application to start in the integrated GPU if the X server is not available, set  ''FALLBACK_START'' to 'Y'. This will print the same message when the server is not available but will not fail the program run.
+
e tentando di caricare il modulo nvidia si ottiene :
  
== Usage ==
+
modprobe nvidia
 +
modprobe: ERROR: could not insert 'nvidia': Exec format error
  
To launch an application using the dedicated graphics card:
+
Si dovrebbe provare a compilare manualmente i pacchetti nvidia per il vostro kernel.
$ optirun [options] <application> [application-parameters]
 
  
For a list of options for 'optirun' run in a terminal:
+
  yaourt -Sb nvidia
  $ optirun --help
 
  
If you want to run a 32-bit application on a 64-bit system you may install the proper 'lib32' packages.
+
Questo dovrebbe correggere l'errore
  
== Power Management ==
+
==== Impossibile inizializzare la scheda NVIDIA su PCI:1:0:0 (GPU non rilevata al BUS) ====
{{stub}}
 
{{Note|This feature has been dropped until a safe and complete solution is found. However a framework to enable the prior ACPI methods is being included in future versions}}
 
  
The goal of power management is to turn the discrete card off when it's not used by any application, and turn it back on when it's needed. Currently the card can be used on-demand and no automatic switching is supported.
+
Si può provare ad aggiungere {{ic|1=rcutree.rcu_idle_gp_delay=1}} nel parametro {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} presente in {{ic|/etc/default/grub}} (ricordarsi rigenerare il file di grub con {{ic|# grub-mkconfig -o /boot/grub/grub.cfg}}). Questo problema è stato discusso [https://bbs.archlinux.org/viewtopic.php?id=169742 qui].
  
=== A little note on why ===
+
=== ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored ===
  
Power management has temporary been removed because Bumblebee did the wrong ACPI calls in order to turn the card off and on. This had some side-effects:
+
Probabilmente si desidera avviare una applicazione a 32 bit con bumblebee su un sistema a 64 bit. Si veda la "nota" nella sezione [[#Installazione|Installazione]]
  
* "FATAL: Error inserting nvidia (.../nvidia.ko): No such device" errors on loading the nvidia module
+
=== Fatal IO error 11 (Risorsa temporaneamente non disponibile) sul server X ===
* Hangs/freezes during booting, shutdown or suspend
 
* BIOS settings which appears to be modified
 
* Other operating systems not recognizing the graphics card anymore
 
  
In a future release, Power Managament might be added back again after some research.
+
Cambiare {{ic|KeepUnusedXServer}} in {{ic|/etc/bumblebee/bumblebee.conf}} da {{ic|false}} a {{ic|true}}. Bumblebee non era in grado di riconoscere i vostri programmi forzati in background.
  
As one of the developers said about the present state of power management under bumblebee:
+
=== Video tearing ===
  
'''Lekensteyn'''
+
Problemi di tearing video sono piuttosto comuni utilizzando Bumblebee. Per risolvere il problema, è necessario attivare {{ic|vsync}}. Dovrebbe essere abilitato per impostazione predefinita sulla scheda Intel, ma verificarlo dai log di Xorg. Per verificare se sia o non sia abilitato per nvidia, eseguire:  
<blockquote>
 
Okay, let's assume a building with dirty windows. You'd like to see more sun and therefore asks a worker to hire someone to get that job done. The worker has never learnt how to clean a dirty window properly, but guess that a rock might be the right way to do it. He asks a kid to try cleaning the window with a rock. Now, different things may happen:
 
# the window gets scratched and it even gets more darky
 
# the window breaks and the sun can shine
 
In the first case, it has gotten worse. That's the "Module not found" horror and suspend/lock-up issues. In the second case, you won't guess that something is wrong because you achieved your goal: the sunshine is better. Anyway, the right solution is obviously cleaning the window with a cloth but not before the window is repaired, which is our current task.
 
</blockquote>
 
  
The ACPI call methods are rocks and "you" is you. The kid is just a messenger, the acpi_call module. That worker is the Bumblebee developer team.
+
$ optirun nvidia-settings -c :8
  
== Troubleshooting  ==
+
Le voci {{ic|1=X Server XVideo Setings -> Sync to VBlank}} e {{ic|1=OpenGL Settings -> Sync to VBlank}} dovrebbero essere entrambi attivati.
 +
La scheda Intel ha in generale meno problemi di tearing, in questo modo potrebbe essere utilizzata per la riproduzione video. In particolare utilizzando VA-API per la decodifica video (ad esempio {{ic|mplayer-vaapi}} e con il parametro {{ic|-vsync}}). Fare riferimento all'articolo [[Intel (Italiano)#Video_tearing|Intel]] su come risolvere i problemi di tearing sulla scheda Intel. Se non è ancora risolto, provate a disabilitare il compositing dal proprio ambiente desktop. Una ulteriore soluzione , potrebbe essere quella di disabilitare il triple buffering.
  
Please report bugs [https://github.com/Bumblebee-Project/Bumblebee here].
+
=== Bumblebee non può collegarsi al Socket ===
  
=== VirtualGL can't open display ===
+
Si potrebbe ottenere qualcosa di simile:
  
If you recieve a message like this
+
{{hc|$ optirun glxspheres|
[VGL] ERROR: Could not open display :XX
+
[ 1648.179533] [ERROR]You've no permission to communicate with the Bumblebee daemon. Try adding yourself to the 'bumblebee' group
 +
[ 1648.179628] [ERROR]Could not connect to bumblebee daemon - is it running?
 +
}}
  
means the second X server is not running or failed to start. To troubleshoot this you may look {{Filename|/var/log/Xorg.XX.log}} file, where the 'XX' is the number of the display used by bumblebee, also take a look for messages under {{Filename|/var/log/bumblebee.log}}.
+
Se siete già nel gruppo {{ic|bumblebee}}  ({{ic|<nowiki>$ groups | grep bumblebee</nowiki>}}), si può provare a [https://bbs.archlinux.org/viewtopic.php?pid=1178729#p1178729 rimuovere il socket] {{ic|/var/run/bumblebeed.socket}}.
  
Here are some things you can try and check:
+
==Ulteriori risorse==
* Check the kernel module loaded for the nvidia card with "lspci -k"
 
* Check the file {{Filename|/etc/bumblebee/xorg.conf.nvidia}} and make sure the option "BusID" points to the correct PCI port.
 
* Change the "ConnectedMonitor" option to "DFP-0" or "CRT-0" (or "DFP,CRT"). This must be a valid screen on your laptop different of "LVDS"
 
* Try setting the option ''X_SERVER_TIMEOUT'' to higher value if the X server starts but takes a long time to become available.
 
  
== Using Nouveau driver ==
+
* [http://www.bumblebee-project.org Bumblebee Project repository]
{{stub}}
+
* [http://wiki.bumblebee-project.org/ Bumblebee Project Wiki]
Work in progress. Will come with new releases by default.
+
* [https://github.com/Bumblebee-Project/bbswitch Bumblebee Project bbswitch repository]
  
==See also==
+
Potete unirvi al canale #bumblebee su freenode.net
* [https://github.com/Bumblebee-Project/Bumblebee Bumblebee Project repository]
 

Latest revision as of 08:12, 13 December 2017

Tratto da Bumblebee's FAQ:

"Bumblebee è una soluzione per rendere la tecnologia di Nvidia Optimus, presente sui computer portatili predisposti, disponibile nei sistemi GNU/Linux. Tale caratteristica coinvolge due schede grafiche con due differenti profili di consumo di alimentazione, che collegati in modo stratificato condividono un singolo framebuffer."

Bumblebee: Tecnologia Optimus per Linux

La Tecnologia Optimus è un'implementazione grafica ibrida senza hardware multiplexer. La GPU integrata gestisce il display, mentre la GPU dedicata gestisce il rendering più impegnativo ed invia il risultato alla GPU integrata per la visualizzazione. Quando il portatile è alimentato a batteria, la GPU dedicata si spegne per risparmiare energia e aumentare l'autonomia. É stato anche testato con successo con macchine desktop con grafica Intel integrata e una scheda grafica nVidia dedicata .

Bumblebee è un'implementazione software composta di due parti:

  • Il rendering di programmi off-screen sulla scheda video dedicata e visualizzati sullo schermo utilizzando la scheda video integrata. Questo bridge è fornito da VirtualGL o primus (leggere di seguito) e si connette a un server X avviato per la scheda video dedicata.
  • Disattivare la scheda video dedicata quando non è in uso (si veda il paragrafo Gestione energetica).

Si cerca di imitare il comportamento della tecnologia Optimus, utilizzando la GPU dedicata per il rendering quando necessario e spegnerlo quando non in uso. Le versioni attuali supportano solo il rendering su richiesta, l'avvio automatico di un programma con la scheda video dedicata in base al carico di lavoro non è implementata.

Installazione

Prima di procedere all'installazione di Bunblebee controllare il vostro BIOS e attivare l'opzione Optimus (nei vecchi computer portatili è chiamato "switchable"), se disponibile (non tutti i BIOS forniscono questa possibilità), e assicurarsi di installare il driver Intel per la scheda video secondaria.

Sono disponibili diversi pacchetti per un setup completo :

  • bumblebee - Il pacchetto principale che fornisce il demone e programmi client.
  • (opzionale) bbswitch (o bbswitch-dkms) -Consigliato per il risparmio energetico disabilitando la scheda Nvidia
  • (opzionale ) Se si desidera più di un semplice risparmio energetico, per un rendering di programmi sulla scheda Nvidia dedicata, è inoltre necessario:
    • Un driver per la scheda Nvidia. Il driver open-source Nouveau o il driver proprietario Nvidia. Vedere la sottosezione.
    • Un bridge per il rendering e la visualizzazione. Attualmente sono disponibili due pacchetti che sono in grado di farlo, primus e virtualgl. Solo uno di loro è necessario, ma possono essere installati ugualmente entrambi.
Note: Se si desidera eseguire una applicazione a 32 bit su un sistema a 64 bit è necessario installare le opportune librerie lib32-* per il programma. inoltre è necessario anche installare lib32-virtualgl o lib32-primus, in base a cosa avete scelto per effettuare il bridge del rendering. Basta fare in modo di eseguire primusrun invece di optirun se si decide di utilizzare bridge Primus per il rendering.

Installare Bumblebee con Intel/Nvidia

Se si desidera eseguire applicazioni a 32-bit (come i giochi su wine) su sistemi a 64-bit, è necessario il pacchetto addizionale lib32-nvidia-utils (e lib32-mesa se si intende utilizzare primusrun).

Nota: Non installare lib32-nvidia-libgl! Bumblebee troverà le giuste librerie lib32 nvidia senza di esso.

Installare Bumblebee con Intel/Nouveau

Installare:

  • xf86-video-nouveau driver sperimentale con accelerazione 3D
  • mesa Mesa classic DRI + driver Gallium3D e librerie grafiche Mesa 3-D

Avviare Bumblebee

Per poter utilizzare Bumblebee è necessario innanzitutto aggiungere il proprio utente (anche altri eventuali utenti) al gruppo Bumblebee:

# gpasswd -a $USER bumblebee

dove $USER è il nome di login dell'utente da aggiungere. Ri-effettuare il login per rendere effettive le modifiche.

Suggerimento: Se volete che Bumblebee sia disponibile all'avvio, allora abilitate il servizio di Systemd bumblebeed.

Ora riavviare il sistema e utilizzare il programma optirun da un terminale per usufruire della tecnologia Optimus NVIDIA per il rendering.

Se si desidera semplicemente disabilitare la scheda nvidia, questo dovrebbe essere tutto ciò che è necessario, oltre ad avere bbswitch installato. Il demone bumblebeed, per impostazione predefinita, istruisce bbswitch per spegnere la scheda quando viene avviato. Vedi anche la sezione Gestione energetica.

Utilizzo

La riga di comando programma optirun fornito con Bumblebee è il vostro migliore amico per l'esecuzione di applicazioni sulla scheda NVIDIA Optimus.

È possibile testare Bumblebee con questo comando:

$ optirun glxgears -info

Se il programma viene eseguito con successo e il terminale fornisce informazioni sulla scheda NVIDIA, allora significa che Optimus con Bumblebee è funzionante.

Per avviare un'applicazione utilizzando la scheda grafica dedicata:

$ optirun [opzione] application [parametri-applicazione]

Alcuni esempi:

Avviare applicazioni Windows con Optiumus

$ optirun wine windows application.exe

Utilizzare NVIDIA Settings con Optimus

$ optirun -b none nvidia-settings -c :8 

Per un elenco di opzioni per optirun vedere la sua pagina man.

Un nuovo programma in futuro diventerà la scelta predefinita, poichè apporta migliori prestazioni, vale a dire primus. Attualmente è necessario eseguire il programma a parte (che non accetta le opzioni a differenza di optirun ), ma in futuro sarà avviato automaticamente da optirun.

Utilizo:

$ primusrun glxgears

Configurazione

È possibile configurare il comportamento di Bumblebee per soddisfare le vostre esigenze. Alcune ottimizzazioni come l'ottimizzazione della velocità, la gestione dell'alimentazione e altre cose possono essere configurate in /etc/bumblebee/bumblebee.conf.

Ottimizzare la velocità quando si utilizza VirtualGL come bridge

Bumblebee gestisce il rendering dei fotogrammi per la scheda NVIDIA Optimus in un server X invisibile con VirtualGL e li trasporta di nuovo al vostro Server X visibile.

I Frames saranno compressi prima di essere trasportati - ciò consente di risparmiare larghezza di banda e può essere utilizzato per l'ottimizzazione della velocità di Bumblebee.

Per usare un metodo di compressione per una singola applicazione:

$ optirun -c metodo-di-comppressione applicazione

I metodi di compressione influiscono sulle prestazioni di utilizzo della CPU/GPU. I metodi compressi (come jpeg) caricheranno al massimo la CPU e al minimo possibile la GPU; i metodi non compressi caricheranno più la GPU mentre la CPU avrà il minor carico possibile.

Metodi compressi sono: jpeg, rgb, yuv

Metodi non compressi sono: proxy, xv

Per impostare un metodo di compressione per tutte le applicazioni impostare il valore VGLTransport con il metodo-di-compressione preferito in /etc/bumblebee/bumblebee.conf:

/etc/bumblebee/bumblebee.conf
[...]
[optirun]
VGLTransport=proxy
[...]

Si può anche fare in modo che VirtualGL legga i pixel dalla vostra scheda grafica. Impostare la variabile di ambiente VGL_READBACK in pbo dovrebbe aumentare le prestazioni. In confronto:

# PBO dovrebbe essere più veloce
VGL_READBACK=pbo optirun glxspheres
#Il valore predefinito è sync
VGL_READBACK=sync optirun glxspheres
Note: CPU frequency scaling influisce direttamente sulle prestazioni rendering

Gestione energetica

L'obiettivo di gestione dell'alimentazione è quello di spegnere la scheda NVIDIA quando non viene utilizzata da nessuna applicazione, e riaccenderla quando è necessario. Se bbswitch è installato, verrà rilevato automaticamente quando si avvia il demone Bumblebee. Nessuna configurazione aggiuntiva è necessaria.

Risparmio energetico predefinito della scheda NVIDIA con bbswitch

Il comportamento predefinito di bbswitch è di lasciare lo stato di alimentazione della scheda invariata. bumblebeed non fa altro che disabilitare la scheda quando viene avviato, in tal modo, quanto segue è necessario solo se si utilizza bbswitch senza bumblebeed .

Impostare le opzioni dei moduli load_state e unload_state in base alle vostre esigenze (si veda la documentazione di bbswitch).

/etc/modprobe.d/bbswitch.conf
options bbswitch load_state=0 unload_state=1

Abilitare la scheda NVIDIA durante lo spegnimento

La scheda NVIDIA non viene inizializzata correttamente durante la fase di boot se la scheda è stata spenta quando il sistema è stato arrestato l'ultima volta. Una soluzione è impostare l'opzione TurnCardOffAtExit=false in /etc/bumblebee/bumblebee.conf, tuttavia questo consentirà alla scheda di fermare ogni volta il demone Bumblebee, anche se fatto manualmente. Per assicurare che la scheda NVIDIA rimanga sempre accesa durante l'arresto, aggiungere il seguente servizio di Systemd (se state utilizzando bbswitch):

/etc/systemd/system/nvidia-enable.service
[Unit]
Description=Enable NVIDIA card
DefaultDependencies=no

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'echo ON > /proc/acpi/bbswitch'

[Install]
WantedBy=shutdown.target

Per attivare il servizio eseguire systemctl enable nvidia-enable.service come root.

Monitor multipli

Uscite collegate al chip Intel

Se la porta (DisplayPort/HDMI/VGA) è collegato al chip Intel, è possibile impostare più monitor con xorg.conf. Si possono impostarli per utilizzare la scheda Intel, ma con Bumblebee è ancora possibile utilizzare la scheda NVIDIA. Un esempio di configurazione, qui di seguito, mostra l'uso di due schermi identici con risoluzione 1080p e con connessione HDMI.

/etc/X11/xorg.conf
Section "Screen"
    Identifier     "Screen0"
    Device         "intelgpu0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
        Modes          "1980x1080_60.00"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "intelgpu1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
        Modes          "1980x1080_60.00"
    EndSubSection
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable" "true"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable" "true"
EndSection

Section "Device"
    Identifier     "intelgpu0"
    Driver         "intel"
    Option         "XvMC" "true"
    Option         "UseEvents" "true"
    Option         "AccelMethod" "UXA"
    BusID          "PCI:0:2:0"
EndSection

Section "Device"
    Identifier     "intelgpu1"
    Driver         "intel"
    Option         "XvMC" "true"
    Option         "UseEvents" "true"
    Option         "AccelMethod" "UXA"
    BusID          "PCI:0:2:0"
EndSection

Section "Device"
    Identifier "nvidiagpu1"
    Driver "nvidia"
    BusID "PCI:0:1:0"
EndSection

Probabilmente sarà necessario cambiare il BusID in base alle vostre esigenze sia per la Intel e la scheda Nvidia.

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

In questo esempio il BusID è 0:2:0

Uscite collegate al chip NVIDIA

Su alcuni notebook, l'uscita video digitale ( HDMI o DisplayPort ) è cablato al chip NVIDIA. Se si desidera utilizzare tutti i display su un tale sistema simultaneamente, è necessario eseguire due server X. La prima prevede di utilizzare il driver Intel per il pannello notebook e un display collegato a VGA. Il secondo sarà avviato attraverso optirun sulla scheda NVIDIA, e al driver per il display digitale.

Attualmente ci sono diverse istruzioni sul web come una tale impostazione può essere fatta funzionare. Uno può essere trovato sul wiki di Bumblebee. Un altro approccio è descritto in seguito.

xf86-video-intel-virtual-crtc e hybrid-screenclone

Questo metodo utilizza un driver patchato Intel, che viene esteso per avere un display virtuale, e il programma hybrid-screenclone che viene utilizzato per copiare il display sopra un display virtuale un secondo server X, che è in esecuzione sulla scheda NVIDIA utilizzando Optirun. Merito va ai Triple-head monitors on a Thinkpad T520 che ha una spiegazione dettagliata di come questo viene fatto su un sistema Ubuntu.

Per semplicità, DP viene utilizzato per riferirsi al Digital Output (DisplayPort) . Le istruzioni devono essere uguali se invece il notebook dispone di una porta HDMI.

  • Impostare il sistema in modo da utilizzare esclusivamente la scheda NVIDIA, test combinato DP/Monitor e generare un file xorg.nvidia.conf. Questo passaggio non è obbligatorio, ma consigliato se il vostro BIOS di sistema ha la possibilità di cambiare la grafica in modalità NVIDIA-only. Per fare questo, prima disinstallare il pacchetto di Bumblebee e installare solo il driver NVIDIA. Successivamente riavviare, entrare nel BIOS e cambiare la modalità grafica in NVIDIA-only. Quando si ritorna in Arch, collegare il monitor sulla porta DP e utilizza startx per verificare se si sta lavorando correttamente. Usare Xorg -configure per generare un file xorg.conf per la scheda NVIDIA. Questo sarà utile più avanti.
  • Reinstallare bumlbebee e bbswitch, riavviare ed impostare la modalità grafica nel BIOS in Hybrid.
  • Installare xf86-video-intel-virtual-crtcAUR[broken link: archived in aur-mirror], e sostituirlo al proprio pacchetto xf86-video-intel.
  • Scaricare hybrid-screenclone e compilarlo utilizzando "make".
  • Modificare queste impostazioni inbumblebee.conf:
/etc/bumblebee/bumblebee.conf
KeepUnusedXServer=true
Driver=nvidia
Nota: Lasciare il parametro PMMethod impostato su "bumblebee". Questo è in contrasto con le istruzioni legate nell'articolo sopra, ma su Arch Linux deve essere lasciato è necessaria in modo che il modulo bbswitch venga caricato automaticamente con queste opzioni.
  • Copiare il file xorg.conf generato in precedenza nello step1 in /etc/X11 (es. /etc/X11/xorg.nvidia.conf). Nella sezione [driver-nvidia] di bumblebee.conf, cambiare il parametro XorgConfFile in modo che punti ad esso.
  • Testare che la configurazione /etc/X11/xorg.nvidia.conf sia funzionante con startx -- -config /etc/X11/xorg.nvidia.conf
  • Affinché il vostro DP Monitor si presentarsi con la risoluzione corretta nel display virtuale, potrebbe essere necessario modificare la sezione Monitor nel file /etc/xorg.nvidia.conf. Dal momento che questo è un lavoro extra, si potrebbe provare a continuare con il file generato automaticamente. Tornare a questo passo delle istruzioni se si scopre che la risoluzione del display virtuale, come mostrato da xrandr, non è corretto .
    • Prima di tutto dovete generare una Modeline. Potete usare il tool amlc,che genearte una Modeline se si introduce alcuni parametri di base.
Esempio: 24" 1920x1080 Monitor
Avviare il tool con amlc -c
Monitor Identifier: Samsung 2494
Aspect Ratio: 2
physical size[cm]: 60
Ideal refresh rate, in Hz: 60
min HSync, kHz: 40
max HSync, kHz: 90
min VSync, Hz: 50
max VSync, Hz: 70
max pixel Clock, MHz: 400

Questa è la sezione Monitor che amlc generato per questo ingresso:

Section "Monitor"
    Identifier     "Samsung 2494"
    ModelName      "Generated by Another Modeline Calculator"
    HorizSync      40-90
    VertRefresh    50-70
    DisplaySize    532 299  # Aspect ratio 1.778:1
    # Custom modes
    Modeline "1920x1080" 174.83 1920 2056 2248 2536 1080 1081 1084 1149             # 174.83 MHz,  68.94 kHz,  60.00 Hz
EndSection  # Samsung 2494

Cambiare xorg.nvidia.conf per includere questa sezione Monitor. È anche possibile tagliare il vostro file in modo che contenga solo ServerLayout, Monitor Device e sezioni Screen. Per riferimento eccovi un esempio:

/etc/X11/xorg.nvidia.conf
Section "ServerLayout"
        Identifier     "X.org Nvidia DP"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Monitor"
    Identifier     "Samsung 2494"
    ModelName      "Generated by Another Modeline Calculator"
    HorizSync      40-90
    VertRefresh    50-70
    DisplaySize    532 299  # Aspect ratio 1.778:1
    # Custom modes
    Modeline "1920x1080" 174.83 1920 2056 2248 2536 1080 1081 1084 1149             # 174.83 MHz,  68.94 kHz,  60.00 Hz
EndSection  # Samsung 2494

Section "Device"
        Identifier  "DiscreteNvidia"
        Driver      "nvidia"
        BusID       "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "DiscreteNvidia"
        Monitor    "Samsung 2494"
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection
  • Collegare entrambi i monitor esterni e avviare con startx. Controllare il proprio /var/log/Xorg.0.log. Verificare che il monitor VGA venga rilevato con le modalità corrette. Si dovrebbe anche vedere un uscita VIRTUAL mostrata con una propria modalità.
  • Avviare xrandr e i tre display dovrebbe essere incluso lì, insieme con le modalità supportate.
  • Se i Modelines elencati per il vostro display virtuale non presenta la risoluzione nativa del proprio monitor, prendere nota del nome esatto dell'uscita. Ad esempio VIRTUAL1. Successivamente ricontrollate il file Xorg.0.log. Si dovrebbe vedere un messaggio del tipo: Output VIRTUAL1 has no monitor section. Cambieremo questo mettendo un file con la sezione Monitor necessaria in /etc/X11/xorg.conf.d. Poi usciremo e riavvieremo X.
/etc/X11/xorg.conf.d/20-monitor_samsung.conf
Section "Monitor"
    Identifier     "VIRTUAL1"
    ModelName      "Generated by Another Modeline Calculator"
    HorizSync      40-90
    VertRefresh    50-70
    DisplaySize    532 299  # Aspect ratio 1.778:1
    # Custom modes
    Modeline "1920x1080" 174.83 1920 2056 2248 2536 1080 1081 1084 1149             # 174.83 MHz,  68.94 kHz,  60.00 Hz
EndSection  # Samsung 2494
  • Accendere la scheda NVIDIA eseguendo: sudo tee /proc/acpi/bbswitch <<< ON
  • Avviare un altro server X per il monitor collegato alla DisplayPort: sudo optirun true
  • Conrollare il file di log per il secondo server X in /var/log/Xorg.8.log
  • Eseguire xrandr per impostare il display VIRTUAL con la giusta dimensione ed il corretto posizionamento, ad esempio: xrandr --output VGA1 --auto --rotate normal --pos 0x0 --output VIRTUAL1 --mode 1920x1080 --right-of VGA1 --output LVDS1 --auto --rotate normal --right-of VIRTUAL1
  • Prendere nota della posizione del display VIRTUAL nella lista delle uscite mostrata da xrandr. Il conteggio parte da zer , vale a dire che se il terzo display è mostrato, è necessario specificare -x 2 come parametro per screenclone
  • Clonare il contenuto del display VIRTUAL dentro il server X creato da Bumblebee, che è collegato al monitor tramite DisplayPort ed il chip NVIDIA : screenclone -d :8 -x 2

Ecco fatto, tutti e tre gli schermi dovrebbero ora essere funzionanti.

Effettuare lo switch da una scheda integrata all'altra come in Windows

Su Windows, Nvidia Optimus funziona in maniera tale che è possibile avere una whitelist di applicazioni che richiedono l'utilizzo di Optimus, ed è anche possibile aggiungere le applicazioni in questa whitelist se necessario. Quando si avvia l'applicazione, viene deciso automaticamente quale scheda video usare.

Per imitare questo comportamento in Linux , è possibile utilizzare libgl-switcheroo-gitAUR[broken link: archived in aur-mirror]. Dopo l'installazione, è possibile aggiungere quanto segue in basso nel vostro .Xprofile:

~/.xprofile
mkdir -p /tmp/libgl-switcheroo-$USER/fs
gtkglswitch &
libgl-switcheroo /tmp/libgl-switcheroo-$USER/fs &

A tal fine, è necessario aggiungere quanto segue alla shell da cui si intende avviare le applicazioni (ho semplicemente aggiungerlo al file .xprofile)

export LD_LIBRARY_PATH=/tmp/libgl-switcheroo-$USER/fs/\$LIB${LD_LIBRARY_PATH+:}$LD_LIBRARY_PATH

Una volta che questo è stato fatto tutto , ogni applicazione che si avvia da questo shell aprirà una finestra GTK chiedendo con quale scheda si desidera eseguire (potete anche aggiungere un programma alla whitelist nella configurazione). La configurazione si trova in $ XDG_CONFIG_HOME/libgl-switcheroo.conf, di solito ~/.config/libgl-switcheroo.conf.

CUDA senza Bumblebee

Non vi è una chiara documentazione in proposito, ma non è necessario che Bumblebee utilizzi CUDA e può funzionare anche su macchine in cui non riesce optirun. Per una guida su come farlo funzionare con il Lenovo IdeaPad Y580 (che utilizza il GeForce 660M), si veda: Lenovo IdeaPad Y580#NVIDIA_Card[broken link: invalid section] . Queste istruzioni molto probabilmente funzioneranno anche con altre macchine (ad eccezione della parte acpi-manico-hack , che non può essere tralasciata).

Risoluzione dei problemi

Note: Si prega di riportare i bugs al Bumblebee-Project il GitHub tracker come descritto nel Wiki.

[VGL] ERROR: Could not open display :8

Esiste un problema noto con alcune applicazioni che vengono lanciate con wine che si biforcano e uccidono il processo padre senza tenere traccia del problema (per esempio la sessione libera di gioco on-line di "Runes of Magic").

Questo è un problema noto con VirtualGL . Come con bumblebee 3.1, fintanto che lo avete installato, è possibile utilizzare Primus come ponte di rendering :

$ optirun -b primus wine windows program.exe

Se questo non funziona, una soluzione alternativa a questo problema è quanto segue:

$ optirun bash
$ optirun wine windows program.exe

Se state utilizzando il driver NVIDA, una soluzione a questo problema è quello di modificare /etc/bumblebee/xorg.conf.nvidia e cambiare l'opzione ConnectedMonitor su CRT-0.

[ERROR]Cannot access secondary GPU

Nessun dispositivo rilevato

In alcuni casi, l'esecuzione di optirun ritorna il seguente errore:

[ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected.
[ERROR]Aborting because fallback start is disabled.

In questo caso sarà necessario spostare il file /etc/X11/xorg.conf.d/20-intel.conf da qualche altra parte, o rimuoverlo se non utilizzato. Riavviare il demone bumblebeed e l'errore non dovrebbe più ripresentarsi. Se si ha bisogno di modificare alcune caratteristiche su modulo Intel , una soluzione è spostare il vostro /etc/X11/xorg.conf.d/20-intel.conf in /etc/X11/xorg.conf.

Potrebbe anche essere necessario commentare la linea riguardante il driver nel file /etc/X11/xorg.conf.d/10-monitor.conf.

Se si sta utilizzando il driver nouveau si potrebbe provare a passare al driver nVidia.


Potrebbe essere necessario definire la scheda nvidia da qualche parte, (ad esempio un file in /etc/X11/xorg.conf.d), e ricordarsi di cambiare il BusID usando lspci.

Section "Device"
    Identifier "nvidiagpu1"
    Driver "nvidia"
    BusID "PCI:0:1:0"
EndSection

NVIDIA(0): Failed to assign any connected display devices to X screen 0

Se ottenete un errore simile nella console:

[ERROR]Cannot access secondary GPU - error: [XORG] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0
[ERROR]Aborting because fallback start is disabled.


Potete cambiare questa linea in /etc/bumblebee/xorg.conf.nvidia da:

Option "ConnectedMonitor" "DFP"

a

Option "ConnectedMonitor" "CRT"

Impossibile caricare il driver GPU

Se l'output della console è :

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

e tentando di caricare il modulo nvidia si ottiene :

modprobe nvidia
modprobe: ERROR: could not insert 'nvidia': Exec format error

Si dovrebbe provare a compilare manualmente i pacchetti nvidia per il vostro kernel.

yaourt -Sb nvidia

Questo dovrebbe correggere l'errore

Impossibile inizializzare la scheda NVIDIA su PCI:1:0:0 (GPU non rilevata al BUS)

Si può provare ad aggiungere rcutree.rcu_idle_gp_delay=1 nel parametro GRUB_CMDLINE_LINUX_DEFAULT presente in /etc/default/grub (ricordarsi rigenerare il file di grub con # grub-mkconfig -o /boot/grub/grub.cfg). Questo problema è stato discusso qui.

ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded: ignored

Probabilmente si desidera avviare una applicazione a 32 bit con bumblebee su un sistema a 64 bit. Si veda la "nota" nella sezione Installazione

Fatal IO error 11 (Risorsa temporaneamente non disponibile) sul server X

Cambiare KeepUnusedXServer in /etc/bumblebee/bumblebee.conf da false a true. Bumblebee non era in grado di riconoscere i vostri programmi forzati in background.

Video tearing

Problemi di tearing video sono piuttosto comuni utilizzando Bumblebee. Per risolvere il problema, è necessario attivare vsync. Dovrebbe essere abilitato per impostazione predefinita sulla scheda Intel, ma verificarlo dai log di Xorg. Per verificare se sia o non sia abilitato per nvidia, eseguire:

$ optirun nvidia-settings -c :8

Le voci X Server XVideo Setings -> Sync to VBlank e OpenGL Settings -> Sync to VBlank dovrebbero essere entrambi attivati. La scheda Intel ha in generale meno problemi di tearing, in questo modo potrebbe essere utilizzata per la riproduzione video. In particolare utilizzando VA-API per la decodifica video (ad esempio mplayer-vaapi e con il parametro -vsync). Fare riferimento all'articolo Intel su come risolvere i problemi di tearing sulla scheda Intel. Se non è ancora risolto, provate a disabilitare il compositing dal proprio ambiente desktop. Una ulteriore soluzione , potrebbe essere quella di disabilitare il triple buffering.

Bumblebee non può collegarsi al Socket

Si potrebbe ottenere qualcosa di simile:

$ optirun glxspheres
[ 1648.179533] [ERROR]You've no permission to communicate with the Bumblebee daemon. Try adding yourself to the 'bumblebee' group
[ 1648.179628] [ERROR]Could not connect to bumblebee daemon - is it running?

Se siete già nel gruppo bumblebee ($ groups | grep bumblebee), si può provare a rimuovere il socket /var/run/bumblebeed.socket.

Ulteriori risorse

Potete unirvi al canale #bumblebee su freenode.net