Use Nvidia Experimental 310 Drivers With Bumblebee

The Bumblebee PPA has been updated today, and the packages now allow the latest “nvidia-experimental-310” drivers to be used with Bumblebee.
Nvidia GeForce driver 310 is said to “double the performance and dramatically reduce game loading times for those gaming” and it can be installed from the “updates” Ubuntu 12.04 and 12.10 repository. Below you’ll find instructions on how to configure Bumblebee to work with nvidia-experimental-310 driver.
Nvidia Optimus is a technology used to increases battery life by switching between two graphics adapters (a low-performance integrated Intel graphics adapter and a high-performance one by Nvidia) within a computer system. Optimus GPU switching is officially only supported on Windows, but it’s also unofficially available on Linux thanks to the Bumblebee project.

How to configure Bumblebee to work with nvidia-experimental-310 driver
Bumblebee nvidia experimental 310
1. Install Bumblebee if you haven’t already.

2. Install the Nvidia GeForce driver 310.14 experimental driver:
sudo apt-get install nvidia-experimental-310 nvidia-settings-experimental-310
3. Configure Bumblebee to use nvidia-experimental-310.

Open “/etc/bumblebee/bumblebee.conf” as root with a text editor:
gksu gedit /etc/bumblebee/bumblebee.conf
And change the following:

– on line 22, make sure “Driver=” is set to “nvidia”, like this:
Driver=nvidia

– change the “KernelDriver=” (on line 47) to “nvidia-experimental-310”, like this:
KernelDriver=nvidia-experimental-310

– change “LibraryPath=” (on line 51) to “/usr/lib/nvidia-experimental-310:/usr/lib32/nvidia-experimental-310”, so it looks like this:
LibraryPath=/usr/lib/nvidia-experimental-310:/usr/lib32/nvidia-experimental-310

– change the “XorgModulePath=” (line 54) to “XorgModulePath=/usr/lib/nvidia-experimental-310/xorg,/usr/lib/xorg/modules” so it looks like this:
XorgModulePath=/usr/lib/nvidia-experimental-310/xorg,/usr/lib/xorg/modules

4. Restart Bumblebee, logout.

Restart the bumblebeed daemon using the following command:
sudo service bumblebeed restart
Then log out and log back in and try it out:
optirun glxspheres
If it doesn’t work, try to restart your system.

Note: if you’re using Primus, you’ll have to edit the /usr/bin/primusrun script to use “nvidia-experimental-310” instead of “nvidia-current”.

Originally published at WebUpd8: Daily Ubuntu / Linux news and application reviews.



Category: Ubuntu | Comments Off on Use Nvidia Experimental 310 Drivers With Bumblebee

Primus: Better Performance And Less Power Consumption For Bumblebee [Optimus Hybrid Graphics Chipsets]

Nvidia Optimus is a technology used to increases battery life by switching between two graphics adapters (a low-performance integrated Intel graphics adapter and a high-performance one by Nvidia) within a computer system. Optimus GPU switching is officially only supported on Windows, but it’s also unofficially available on Linux thanks to the Bumblebee project.
Primus brings better performance and less power consumption when using Bumblebee, by replacing VirtualGL. According to the Bumblebee G+ page, this has the following advantages over the optirun (VirtualGL) solution used by default in Bumblebee:Less overhead (better framerates) and cleaner solution (no networking or compression involved at all)Fixes the “bug” that causes Bumblebee to shut down the GPU too early sometimes (no more need for the “optirun bash” workaround)Less buggy/glitchy, easier to debugOnly uses/starts secondary GPU for OpenGL parts of applications – everything else remains on your main GPU (power savings)
The Bumblebee developers explain what Primus does and the difference between Primus / optirun in simple terms in a comment on their G+ page:

Bumblebee uses VirtualGL to copy the image generated by the second (faster) GPU to your display. VirtualGL was intended for use over a network though, so it takes a great many steps to enable this (compression, sending the image over a network link, decompression, etc).

Primus doesn’t perform all these “extra” steps, instead taking a more direct route (copying the rendered image in memory to the other GPU, then displaying there). In theory this should get you better performance as well as better compatibility. Running applications will “see” the OpenGL implementation of your real hardware, nothing virtual is presented to them.
For comparison, here are the framerates I get on my laptop when using the integrated Intel graphics, when using the Nvidia graphics card using optirun and using primusrun (this is just for FPS and not an indicator for the whole performance!):
glxspheres intel gpuIntegrated (Intel) graphics
glxspheres optirun bumblebeeoptirun (default in Bumblebee) using the Nvidia GPU
glxspheres primusrun bumblebeePrimus using the Nvidia GPU
As you can see, the FPS using

Category: Ubuntu | Comments Off on Primus: Better Performance And Less Power Consumption For Bumblebee [Optimus Hybrid Graphics Chipsets]