Page 1 of 1

Install Bumblebee 3.2 and Nvidia 313 on 13.04

PostPosted: Thu Apr 25, 2013 8:00 pm
by ryanvade
Hello everyone. I have spent a few weeks working on this one. I will explain what I found out about installing Bumblebee 3.2 on Ubuntu 13.04 with the Nvidia 313 driver.

First off we need to add the Bumblebee PPA
Code: Select all
sudo add-apt-repository ppa:bumblebee/testing

*NOTE This installs the testing ppa. As of the writing of this tutorial 3.2 was moved back to testing. If it is ever put in stable replace testing with stable.
Now we have to install bumblebee:
Code: Select all
sudo apt-get update && sudo apt-get install bumblebee virtualgl linux-headers-generic

okay great. Now restart. After the reinstall you can either keep the current driver, or upgrade. For this tutorial I will be using the recommended nvidia-313.
Now we install 313:
Code: Select all
sudo apt-get install nvidia-313-updates

With that done we have to tell bumblebee to use the new driver and kernel module:
Code: Select all
sudo nano /etc/bumblebee/bumblebee.conf


- on line 22, make sure "Driver=" is set to "nvidia", like this:
Driver=nvidia

- change the "KernelDriver=" (on line 47) to "nvidia-313-updates", like this:
KernelDriver=nvidia-313-updates

- change "LibraryPath=" (on line 51) to "/usr/lib/nvidia-313-updates:/usr/lib32/nvidia-313-updates", so it looks like this:
LibraryPath=/usr/lib/nvidia-313-updates:/usr/lib32/nvidia-313-updates

- change the "XorgModulePath=" (line 54) to "XorgModulePath=/usr/lib/nvidia-313-updates/xorg,/usr/lib/xorg/modules" so it looks like this:
XorgModulePath=/usr/lib/nvidia-313-updates/xorg,/usr/lib/xorg/modules

okay now we edit the xorg file for nvidia:
Code: Select all
sudo nano /etc/bumblebee/xorg.conf.nvidia

Be sure to double check the Nvidia card BusID with lspci
Here is my file:
Code: Select all
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"
    BusID "PCI:01:00:0"
    Option "NoLogo" "false"
    Option "UseEDID" "true"
    Option "UseDisplayDevice" "none"
    Option "ConnectedMonitor" "DFP"
EndSection


Now you should restart the bumblebee daemon
Code: Select all
sudo service bumblebeed restart

With that being done you can try to use bumblebeed:
Code: Select all
optirun -vvv glxgears

*NOTE glxgears is available with mesa-utils

IF all goes well, your done. If not:
reboot
then copy the files like this:
Code: Select all
sudo cp /etc/bumblebee/xorg.conf.nvidia /usr/share/X11/xorg.conf.d.xorg.conf.nvidia

Code: Select all
sudo /usr/share/X11/xorg.conf.d.xorg.conf.nvidia /usr/share/X11/xorg.conf.d.xorg.conf

and finally double check the busid file:
Code: Select all
sudo nano /etc/bumblebee/xorg.conf.d/busid.conf


Hopefully this helps. :D

Re: Install Bumblebee 3.2 and Nvidia 313 on 13.04

PostPosted: Thu Apr 25, 2013 10:18 pm
by ryanvade
***NOTE*** Remove the xorg.conf files from /usr/share/X11/xorg.conf.d after you are done using Bumblebee. At this time Xorg is not using (or misreading ) the configuration that tells it where to look for the dummy xorg.conf file. (normally in the bumblebee folder). So, place a copy in the bumblebee folder and copy to the xorg.conf.d directory when you need to use bumblebee. A pain I know, but it works for now.

Re: Install Bumblebee 3.2 and Nvidia 313 on 13.04

PostPosted: Sat Apr 27, 2013 2:05 am
by ryanvade
****NOTE**** My last fix is now irelevant. 3.2.1 has fixed the issue.