Difference between revisions of "Bumblebee (Italiano)"

From ArchWiki
Jump to: navigation, search
(recat)
(Allineamento pagina completo)
Line 2: Line 2:
 
[[Category:X Server (Italiano)]]
 
[[Category:X Server (Italiano)]]
 
{{i18n|Bumblebee}}
 
{{i18n|Bumblebee}}
 +
[[fr:Bumblebee]]
 +
{{stub}}
  
{{translateme}}
+
{{Warning|Bumblebee è un attualmente ancora in fase di sviluppo e potrebbe non funzionare correttamente sulla vostra macchina}}
{{Nota|Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.}}
+
{{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].}}
 +
''Bumblebee è una soluzione per la tecnologia grafica ibrida di Nvidia Optimus, che permette di utilizzare la scheda grafica dedicata per il rendering. È un progetto avviato da Martin Juhl''.
  
{{Warning|Bumblebee is a work in progress and may not work properly on your machine}}
+
== A proposito di Bumblebee ==
{{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.
  
[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 basata su VirtualGL ed un driver del kernel in grado di utilizzare la GPU dedicata, che non è fisicamente collegata allo schermo.
  
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.
+
=== Come funziona ===
  
=== How it works ===
+
Bumblebee cerca di imitare il comportamento della tecnologia Optimus, utilizzando la GPU dedicata per il rendering quando necessario e spegnendolo quando non utilizzato. La release attuale supporta solo il rendering on-demand, mentre la gestione energetica è ancora in fase di sviluppo.
  
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.
+
La scheda dedicata Nvidia è gestita come un server X separato e collegato ad uno schermo "fake" (lo schermo è configurato ma non utilizzato). Il secondo server viene chiamato mediante VirtualGL, come da un server remoto. Detto questo, saranno necessari una serie di passi per impostare il driver del kernel, il server X ed un demone.
  
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.
+
== Installazione ==
  
== Using Nvidia driver ==
+
Il pacchetto di AUR {{Package AUR|bumblebee}} è la versione stabile e usa i driver proprietari Nvidia di default.
{{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)
+
C'è anche una versione git ({{Package AUR|bumblebee-git}}) che non è legata a nessun tipo di driver e può essere utilizzato sia con i driver Nvidia che con Nouveau. Si tratta di un check-out del ramo {{Codeline|develop}} del repository GitHub.
  
=== Installation ===
+
Per l'esecuzione di applicazioni a 32 bit su un sistema a 64 bit è necessario il pacchetto {{Package AUR|lib32-virtualgl}} insieme a qualsiasi altra libreria specifica per applicazioni a 32-bit.
  
AUR package: [http://aur.archlinux.org/packages.php?ID=49469 bumblebee]
+
{{Note|Se è stato installato bumblebee dal repository GitHub utilizzando il programma di installazione, eseguire il programma di disinstallazione prima di installare il pacchetto da AUR}}
  
{{Note|If you installed bumblebee from GitHub repository using the installer, please run the uninstaller before installing the AUR package}}
+
Le versioni a partire dalla 2.3 funzionano con un demone per avviare ed arrestare il server X, ma non controllano la potenza della scheda di default (vedere [[#Power Management]] sotto)
  
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.
+
=== Utilizzo del driver Nvidia ===
  
=== Setup ===
+
La versione git di bumblebee richiede pacchetti aggiuntivi per funzionare con i driver Nvidia.
  
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.
+
* {{Package AUR|nvidia-utils-bumblebee}} contiene i formati binari di Nvidia pacchettizzati in modo da non interferire con la {{Package Official|libgl}} necessaria.
 +
* {{Package AUR|lib32-nvidia-utils-bumblebee}} contiene i formati binari di Nvidia 32-bit pacchettizzati in modo da non interferire con la {{Package Official|libgl}} necessaria.
  
==== Load Kernel Module ====
+
=== Utilizzo dei driver Nouveau ===
  
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:
+
Per utilizzare i driver [[Nouveau]] è necessario installare la versione git di Bumblebee ed alcuni pacchetti aggiuntivi:
# rmmod nouveau
+
  
Add the following line to {{Filename|/etc/modprobe.d/modprobe.conf}} to disable Nouveau module at boot:
+
* {{Package Official|xf86-video-nouveau}} driver sperimentale con accelerazione 3D
{{File|/etc/modprobe.d/modprobe.conf|content=<nowiki>blacklist nouveau</nowiki>}}
+
* {{Package Official|nouveau-dri}} Mesa classic DRI + driver Gallium3D
 +
* {{Package Official|mesa}} librerie grafiche Mesa 3-D
  
Now load the Nvidia module running this:
+
Installarli con
  # modprobe nvidia
+
{{Cli|# pacman -S xf86-video-nouveau nouveau-dri mesa}}
 +
 
 +
== Configurazione ==
 +
 
 +
Al fine di rendere funzionale Bumblebee è necessario configurare un secondo server X, caricare il modulo del kernel desiderato ed eseguire il demone bumblebee. La maggior parte di questi passaggi sono svolti in automatico al momento dell'installazione.
 +
 
 +
=== Caricamento del modulo del kernel ===
 +
 
 +
==== Utilizzo di Nvidia ====
 +
 
 +
Per eseguire Bumblebee utilizzando il modulo del kernel per i driver proprietari Nvidia, è necessario prima fermare il caricamento del modulo [[Nouveau]] nel kernel. Per farlo, eseguire in un terminale:
 +
{{Cli|# rmmod nouveau}}
 +
 
 +
Aggiungere la seguente riga a {{Filename|/etc/modprobe.d/modprobe.conf}} per disabilitare il modulo Nouveau al boot:
 +
{{File|/etc/modprobe.d/modprobe.conf|content=<nowiki>blacklist nouveau</nowiki>}}
  
To check for success of loading the kernel module, check the output of this command:
+
Caricare quindi il modulo Nvidia con:
$ lsmod | grep nvidia
+
{{Cli|# modprobe 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}}:
+
Per caricare il modulo nvidia all'avvio, aggiungerlo nella stringa {{Codeline|MODULES}} in {{Filename|/etc/rc.conf}}:
 
  MODULES=(... nvidia ...)
 
  MODULES=(... nvidia ...)
  
==== Setup X Server ====
+
==== Nouveau ====
  
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.
+
Assicurarsi di non avere i driver [[Nouveau]] in blacklist in nessuno dei file contenuti in {{Filename|/etc/modprobe.d/}}. Il modulo del kernel Nouveau viene caricato di default.
  
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:
+
=== Configurazione del server X ===
$ lspci -d10de: -nn | grep '030[02]'
+
  
This will give you something like this:
+
L'installazione dovrebbe riconoscere automaticamente la scheda grafica e la propria PCI BusID. Se si nota un qualche avvertimento a questo riguardo seguire i seguenti passi supplementari.
01:00.0 VGA compatible controller [0300]: nVidia Corporation GT218 [GeForce 310M] [10de:0a75] (rev a2)
+
  
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:
+
Dopo l'installazione viene creato un file {{Filename|/etc/bumblebee/xorg.conf.DRIVER}} con una configurazione minimale del dispositivo (dove {{Codeline|DRIVER}} può essere {{Codeline|nouveau}} o {{Codeline|nvidia}}). In questo file è necessario specificare l'indirizzo bus PCI della scheda Nvidia. Per farlo eseguire in un terminale:
{{File|/etc/bumblebee/xorg.conf.nvidia|content=
+
 
 +
{{Command|<nowiki>lspci -d10de: -nn | grep '030[02]'</nowiki>|<nowiki>01:00.0 VGA compatible controller [0300]: nVidia Corporation GT218 [GeForce 310M] [10de:0a75] (rev a2)</nowiki>}}
 +
 
 +
Prendere nota dell'indirizzo PCI della scheda nVidia (01:00.0 in questo caso) e modificare la riga in {{Filename|/etc/bumblebee/xorg.conf.DRIVER}} con l'opzione {{Codeline|BusID}} della sezione {{Codeline|Device}}:
 +
 
 +
{{File|/etc/bumblebee/xorg.conf.DRIVER|content=
 
<nowiki>
 
<nowiki>
 
...
 
...
 
Section "Device"
 
Section "Device"
    Identifier    "Device1"
+
...
    Driver        "nvidia"
+
    VendorName    "NVIDIA Corporation"
+
 
     BusID          "PCI:01:00:0"
 
     BusID          "PCI:01:00:0"
    Option        "UseEDID" "false"
+
...
    Option        "ConnectedMonitor" "DFP,CRT"
+
 
EndSection
 
EndSection
 
...
 
...
 
</nowiki>}}
 
</nowiki>}}
  
{{Note|You must replace any dots (.) by a colon (:) for X server to understand the BusID}}
+
{{Note|È necessario sostituire qualsiasi punto (.) con i due punti (:) per fare in modo che il server X non fraintenda il BusID}}
{{Note|If you experience problems with Bumblebee X server not recognizing the screen, try setting the option ''ConnectedMonitor'' to "CRT-0" or "DFP-0"}}
+
  
Then look for the "Files" section and check the path to the nvidia xorg module is correct:
+
Se si utilizzano i driver Nvidia cercare la sezione "Files" e controllare che il percorso del modulo xorg di nvidia sia corretto:
 
{{File|/etc/bumblebee/xorg.conf.nvidia|content=
 
{{File|/etc/bumblebee/xorg.conf.nvidia|content=
 
<nowiki>
 
<nowiki>
Line 94: Line 108:
 
</nowiki>}}
 
</nowiki>}}
  
==== Giving permission to use Bumblebee ====
+
=== Impostare i permessi per usare Bumblebee ===
  
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:
+
I permessi per usare {{Codeline|optirun}} vengono concessi a tutti i membri del gruppo "bumblebee", quindi è necessario aggiungersi (anche altri eventuali utenti) a quel gruppo:
# usermod -a -G bumblebee <user>
+
{{Cli|# 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.
+
dove {{Codeline|<user>}} è il nome di login dell'utente da aggiungere. Rieffettuare il login per rendere effettive le modifiche.
  
==== Start Bumblebee Daemon ====
+
=== Avvio del demone Bumblebee ===
  
Bumblebee provides a daemon to start the second X server, to start it simply run:
+
Bumblebee fornisce un demone per avviare il secondo server X e gestire alcune ulteriori funzioni; per avviarlo basta eseguire:
# rc.d start bumblebee
+
{{Cli|# rc.d start bumblebee}}
  
To be started at boot add it to your 'DAEMONS' array in {{Filename|/etc/rc.conf}}
+
Aggiungerlo alla stringa {{Codeline|DAEMONS}} in {{Filename|/etc/rc.conf}} per l'avvio al boot
  # DAEMONS=(... @bumblebee)
+
  DAEMONS=(... @bumblebee)
  
=== Test Bumblebee ===
+
{{Note|Il gestore attuale non è legato a fattori come tipo di distribuzione, il che significa che non ci sarà output in stile ArchLinux e non ci saranno registrazioni in {{Codeline|rc.d list}}. Questo è un problema noto che deve essere risolto ([https://github.com/Bumblebee-Project/Bumblebee/issues/17 GH-17]). Per vedere lo stato del demone eseguire
 +
{{Cli|$ bumbelee --status}}}}
  
You can test Bumblebee by comparing the output of these two commands:
+
== Test di Bumblebee ==
$ glxgears
+
  
And:
+
È possibile testare Bumblebee con questo comando:
$ optirun glxgears
+
{{Cli|$ optirun glxgears}}
  
{{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.}}
+
Se funziona significa che si è in grado di non caricare il rendering della scheda Nvidia.
  
== Configuration ==
+
{{Note|È necessario il pacchetto {{Package Official|mesa-demos}} per eseguire {{Codeline|glxgears}}. Questo non è un test di benchmark, indica solo che la GPU dedicata funziona in rendering.}}
  
You may configure some variables in file {{Filename|/etc/bumblebee/bumblebee.conf}}. The defaults are:
+
== Configurazione ==
 +
 
 +
È possibile configurare alcune variabili nel file {{Filename|/etc/bumblebee/bumblebee.conf}}. Quelle di default sono:
  
 
{{File|/etc/bumblebee/bumblebee.conf|content=
 
{{File|/etc/bumblebee/bumblebee.conf|content=
Line 128: Line 144:
 
X_SERVER_TIMEOUT=10
 
X_SERVER_TIMEOUT=10
 
VGL_DISPLAY=:8
 
VGL_DISPLAY=:8
 +
DRIVER=nvidia
 
X_CONFFILE=
 
X_CONFFILE=
 
BUMBLEBEE_GROUP=bumblebee
 
BUMBLEBEE_GROUP=bumblebee
 +
ENABLE_POWER_MANAGEMENT=N
 
VGL_COMPRESS=proxy
 
VGL_COMPRESS=proxy
 +
ECO_MODE=N
 
FALLBACK_START=N
 
FALLBACK_START=N
 
</nowiki>}}
 
</nowiki>}}
  
=== Compression and VGL Transport ===
+
=== Compressione e trasporto VGL ===
  
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.
+
La compressione e il trasporto riguardano come i frame sono compressi dal lato server (l'X server di bumblebee), e trasportati poi al lato client (X server principale) e non compressi per essere visualizzati nella finestra dell'applicazione. E per lo più influisce sulle prestazioni di utilizzo della CPU/GPU, dato che il trasporto è illimitato in banda. I metodi compressi  (come {{Codeline|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.
 +
{{Note|CPU frequency scaling influisce direttamente sulle prestazioni rendering}}
  
You can try different compression methods adding the '-c <compress-method>' to the 'optirun' command and test which suits you best:
+
È possibile provare diversi metodi di compressione aggiungendo l'argomento {{Codeline|-c}} al comando {{Codeline|optirun}} per capire qual'è il più adatto:
$ optirun -c jpeg glxgears
+
{{Command|<nowiki>optirun -c <compress-method> /opt/VirtualGL/bin/glxspheres</nowiki>|Bumblebee trasferirà i frame utilizzando: <compress-method>}}
$ 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.
+
Dove {{Codeline|<compress-method>}} può essere {{Codeline|jpeg}}, {{Codeline|xv}}, {{Codeline|proxy}}, {{Codeline|rgb}} o {{Codeline|yuv}}. Si può quindi sostituire quello che si preferisce nella variabile {{Codeline|VGL_COMPRESS}} in {{Filename|/etc/bumblebee/bumblebee.conf}} per usarlo come default.
  
{{Note|Uncompressed methods '''proxy''' and '''xv''' show less fps in glxgears but they perform better in some applications}}
+
{{Note|I metodi non compressi {{Codeline|proxy}} e {{Codeline|xv}} mostrano framerate inferiori ma sono più performanti in alcune applicazioni}}
  
=== Server Behavior Configuration ===
+
=== Configurare il comportamento del Server ===
  
There are three variables to control how the server should behave when 'optirun' is called
+
Ci sono tre variabili per controllare come deve comportarsi il server quando viene richiamato {{Codeline|optirun}}:
 
  STOP_SERVICE_ON_EXIT
 
  STOP_SERVICE_ON_EXIT
 
  X_SERVER_TIMEOUT
 
  X_SERVER_TIMEOUT
 
  FALLBACK_START
 
  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.
+
Il server X sarà sempre un pò in ritardo al momento della prima chiamata. Dovrebbe avviarsi in un secondo o giù di lì, ma se il tempo degli avvii successivi è troppo, è possibile impostare {{Codeline|STOP_SERVICE_ON_EXIT}} a {{Codeline|N}} e il server X Bumblebee non sarà bloccato quando l'ultimo {{Codeline|optirun}} viene disconnesso.
  
''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.
+
{{Codeline|X_SERVER_TIMEOUT}} controlla quanto tempo il demone attenderà il server X. Se il server X tarda troppo si consiglia di aumentare il valore di questa impostazione, altrimenti l'avvio del server potrebbe non riuscire.
  
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.
+
Se si desidera che l'applicazione si avvii nella GPU integrata anche se il server X non è disponibile, impostare {{Codeline|FALLBACK_START}} a {{Codeline|Y}}. Questo stamperà lo stesso messaggio quando il server non è disponibile, ma non fallirà a lanciare il programma.
  
== Usage ==
+
== Utilizzo ==
  
To launch an application using the dedicated graphics card:
+
Per avviare un'applicazione utilizzando la scheda grafica dedicata:
$ optirun [options] <application> [application-parameters]
+
{{Cli|$ optirun [options] <application> [application-parameters]}}
  
For a list of options for 'optirun' run in a terminal:
+
Per un elenco di opzioni per {{Codeline|optirun}}:
$ optirun --help
+
{{Cli|$ optirun --help}}
  
If you want to run a 32-bit application on a 64-bit system you may install the proper 'lib32' packages.
+
Se si desidera eseguire un applicazione a 32 bit su un sistema a 64 bit potrebbe essere necessario installare i pacchetti "lib32" adeguati.
  
== Power Management ==
+
== Gestione energetica ==
{{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.
+
{{Warning|Questa funzione è in attesa fino a quando non sarà trovata una soluzione sicura e affidabile. Tuttavia, una soluzione provvisoria per attivare la modalità ACPI precedente è inclusa in {{Codeline|1=bumblebee>=2.4.0}}. Per ulteriori informazioni, vedere [https://github.com/Bumblebee-Project/Bumblebee/wiki/ACPI-Removed qui]}}
  
=== A little note on why ===
+
L'obiettivo di gestione dell'alimentazione è quello di apegnere la scheda dedicata quando non viene utilizzata da nessuna applicazione, e riaccenderla quando è necessario. Attualmente la scheda può essere utilizzata solo "su richiesta" e nessuno "switch automatico" è supportato di default.
  
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:
+
=== Una breve nota sul perché è stato rimosso ===
  
* "FATAL: Error inserting nvidia (.../nvidia.ko): No such device" errors on loading the nvidia module
+
La gestione dell'alimentazione è stata temporaneamente rimossa perché le azioni ACPI di Bumblebee, durante le chiamate all'accensione e spegnimento, si risolvono con degli errori. Ciò ha avuto alcuni effetti collaterali:
* 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.
+
* Errori "FATAL: Error inserting nvidia (.../nvidia.ko): No such device" al caricamento del modulo nvidia
 +
* Blocco o freeze durante avvio, arresto o sospensione
 +
* Impostazioni del BIOS che sembrano essere state modificate
 +
* Altri sistemi operativi non riconoscono più la scheda grafica
  
As one of the developers said about the present state of power management under bumblebee:
+
In una versione futura, la gestione del risparmio energetico potrebbe essere implementata di nuovo, dopo un periodo di ricerca e sviluppo.
  
'''Lekensteyn'''
+
Come uno degli sviluppatori ha affermato, circa lo stato attuale della gestione alimentazione di bumblebee:
 +
 
 +
'''"Lekensteyn"'''
 
<blockquote>
 
<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:
+
Bene, proviamo ad immaginare un edificio con le finestre sporche. Ci piacerebbe vedere più sole e chiediamo pertanto ad un serramentista di assumere qualcuno per svolgere quel lavoro. Il serramentista non ha mai imparato a pulire bene una finestra sporca, ma immagina che una pietra potrebbe essere il modo giusto per farlo. Chiede quindi ad un ragazzo di provare a pulire la finestra con una pietra: possono accadere due cose:
# the window gets scratched and it even gets more darky
+
# la finestra si graffia e diventa ancora meno trasparente
# the window breaks and the sun can shine
+
# la finestra si rompe e il sole risplende
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.
+
Nel primo caso, la situazione è peggiorata. Quell'orrore di "Module not found" ed errori "suspend/lock-up". Nel secondo caso, non si dovrà indovinare che cosa sia andato male perché l'obiettivo è stato raggiunto: il sole è più brillante. La soluzione giusta è ovviamente la pulizia del vetro con un panno, ma non prima che la finestra sia riparata, che è il nostro compito attuale.
 
</blockquote>
 
</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.
+
I metodi di chiamata ACPI sono le pietre e "voi" ...siete voi. Il ragazzo è solo un messaggero, cioè il modulo acpi_call. Il serramentista è il team di sviluppo Bumblebee.
  
== Troubleshooting  ==
+
=== Attivazione della gestione energetica ===
  
Please report bugs [https://github.com/Bumblebee-Project/Bumblebee here].
+
Dalla versione 2.4.0 il framework ACPI fornito da Bumblebee consente di inviare differenti metodi di chiamata attraverso il modulo del kernel {{Codeline|acpi_call}}. Sarà necessario il pacchetto {{Package AUR|acpi_call-git}} per essere in grado di usarlo.
  
=== VirtualGL can't open display ===
+
{{Warning|I problemi di cui sopra possono ancora verificarsi, anche se le cose sono state rese più sicure, e a meno che non si stano utilizzando chiamate molto aggressive, non dovrebbero essere effetti collaterali importanti. Se si ha capito quanto sopra, ma si desidera attivare comunque il Power Management, ecco una guida per farlo.}}
  
If you recieve a message like this
+
Per prima cosa editare {{Filename|/etc/bumblebee/bumblebee.conf}} e impostare {{Codeline|STOP_SERVICE_ON_EXIT}} a {{Codeline|Y}} in modo che il server X venga fermato quando non ci sono istanze {{Codeline|optirun}} in esecuzione.
[VGL] ERROR: Could not open display :XX
+
  
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}}.
+
{{File|/etc/bumblebee/bumblebee.conf|content=
 +
<nowiki>
 +
...
 +
STOP_SERVICE_ON_EXIT=Y
 +
...
 +
</nowiki>}}
  
Here are some things you can try and check:
+
Poi è necessario creare due file ({{Filename|/etc/bumblebee/cardon}} e {{Filename|/etc/bumblebee/cardoff}}) contenenti le chiamate necessarie per attivare e disattivare la scheda. Ogni riga deve contenere una chiamata, i commenti non sono ammessi. Scrivere una chiamata per riga e nient'altro o si riscontreranno errori:
* 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 ==
+
{{File|/etc/bumblebee/cardon|content=
{{stub}}
+
<nowiki>
Work in progress. Will come with new releases by default.
+
_SB.PCI0.RP00.VGA._DSM {0x01,0x02} 0x03 0x04 {0x1,0x0,0x0,0x3}
 +
_SB.PCI0.RP00.VGA._PS0
 +
</nowiki>}}
 +
 
 +
{{Warning|Queste chiamate sono solo degli esempi e non devono essere utilizzati in nessun caso. Non ci si aspetta che funzionino su ogni tipo di dispositivo. Si possono trovare alcune chiamate [[http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls qui]] (non collaudate e non garantite).}}
 +
 
 +
Abilitare infine la gestione energetica editando il file di configurazione {{Filename|/etc/bumblebee/bumblebee.conf}}:
 +
 
 +
{{File|/etc/bumblebee/bumblebee.conf|content=
 +
<nowiki>
 +
...
 +
ENABLE_POWER_MANAGEMENT=Y
 +
...
 +
</nowiki>}}
 +
 
 +
Bisognerà anche riavviare il demone o direttamente il sistema per rendere effettive le modifiche.
 +
 
 +
== Risoluzione dei problemi  ==
 +
{{Out of date}}
 +
Prova innanzi tutto questa guida alla risoluzione dei problemi, e se il problema persiste, si prega di segnalare i bug [https://github.com/Bumblebee-Project/Bumblebee qui].
 +
 
 +
=== VirtualGL non può aprire il display ===
 +
 
 +
Se si riceve un messaggio come questo
 +
[VGL] ERROR: Could not open display :XX
 +
 
 +
Significa che il secondo server X non è in esecuzione o non è stato avviato. Per risolvere questo si può spulciare il file {{Filename|/var/log/Xorg.XX.log}}, dove "XX" è il numero del display usato da bumblebee; dare anche un'occhiata ai messaggi in {{Filename|/var/log/bumblebee.log}}.
 +
 
 +
Qui ci sono alcune altre cose che si possono controllare:
 +
* Controllare il modulo del kernel caricato per la scheda nvidia con "lspci -k"
 +
* Controllare il file {{Filename|/etc/bumblebee/xorg.conf.nvidia}} e assicurarsi che l'opzione "BusID" punti alla porta PCI corretta.
 +
* Modificare l'opzione "ConnectedMonitor" a "DFP-0" o "CRT-0" (o "DFP,CRT"). Questa deve essere uno schermo valido del computer diverso da "LVDS"
 +
* Provare a impostare l'opzione ''X_SERVER_TIMEOUT'' ad un valore maggiore se il server X si avvia ma impiega troppo tempo.
  
==See also==
+
==Ulteriori risorse==
 
* [https://github.com/Bumblebee-Project/Bumblebee Bumblebee Project repository]
 
* [https://github.com/Bumblebee-Project/Bumblebee Bumblebee Project repository]

Revision as of 22:26, 17 October 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Bumblebee (Italiano)#)
Warning: Bumblebee è un attualmente ancora in fase di sviluppo e potrebbe non funzionare correttamente sulla vostra macchina
Note: Si prega di riportare i bugs al Bumblebee-Project il GitHub tracker come descritto nel Wiki.

Bumblebee è una soluzione per la tecnologia grafica ibrida di Nvidia Optimus, che permette di utilizzare la scheda grafica dedicata per il rendering. È un progetto avviato da Martin Juhl.

A proposito di Bumblebee

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.

Bumblebee è un'implementazione software basata su VirtualGL ed un driver del kernel in grado di utilizzare la GPU dedicata, che non è fisicamente collegata allo schermo.

Come funziona

Bumblebee cerca di imitare il comportamento della tecnologia Optimus, utilizzando la GPU dedicata per il rendering quando necessario e spegnendolo quando non utilizzato. La release attuale supporta solo il rendering on-demand, mentre la gestione energetica è ancora in fase di sviluppo.

La scheda dedicata Nvidia è gestita come un server X separato e collegato ad uno schermo "fake" (lo schermo è configurato ma non utilizzato). Il secondo server viene chiamato mediante VirtualGL, come da un server remoto. Detto questo, saranno necessari una serie di passi per impostare il driver del kernel, il server X ed un demone.

Installazione

Il pacchetto di AUR Template:Package AUR è la versione stabile e usa i driver proprietari Nvidia di default.

C'è anche una versione git (Template:Package AUR) che non è legata a nessun tipo di driver e può essere utilizzato sia con i driver Nvidia che con Nouveau. Si tratta di un check-out del ramo Template:Codeline del repository GitHub.

Per l'esecuzione di applicazioni a 32 bit su un sistema a 64 bit è necessario il pacchetto Template:Package AUR insieme a qualsiasi altra libreria specifica per applicazioni a 32-bit.

Note: Se è stato installato bumblebee dal repository GitHub utilizzando il programma di installazione, eseguire il programma di disinstallazione prima di installare il pacchetto da AUR

Le versioni a partire dalla 2.3 funzionano con un demone per avviare ed arrestare il server X, ma non controllano la potenza della scheda di default (vedere #Power Management sotto)

Utilizzo del driver Nvidia

La versione git di bumblebee richiede pacchetti aggiuntivi per funzionare con i driver Nvidia.

Utilizzo dei driver Nouveau

Per utilizzare i driver Nouveau è necessario installare la versione git di Bumblebee ed alcuni pacchetti aggiuntivi:

Installarli con Template:Cli

Configurazione

Al fine di rendere funzionale Bumblebee è necessario configurare un secondo server X, caricare il modulo del kernel desiderato ed eseguire il demone bumblebee. La maggior parte di questi passaggi sono svolti in automatico al momento dell'installazione.

Caricamento del modulo del kernel

Utilizzo di Nvidia

Per eseguire Bumblebee utilizzando il modulo del kernel per i driver proprietari Nvidia, è necessario prima fermare il caricamento del modulo Nouveau nel kernel. Per farlo, eseguire in un terminale: Template:Cli

Aggiungere la seguente riga a Template:Filename per disabilitare il modulo Nouveau al boot: Template:File

Caricare quindi il modulo Nvidia con: Template:Cli

Per caricare il modulo nvidia all'avvio, aggiungerlo nella stringa Template:Codeline in Template:Filename:

MODULES=(... nvidia ...)

Nouveau

Assicurarsi di non avere i driver Nouveau in blacklist in nessuno dei file contenuti in Template:Filename. Il modulo del kernel Nouveau viene caricato di default.

Configurazione del server X

L'installazione dovrebbe riconoscere automaticamente la scheda grafica e la propria PCI BusID. Se si nota un qualche avvertimento a questo riguardo seguire i seguenti passi supplementari.

Dopo l'installazione viene creato un file Template:Filename con una configurazione minimale del dispositivo (dove Template:Codeline può essere Template:Codeline o Template:Codeline). In questo file è necessario specificare l'indirizzo bus PCI della scheda Nvidia. Per farlo eseguire in un terminale:

Template:Command

Prendere nota dell'indirizzo PCI della scheda nVidia (01:00.0 in questo caso) e modificare la riga in Template:Filename con l'opzione Template:Codeline della sezione Template:Codeline:

Template:File

Note: È necessario sostituire qualsiasi punto (.) con i due punti (:) per fare in modo che il server X non fraintenda il BusID

Se si utilizzano i driver Nvidia cercare la sezione "Files" e controllare che il percorso del modulo xorg di nvidia sia corretto: Template:File

Impostare i permessi per usare Bumblebee

I permessi per usare Template:Codeline vengono concessi a tutti i membri del gruppo "bumblebee", quindi è necessario aggiungersi (anche altri eventuali utenti) a quel gruppo: Template:Cli

dove Template:Codeline è il nome di login dell'utente da aggiungere. Rieffettuare il login per rendere effettive le modifiche.

Avvio del demone Bumblebee

Bumblebee fornisce un demone per avviare il secondo server X e gestire alcune ulteriori funzioni; per avviarlo basta eseguire: Template:Cli

Aggiungerlo alla stringa Template:Codeline in Template:Filename per l'avvio al boot

DAEMONS=(... @bumblebee)
Note: Il gestore attuale non è legato a fattori come tipo di distribuzione, il che significa che non ci sarà output in stile ArchLinux e non ci saranno registrazioni in Template:Codeline. Questo è un problema noto che deve essere risolto (GH-17). Per vedere lo stato del demone eseguire Template:Cli

Test di Bumblebee

È possibile testare Bumblebee con questo comando: Template:Cli

Se funziona significa che si è in grado di non caricare il rendering della scheda Nvidia.

Note: È necessario il pacchetto Template:Package Official per eseguire Template:Codeline. Questo non è un test di benchmark, indica solo che la GPU dedicata funziona in rendering.

Configurazione

È possibile configurare alcune variabili nel file Template:Filename. Quelle di default sono:

Template:File

Compressione e trasporto VGL

La compressione e il trasporto riguardano come i frame sono compressi dal lato server (l'X server di bumblebee), e trasportati poi al lato client (X server principale) e non compressi per essere visualizzati nella finestra dell'applicazione. E per lo più influisce sulle prestazioni di utilizzo della CPU/GPU, dato che il trasporto è illimitato in banda. I metodi compressi (come Template:Codeline) 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.

Note: CPU frequency scaling influisce direttamente sulle prestazioni rendering

È possibile provare diversi metodi di compressione aggiungendo l'argomento Template:Codeline al comando Template:Codeline per capire qual'è il più adatto: Template:Command

Dove Template:Codeline può essere Template:Codeline, Template:Codeline, Template:Codeline, Template:Codeline o Template:Codeline. Si può quindi sostituire quello che si preferisce nella variabile Template:Codeline in Template:Filename per usarlo come default.

Note: I metodi non compressi Template:Codeline e Template:Codeline mostrano framerate inferiori ma sono più performanti in alcune applicazioni

Configurare il comportamento del Server

Ci sono tre variabili per controllare come deve comportarsi il server quando viene richiamato Template:Codeline:

STOP_SERVICE_ON_EXIT
X_SERVER_TIMEOUT
FALLBACK_START

Il server X sarà sempre un pò in ritardo al momento della prima chiamata. Dovrebbe avviarsi in un secondo o giù di lì, ma se il tempo degli avvii successivi è troppo, è possibile impostare Template:Codeline a Template:Codeline e il server X Bumblebee non sarà bloccato quando l'ultimo Template:Codeline viene disconnesso.

Template:Codeline controlla quanto tempo il demone attenderà il server X. Se il server X tarda troppo si consiglia di aumentare il valore di questa impostazione, altrimenti l'avvio del server potrebbe non riuscire.

Se si desidera che l'applicazione si avvii nella GPU integrata anche se il server X non è disponibile, impostare Template:Codeline a Template:Codeline. Questo stamperà lo stesso messaggio quando il server non è disponibile, ma non fallirà a lanciare il programma.

Utilizzo

Per avviare un'applicazione utilizzando la scheda grafica dedicata: Template:Cli

Per un elenco di opzioni per Template:Codeline: Template:Cli

Se si desidera eseguire un applicazione a 32 bit su un sistema a 64 bit potrebbe essere necessario installare i pacchetti "lib32" adeguati.

Gestione energetica

Warning: Questa funzione è in attesa fino a quando non sarà trovata una soluzione sicura e affidabile. Tuttavia, una soluzione provvisoria per attivare la modalità ACPI precedente è inclusa in Template:Codeline. Per ulteriori informazioni, vedere qui

L'obiettivo di gestione dell'alimentazione è quello di apegnere la scheda dedicata quando non viene utilizzata da nessuna applicazione, e riaccenderla quando è necessario. Attualmente la scheda può essere utilizzata solo "su richiesta" e nessuno "switch automatico" è supportato di default.

Una breve nota sul perché è stato rimosso

La gestione dell'alimentazione è stata temporaneamente rimossa perché le azioni ACPI di Bumblebee, durante le chiamate all'accensione e spegnimento, si risolvono con degli errori. Ciò ha avuto alcuni effetti collaterali:

  • Errori "FATAL: Error inserting nvidia (.../nvidia.ko): No such device" al caricamento del modulo nvidia
  • Blocco o freeze durante avvio, arresto o sospensione
  • Impostazioni del BIOS che sembrano essere state modificate
  • Altri sistemi operativi non riconoscono più la scheda grafica

In una versione futura, la gestione del risparmio energetico potrebbe essere implementata di nuovo, dopo un periodo di ricerca e sviluppo.

Come uno degli sviluppatori ha affermato, circa lo stato attuale della gestione alimentazione di bumblebee:

"Lekensteyn"

Bene, proviamo ad immaginare un edificio con le finestre sporche. Ci piacerebbe vedere più sole e chiediamo pertanto ad un serramentista di assumere qualcuno per svolgere quel lavoro. Il serramentista non ha mai imparato a pulire bene una finestra sporca, ma immagina che una pietra potrebbe essere il modo giusto per farlo. Chiede quindi ad un ragazzo di provare a pulire la finestra con una pietra: possono accadere due cose:

  1. la finestra si graffia e diventa ancora meno trasparente
  2. la finestra si rompe e il sole risplende

Nel primo caso, la situazione è peggiorata. Quell'orrore di "Module not found" ed errori "suspend/lock-up". Nel secondo caso, non si dovrà indovinare che cosa sia andato male perché l'obiettivo è stato raggiunto: il sole è più brillante. La soluzione giusta è ovviamente la pulizia del vetro con un panno, ma non prima che la finestra sia riparata, che è il nostro compito attuale.

I metodi di chiamata ACPI sono le pietre e "voi" ...siete voi. Il ragazzo è solo un messaggero, cioè il modulo acpi_call. Il serramentista è il team di sviluppo Bumblebee.

Attivazione della gestione energetica

Dalla versione 2.4.0 il framework ACPI fornito da Bumblebee consente di inviare differenti metodi di chiamata attraverso il modulo del kernel Template:Codeline. Sarà necessario il pacchetto Template:Package AUR per essere in grado di usarlo.

Warning: I problemi di cui sopra possono ancora verificarsi, anche se le cose sono state rese più sicure, e a meno che non si stano utilizzando chiamate molto aggressive, non dovrebbero essere effetti collaterali importanti. Se si ha capito quanto sopra, ma si desidera attivare comunque il Power Management, ecco una guida per farlo.

Per prima cosa editare Template:Filename e impostare Template:Codeline a Template:Codeline in modo che il server X venga fermato quando non ci sono istanze Template:Codeline in esecuzione.

Template:File

Poi è necessario creare due file (Template:Filename e Template:Filename) contenenti le chiamate necessarie per attivare e disattivare la scheda. Ogni riga deve contenere una chiamata, i commenti non sono ammessi. Scrivere una chiamata per riga e nient'altro o si riscontreranno errori:

Template:File

Warning: Queste chiamate sono solo degli esempi e non devono essere utilizzati in nessun caso. Non ci si aspetta che funzionino su ogni tipo di dispositivo. Si possono trovare alcune chiamate [qui] (non collaudate e non garantite).

Abilitare infine la gestione energetica editando il file di configurazione Template:Filename:

Template:File

Bisognerà anche riavviare il demone o direttamente il sistema per rendere effettive le modifiche.

Risoluzione dei problemi

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Bumblebee (Italiano)#)

Prova innanzi tutto questa guida alla risoluzione dei problemi, e se il problema persiste, si prega di segnalare i bug qui.

VirtualGL non può aprire il display

Se si riceve un messaggio come questo

[VGL] ERROR: Could not open display :XX

Significa che il secondo server X non è in esecuzione o non è stato avviato. Per risolvere questo si può spulciare il file Template:Filename, dove "XX" è il numero del display usato da bumblebee; dare anche un'occhiata ai messaggi in Template:Filename.

Qui ci sono alcune altre cose che si possono controllare:

  • Controllare il modulo del kernel caricato per la scheda nvidia con "lspci -k"
  • Controllare il file Template:Filename e assicurarsi che l'opzione "BusID" punti alla porta PCI corretta.
  • Modificare l'opzione "ConnectedMonitor" a "DFP-0" o "CRT-0" (o "DFP,CRT"). Questa deve essere uno schermo valido del computer diverso da "LVDS"
  • Provare a impostare l'opzione X_SERVER_TIMEOUT ad un valore maggiore se il server X si avvia ma impiega troppo tempo.

Ulteriori risorse