Differences between revisions 1 and 16 (spanning 15 versions)
Revision 1 as of 2012-01-17 13:57:21
Size: 5868
Editor: PeterWu
Comment:
Revision 16 as of 2012-08-26 21:55:28
Size: 7027
Editor: Calinou
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Bumblebee aims to provide support for NVIDIA Optimus laptops for GNU/Linux Bumblebee aims to provide support for [[http://www.nvidia.com/object/optimus_technology.html|NVIDIA Optimus]] laptops for GNU/Linux
Line 6: Line 6:
The instructions on this page have been made for Debian 6 Squeeze. Debian 5
Lenny is not supported.
The instructions on this page applies to Debian Squeeze and newer. Debian Lenny and prior is are supported.
Line 10: Line 10:
Uninstall all earlier versions of Bumblebee or [[https://github.com/z0rc/debumblebee|debumblebee]].
Line 13: Line 14:
sudo apt-get install build-essential pkg-config help2man libx11-dev libbsd-dev sudo apt-get install build-essential pkg-config help2man libx11-dev libbsd-dev libglib2.0-dev
Line 21: Line 22:
kernel upgrades. The [[https://launchpad.net/~bumblebee/+archive/testing/+packages?field.name_filter=bbswitch|bbswitch-dkms package from Ubuntu]] kernel upgrades. The [[https://launchpad.net/~bumblebee/+archive/stable/+packages?field.name_filter=bbswitch|bbswitch-dkms package from Ubuntu]]
Line 51: Line 52:
=== From repository ===
Wheezy and Sid users can install everything from external repository. Check [[http://suwako.nomanga.net/]] for details.
Line 56: Line 60:
If you use the proprietary nvidia driver, set the correct driver paths: If you use the proprietary nvidia driver, set the correct driver paths. For '''Squeeze''':
Line 58: Line 62:
./configure CONF_DRIVER_MODULE_NVIDIA=nvidia-current \
  CONF_LDPATH_NVIDIA=/usr/lib/nvidia:/usr/lib32/nvidia \
./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 \
Line 78: Line 86:
Unless you reboot, you have to start it manually: {{{
sudo invoke-rc.d bumblebeed start
}}}
Line 83: Line 94:
sudo groupadd sudo groupadd bumblebee
Line 97: Line 108:
 $ `optirun firefox`  $ `optirun /opt/VirtualGL/bin/glxspheres64`
Line 99: Line 110:
For a list of options for `optirun` run: For a list of options for `optirun` open the manpage with `man optirun` or run:
Line 105: Line 116:
Since Bumblebee 3.0, this feature is enabled by default, using [[https://github.com/Bumblebee-Project/bbswitch|bbswitch]]. This allow automatic power management, without any configuration needs. If Power Management doesn't work on your laptop, please go to this [[https://github.com/Bumblebee-Project/Bumblebee/wiki/Power-Management|Power Management (PM)]] page and help to improve Bumblebee. Since Bumblebee 3.0, this feature is enabled by default, using [[https://github.com/Bumblebee-Project/bbswitch|bbswitch]]. This allow automatic power management, without any configuration needs. If Power Management doesn't work on your laptop, please go to this [[http://wiki.Bumblebee-Project.org/Power-Management|Power Management (PM)]] page and help to improve Bumblebee.
Line 111: Line 122:
First of all: If you have any problem, please read the article [[https://github.com/Bumblebee-Project/Bumblebee/wiki/Troubleshooting|Troubleshooting]]. If your issue is not solved, you can join the [[http://webchat.freenode.net/?channels=#bumblebee|#bumblebee]] IRC channel to ask for help (recommended). See also
https://github.com/Bumblebee-Project/Bumblebee/wiki/Reporting-Issues
First of all: If you have any problem, please read the article [[http://wiki.Bumblebee-Project.org/Troubleshooting|Troubleshooting]]. If your issue is not solved, you can join the [[http://webchat.freenode.net/?channels=#bumblebee|#bumblebee]] IRC channel to ask for help (recommended). See also
http://wiki.Bumblebee-Project.org/Reporting-Issues
Line 120: Line 131:
Follow us on: [[http://www.facebook.com/pages/Bumblebee-Project/292915584089408|Facebook]] and [[https://twitter.com/#!/Team_Bumblebee|Twitter]]. Follow us on: [[http://www.facebook.com/BumblebeeProject|Facebook]], [[https://twitter.com/#!/Team_Bumblebee|Twitter]] and [[https://plus.google.com/u/0/102207276811032054708|Google+]].
Line 126: Line 137:
 * http://Bumblebee-Project.org/
 * http://suwako.nomanga.net/

== Troubleshooting ==
If you have both Intel and nVidia drivers installed on your computer, it may happen that graphics acceleration doesn't work with the Intel card (with or without using Bumblebee). This is probably due to Xorg using the Intel driver, but with the GLX driver from nVidia. To fix this, you have to set correctly the alternative for glx:
 $ `sudo update-alternatives --set glx /usr/lib/mesa-diverted`

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 applies to Debian Squeeze and newer. Debian Lenny and prior is are 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

From repository

Wheezy and Sid users can install everything from external repository. Check http://suwako.nomanga.net/ for details.

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. 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

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:

  • $ optirun [options] <application> [application-parameters]

Example:

  • $ optirun /opt/VirtualGL/bin/glxspheres64

For a list of options for optirun open the manpage with man optirun or run:

  • $ optirun --help

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

Troubleshooting

If you have both Intel and nVidia drivers installed on your computer, it may happen that graphics acceleration doesn't work with the Intel card (with or without using Bumblebee). This is probably due to Xorg using the Intel driver, but with the GLX driver from nVidia. To fix this, you have to set correctly the alternative for glx:

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


CategoryHardware