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 applies to Debian Squeeze and newer. Debian Lenny and prior are not supported.
For Sid and Jessie users, Bumblebee packages are available directly from the Debian repositories, thus most of the instructions on this page are irrelevant for you; you can skip straight down to the Installation section. In summary, it's now as simple as installing bumblebee or bumblebee-nvidia, and primus.
Uninstall all earlier versions of Bumblebee or debumblebee.
Source tarball from https://github.com/Bumblebee-Project/Bumblebee/tags
sudo apt-get install build-essential pkg-config help2man libx11-dev libbsd-dev libglib2.0-dev
- A video driver (nouveau or nvidia, see below)
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.
To install the nvidia proprietary driver, you will have to install the nvidia-glx and 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
Sid and Jessie users can install everything directly from the official repositories.
For users who would like to use the free nouveau driver:
sudo apt-get install bumblebee primus
For users who would like to use the proprietary nvidia driver:
sudo apt-get install bumblebee-nvidia primus
Alternatively, Wheezy, Jessie, and Sid users can install everything from an external repository (which was setup before bumblebee packages were made available in the official repositories). Check http://suwako.nomanga.net/ for details.
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 configure is missing, run autoreconf -fi first (see README.markdown).
If you use the proprietary nvidia driver, set the correct driver paths. For Squeeze:
./configure CONF_LDPATH_NVIDIA=/usr/lib/nvidia:/usr/lib32/nvidia \ CONF_MODPATH_NVIDIA=/usr/lib/nvidia,/usr/lib/xorg/modules
For Wheezy or newer:
./configure CONF_LDPATH_NVIDIA=/usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/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
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
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.
To run your application with the discrete NVIDIA card run in the terminal:
$ optirun [options] <application> [application-parameters]
$ optirun /opt/VirtualGL/bin/glxspheres64
For a list of options for optirun open the manpage with man optirun or run:
$ optirun --help
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.
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.
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.
If you have any questions, feel free to join #bumblebee on Freenode.
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
If you're unsatisfied with Bumblebee, you can remove it by running sudo make uninstall from the source directory.