Differences between revisions 2 and 14 (spanning 12 versions)
Revision 2 as of 2012-01-17 13:59:10
Size: 5971
Editor: PeterWu
Comment: Mention debumblebee
Revision 14 as of 2012-08-26 08:24:56
Size: 7017
Comment: Fix alternatives for glx when using Intel
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 6 Squeeze and newer.
Debian 5 Lenny is not supported.
Line 15: Line 15:
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 23: Line 23:
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 53: Line 53:
=== From repository ===
Wheezy and Sid users can install everything from external repository. Check [[http://suwako.nomanga.net/]] for details.
Line 58: Line 61:
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 60: Line 63:
./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 80: Line 87:
Unless you reboot, you have to start it manually: {{{
sudo invoke-rc.d bumblebeed start
}}}
Line 85: Line 95:
sudo groupadd sudo groupadd bumblebee
Line 99: Line 109:
 $ `optirun firefox`  $ `optirun /opt/VirtualGL/bin/glxspheres64`
Line 101: Line 111:
For a list of options for `optirun` run: For a list of options for `optirun` open the manpage with `man optirun` or run:
Line 107: Line 117:
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 113: Line 123:
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 122: Line 132:
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 128: Line 138:
 * 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:
 $ `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 6 Squeeze and newer. 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

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:

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


CategoryHardware