Bumblebee 3.2 has been released a few days ago but there was an issue and it didn't work on a lot of setups o version 3.2.1 has been released to fix this. The new version also fixes the Primus backend for Ubuntu 13.04 and adds some new options.
Bumblebee is an unofficial tool that brings Nvidia Optimus GPU switching to Linux. It's useful to increase battery life by only switching the dedicated GPU (Nvidia) on when needed. Nvidia has added initial Optimus support in their latest 319.12 beta drivers, but it doesn't have GPU switching yet.
Bumblebee 3.2 comes with the following changes:
- new option: "-b" to disable injection of any render offloading bridge (primus or VirtualGL). Use this to invoke nvidia-settings (optirun -b none nvidia-settings -c :8);
- new option: "--no-xorg" for optirun to disable starting secondary X server. Use this to run CUDA or OpenCL applications that do not need the graphics rendering capabilities. Implies "-b none";
- Bumblebee no longer depends on the primusrun script anymore for the Primus backend. However, "primusrun" and "optirun -b primus" have different behaviors: the first one powers on the discrete GPU when needed while the second one will immediately do this; the difference in behavior is most noticeable with WebGL content in Firefox;
- Added support for passing -configdir to X, defaulting to /etc/bumblebee/xorg.conf.d, --xconfdir option added to bumblebeed and XorgConfDir added to bumblebee.conf; this finally fixes a long-standing annoyance with SNA config option for the Intel driver;
- the BusID is added automatically on Ubuntu 13.04 so users no longer need to do this manually. Without this, Bumblebee failed to work on Ubuntu 13.04;
- fix: added /usr/$LIB/mesa/libGL.so.1 to default primus libGLd for supporting Ubuntu 13.04;
- fix: fixed a "buffer overflow" issue in bumblebeed;
- fix: removed accesses to PCI config space from the daemon process.
Also, Bumblebee Configurator GUI, a tool that allows you to easily setup Bumblebee, has been updated recently with support for the latest Bumblebee 3.2. The latest version also adds an option to install Bumblebee in Ubuntu.
Install Bumblebee Configurator GUI in Ubuntu
To install Bumblebee Configurator GUI in Ubuntu, use the following commands:
sudo add-apt-repository ppa:alessandrofac93/bumblebee-config-gtk-dev sudo apt-get update sudo apt-get install bumblebee-config-gui
Then, you launch the application and use it to install and set up Bumblebee. Or, if you want to manually install Bumblebee, see the instructions below.
Report any Bumblebee Configurator GUI bugs you may find @ Launchpad.
Install Bumblebee in Ubuntu
To add the stable Bumblebee PPA and install the latest Bumblebee in Ubuntu, use the following commands:
sudo add-apt-repository ppa:bumblebee/stable sudo apt-get update sudo apt-get install bumblebee
To use the new Primus backend, you'll also have to install Primus:
sudo apt-get install primus
On 64bit, also install primus-libs-ia32:
sudo apt-get install primus-libs-ia32
To configure Bumblebee you must decide if you want to use Nouveau or the proprietary Nvidia drivers. If you want to use the proprietary Nvidia drivers, take a look at the version you've installed (e.g.: "nvidia-304"), then, open the bumblebee configuration file as root with a text editor:
gksu gksu gedit /etc/bumblebee/bumblebee.conf
And in this file, change:
- "Driver" to "Driver=nvidia"
- "KernelDriver" to "KernelDriver=nvidia-VERSION" (e.g.: "nvidia-304)
- "LibraryPath" to "LibraryPath=/usr/lib/nvidia-VERSION:/usr/lib32/nvidia-VERSION" (e.g.: "LibraryPath=/usr/lib/nvidia-304:/usr/lib32/nvidia-304")
- "XorgModulePath" to "XorgModulePath=/usr/lib/nvidia-VERSION/xorg,/usr/lib/xorg/modules" (e.g.: "XorgModulePath=/usr/lib/nvidia-304/xorg,/usr/lib/xorg/modules")
For Debian, Arch Linux, Gentoo or Mandriva, see the Installing Bumblebee page.
To run a game or application using the dedicated GPU (Nvidia), use the following command:
replacing "APP-EXECUTABLE" with the application (or game) executable.
To use the Primus backend (note: you'll only get about 60 frames / sec in glxspheres but this backend should actually work better than Primus) without changing the Bumblebee configuration, use:
This will immediately turn on the dedicated GPU.
optirun -b primus APP-EXECUTABLE
This will only power the discrete GPU on when needed.