Bumblebee Project

Bumblebee aims to provide support for NVIDIA Optimus laptops for GNU/Linux distributions. Using Bumblebee, you can use your NVIDIA card for rendering graphics which will be displayed using the Intel card.

The instructions on this page have been made for Debian 6 Squeeze. Debian 5 Lenny is not supported.

Requirements

Uninstall all earlier versions of Bumblebee or debumblebee.

bbswitch

It's recommended to install this kernel module using DKMS such that it survives kernel upgrades. The bbswitch-dkms package from Ubuntu is compatible with Debian and can also be used.

Driver choice

NVIDIA Optimus graphics card are very recent, the nouveau package supplied with Squeeze is very old. For nouveau, kernel 3.1 and up is recommended because of the firmware. If you're using Squeeze, the easiest way is to use the NVIDIA proprietary driver.

NVIDIA blob

To install the nvidia proprietary driver, you will have to install the nvidia-glx and http://packages.debian.org/nvidia-kernel-dkms packages. If using Squeeze, the backports repository needs to be enabled. Make sure APT has non-free and contrib sources (consult the sources.list(5) man page for help on doing this).

After refreshing the package lists using sudo apt-get update, install the NVIDIA drivers with:

sudo apt-get install -t squeeze-backports nvidia-glx linux-headers-$(uname -r) nvidia-kernel-dkms

(remove -t squeeze-backports if you are not using Squeeze)

The following command is very important, if you skip it you will loose 3D acceleration. Restore Mesa as the default GL library since the primary display is running on the Intel graphics card:

sudo update-alternatives --set glx /usr/lib/mesa-diverted

Installation

Compiling

Configure the source tree, it can be as simple as ./configure if you use nouveau and want to install Bumblebee to /usr with the configuration directory at /usr/local/etc/bumblebee.

If you use the proprietary nvidia driver, set the correct driver paths:

./configure CONF_LDPATH_NVIDIA=/usr/lib/nvidia:/usr/lib32/nvidia \
  CONF_MODPATH_NVIDIA=/usr/lib/nvidia,/usr/lib/xorg/modules

Append --sysconfdir=/etc if you wish to have configuration files available at /etc/bumblebee.

Continue with building and installing files.

make
sudo make install

Startup script

To make the bumblebee daemon (bumblebeed) start on boot, install an init script:

sudo install -m755 scripts/sysvinit/bumblebeed /etc/init.d/
sudo update-rc.d bumblebeed defaults

Unless you reboot, you have to start it manually:

sudo invoke-rc.d bumblebeed start

Groups

For security reasons, the use of Bumblebee is restricted to a certain group. By default, this group is bumblebee, which must be created:

sudo groupadd bumblebee

Users who are allowed to use Bumblebee must be added (replace $USER accordingly):

sudo usermod -a -G bumblebee $USER

Group settings are re-read after login so re-login to get started.

Usage

To run your application with the discrete NVIDIA card run in the terminal:

Example:

For a list of options for optirun run:

Power Management

A primary goal of this project is to not only enable use of the discrete GPU for rendering, but also to enable smart power management of the dGPU when it's not in use. We're using either bbswitch (a module) or vga_switcheroo (kernel module, experimental) to do this in Bumblebee.

Since Bumblebee 3.0, this feature is enabled by default, using bbswitch. This allow automatic power management, without any configuration needs. If Power Management doesn't work on your laptop, please go to this Power Management (PM) page and help to improve Bumblebee.

IRC

If you have any questions, feel free to join #bumblebee on Freenode.

Reporting bugs/problems

First of all: If you have any problem, please read the article Troubleshooting. If your issue is not solved, you can join the #bumblebee IRC channel to ask for help (recommended). See also http://wiki.Bumblebee-Project.org/Reporting-Issues

When asked to create a bugreport, run the sudo bumblebee-bugreport command in a terminal

Uninstall

If you're unsatisfied with Bumblebee, you can remove it by running sudo make uninstall from the source directory.

Social Media

Follow us on: Facebook, Twitter and Google+.

References


CategoryHardware