Bumblebee cannot access my GPU

optirun -vv glxspheres
[ 1731.443943] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 1731.445149] [DEBUG]optirun version 3.1 starting...
[ 1731.445191] [DEBUG]Active configuration:
[ 1731.445202] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 1731.445214] [DEBUG] X display: :8
[ 1731.445224] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-304:/usr/lib32/nvidia-304
[ 1731.445234] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 1731.445244] [DEBUG] Accel/display bridge: auto
[ 1731.445254] [DEBUG] VGL Compression: proxy
[ 1731.445307] [DEBUG]Using auto-detected bridge virtualgl
[ 1731.475930] [INFO]Response: No - error: [XORG] (EE) No devices detected.

[ 1731.475994] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices   detected.

[ 1731.476053] [DEBUG]Socket closed.
[ 1731.476114] [ERROR]Aborting because fallback start is disabled.
[ 1731.476134] [DEBUG]Killing all remaining processes.

I thought this issue might have been resolved as raring is now listed as supported in the wiki https://wiki.ubuntu.com/Bumblebee

My gpu is listed when running lspci

lspci |grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor  Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF106M [GeForce GT 555M] (rev a1)

Does anyone have a working solution?


So to get Bumblebee to work

a) Run the following command to find out the BusID for your Nvidia graphics card:

 lspci | grep NVIDIA

The BusID is the number in the beginning of the line returned by the command above. Here's how the output for the command above looks like on my laptop:

 01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 525M] (rev ff)

The BusID is the number in bold, "01:00.0" in my case.

b) Now we'll have to add the BusID to /etc/bumblebee/xorg.conf.nvidia and for this, we'll open the file as root with a text editor (I'll use Gedit in the command below):

 sudo gedit /etc/bumblebee/xorg.conf.nvidia

And in this file, in the "Device" section, add the following:

    BusID "PCI:YOUR_BUS_ID"

Replacing "YOUR_BUS_ID" with the BusID returned by the command used under step a). For me (remember, for you, the BusID may be different), this line looks like this:

  BusID "PCI:01:00:0"

Then, restart your system and Bumblebee should work so when you want to run an application or game on your Nvidia card, use:

 optirun APP_OR_GAME
 optirun glxspheres

Help > W E B U P D 8 Check Bumblebee Section

Update

so your /etc/bumblebee/xorg.conf.nvidia look like this

 cat /etc/bumblebee/xorg.conf.nvidia 
Section "ServerLayout"
Identifier  "Layout0"
Option      "AutoAddDevices" "false"
EndSection

Section "Device"
Identifier  "Device1"
Driver      "nvidia"
VendorName  "NVIDIA Corporation"
BusID "PCI:01:00:0"
#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | grep VGA` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device).
#   BusID "PCI:02:00:0"

#   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"

Option "NoLogo" "true"
Option "UseEDID" "false"
Option "UseDisplayDevice" "none"
Option "ConnectedMonitor" "DFP"
EndSection

Bumblebee.conf Check your /etc/bumblebee/bumblebee.conf

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
KeepUnusedXServer=false
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=true
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-304
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-304:/usr/lib32/nvidia-304
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-304/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau