Ubuntu / Linux news and application reviews.

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


Bumblebee Configurator GUI

Bumblebee Configurator GUI


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")
Report any Bumblebee issues you may find @ GitHub.

For Debian, Arch Linux, Gentoo or Mandriva, see the Installing Bumblebee page.



Using Bumblebee


Bumblebee

To run a game or application using the dedicated GPU (Nvidia), use the following command:
optirun APP-EXECUTABLE
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:
optirun -b primus APP-EXECUTABLE
This will immediately turn on the dedicated GPU.

Or:
primusrun APP-EXECUTABLE
This will only power the discrete GPU on when needed.