Supported drivers

林博仁(Buo-Ren Lin) edited this page Mar 19, 2018 · 14 revisions

Bumblebee supports both Nvidia proprietary driver and Nouveau.

Using Nouveau

You must be sure your card is supported by looking at Nouveau’s feature matrix, the other way around is to test it. Depending on your card model, you must have a fairly recent kernel for such features to work. In most cases the newer the kernel, the more a better features added since Nouveau developers are moving fast on 3D support for Nvidia cards.

Packages needed

You will need the experimental Gallium3D libraries shipped in:

  • xf86-video-nouveau
  • nouveau-dri
  • libgl

Look for the relevant packages in your distro (the package names may differ) and you are all set. Then make sure the following line is in your configuration file of the Bumblebee Xorg server:

Section "Device"
    ...
    Driver "nouveau"
    ...
EndSection

It should come by default in the stock configuration of Bumblebee. Next make sure the bumblebee.conf file has the Driver option set to nouveau. See Configuration for details.

[bumblebeed]
...
Driver=nouveau
...

For Power management on this driver you have the option to use bbswitch or vga-switcheroo. Be aware that both still have some issues (especially with newest laptops).

On Ubuntu, you have to remove the file in /etc/modprobe.d called something like nvidia-hybrid.conf, else nouveau is aliased to off.

Using Nvidia

**WARNING:**You must install the Nvidia binaries in a way that will not break Mesa’s LibGL, it is needed for 3D acceleration on the Intel card. This means that on most distros you will need a Bumblebee specific package for it to run, the stock packages on most cases will break LibGL. See #33

Then make sure the following line is in your configuration file of the Bumblebee Xorg server:

Section "Device"
    ...
    Driver "nvidia"
    ...
EndSection

Then make sure you have the Driver line in bumblebee.conf set to nvidia. Additionally you must set the correct paths for the Nvidia Xorg modules and libraries (note that the former is comma separated while the later is colon separated):

[bumblebeed]
...
Driver=nvidia
...
[driver-nvidia]
...
LibraryPath=/path/to/nvidia/libraries:/path/to/32-bit/libraries/if/applicable
XorgModulePath=/path/to/dir/with/nvidia_drv.so/in/it,/path/to/default/xorg/modules
...

On Ubuntu and Mandriva, the value for KernelDriver is nvidia-current by default, not nvidia. However, on Ubuntu you can also find a lot of other flavors like nvidia-current-updates, nvidia, nvidia-nnn and nvidia-experimental-nnn, so in earlier versions we added a patch that should auto-detect the correct one in case it’s not set, while in newer version we rely on these driver packages to provide alias rules.

For Power management on this driver you have to install and load bbswitch.