From ArchWiki
Revision as of 05:29, 2 June 2011 by Samsagax (talk | contribs) (Created page with "Category:Graphics_(English) {{Stub}} {{i18n|Bumblebee}} {{Warning|Bumblebee is a work in progess and may not work properly in your machine}} {{Note|Please report bugs at Mar...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Warning: Bumblebee is a work in progess and may not work properly in your machine
Note: Please report bugs at Martin Juhl's GitHub tracker as described in it's README.

Bumblebee is a solution to Nvidia Optimus hybrid-graphics technology allowing to use the dedicated graphics card for rendering.

About Bumblebee

Optimus Technology is an hybrid graphics implementation without a hardware multiplexer. The integrated GPU manages the display while the dedicated GPU manages the most demanding rendering and ships the work to the integrated GPU to be displayed. When the laptop is running on battery supply, the dedicated GPU is turned off to save power and longer the battery life.

Bumblebee is a software implementation based on VirtualGL and the Nvidia proprietary kernel module to be able to use the dedicated GPU, which is not physically connected to the screen.

This article will describe how to configure Bumblebee.


AUR package: bumblebee


You need to configure a second X server, load the correct kernel module and the load of bumblebee daemon.

Configure X Server

In the installation an Template:Filename file is created with the minimal device configuration. Here you must specify the PCI bus address of the Nvidia card. To get it run in a terminal:

$ lspci | grep VGA

Will give you something like this:

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)
01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 310M] (rev a2)

Take note of the PCI address of the nVidia card (01:00.0 in this case) and edit the line in Template:Filename with the option "BusID" under the "Device" section:

Section "Device"
   Identifier     "Device1"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
   BusID          "PCI:01:00:0"
   Option         "IgnoreEDID"
Note: You must replace any dots (.) by a colon (:) for X server to understand the BusID

Load Kernel Module

Bumblebee needs the proprietary Nvidia kernel module to run properly. You need to unload the Nouveau kernel module and load the Nvidia proprietary one. To do so run in a terminal:

# rmmod nouveau
# modprobe nvidia

To check for success of loading the kernel module, check the output of this command:

$ lspci -k | grep nvidia

Should be something like this:

Kernel driver in use: nvidia

To load nvidia module at startup you must blacklist nouveau first. Add them to the "MODULES" array in Template:Filename:

MODULES=( ... !nouveau nvidia ...)

Start VirtualGL Client

Run this command in a terminal:

$ vglclient -gl

To start vglclient at system startup add "bumblebee" to the "DAEMONS" array in Template:Filename:

DAEMONS=( ... dbus bumblebee ...)
Note: Is safe to background bumblebee but is recommended to be run after dbus

Test Bumblebee

You can test Bumblebee by comparing these two commands:

$ glxgears


$optirun glxgears

Note: You will need the 'mesa' package to run glxgears


To launch an application using the dedicated graphics card:

$ optirun <application> [application-parameters]