2

I tried multiple different drives, nvidia-340, nvidia-331, nvidia-331-updates, nvidia-343 and with the same result:

# optirun -vv --debug bash
[  785.862681] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[  785.863474] [INFO]Configured driver: nvidia
[  785.863827] [DEBUG]optirun version 3.2.1 starting...
[  785.863890] [DEBUG]Active configuration:
[  785.863929] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  785.863970] [DEBUG] X display: :8
[  785.864056] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-331-updates:/usr/lib32/nvidia-331-updates
[  785.864092] [DEBUG] Socket path: /var/run/bumblebee.socket
[  785.864120] [DEBUG] Accel/display bridge: auto
[  785.864148] [DEBUG] VGL Compression: proxy
[  785.864175] [DEBUG] VGLrun extra options: 
[  785.864212] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
[  785.864329] [DEBUG]Using auto-detected bridge virtualgl
[  785.878755] [INFO]Response: No - error: Could not load GPU driver

[  785.878771] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver

[  785.878775] [DEBUG]Socket closed.
[  785.878790] [ERROR]Aborting because fallback start is disabled.
[  785.878794] [DEBUG]Killing all remaining processes.

My Linux kernel

 # uname -r
3.13.0-24-generic

Bumblebee.conf:

# cat /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=false
# 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
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## 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
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
# 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-331-updates
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-331-updates:/usr/lib32/nvidia-331-updates
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-331-updates/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

/etc/bumblebee/xorg.conf.nvidia

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

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

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` 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). Also needed on Ubuntu 13.04.
    BusID "PCI:01: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"
EndSection

PORT:

# lspci | grep NVIDIA
01:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev a1)

Drivers:

# dpkg -l | grep nvidia
ii  bumblebee-nvidia                                            3.2.1-90~trustyppa1                                    amd64        NVIDIA Optimus support using the proprietary NVIDIA driver
ii  nvidia-331-updates                                          331.38-0ubuntu7.1                                      amd64        NVIDIA binary driver - version 331.38
ii  nvidia-libopencl1-331-updates                               331.38-0ubuntu7.1                                      amd64        NVIDIA OpenCL Driver and ICD Loader library
ii  nvidia-opencl-icd-331-updates                               331.38-0ubuntu7.1                                      amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                                0.6.2linuxmint1                                        amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                             343.13-0ubuntu1~xedgers14.04.1                         amd64        Tool for configuring the NVIDIA graphics driver

dmesg:

# dmesg | grep nv
[    0.658496] rtc_cmos 00:06: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[   29.242070] nvidia: module license 'NVIDIA' taints kernel.
[  362.966609] nvidia: disagrees about version of symbol drm_pci_init
[  362.966613] nvidia: Unknown symbol drm_pci_init (err -22)
[  362.966659] nvidia: disagrees about version of symbol drm_gem_prime_handle_to_fd
[  362.966660] nvidia: Unknown symbol drm_gem_prime_handle_to_fd (err -22)
[  362.966678] nvidia: disagrees about version of symbol drm_gem_private_object_init
[  362.966679] nvidia: Unknown symbol drm_gem_private_object_init (err -22)
[  362.966746] nvidia: disagrees about version of symbol drm_gem_handle_create
[  362.966747] nvidia: Unknown symbol drm_gem_handle_create (err -22)
[  362.966796] nvidia: disagrees about version of symbol drm_pci_exit
[  362.966797] nvidia: Unknown symbol drm_pci_exit (err -22)
[  362.966822] nvidia: disagrees about version of symbol drm_gem_prime_export
[  362.966823] nvidia: Unknown symbol drm_gem_prime_export (err -22)

and

# dmesg | grep bb
[    0.000000] PM: Registered nosave memory: [mem 0xcb000000-0xcbbfffff]
[    0.256795] e820: reserve RAM buffer [mem 0xb9bea000-0xbbffffff]
[    0.256796] e820: reserve RAM buffer [mem 0xba429000-0xbbffffff]
[    0.661515] Loaded X.509 cert 'Magrathea: Glacier signing key: 2cb1133b35f95a9e24deabeeb12ba449bcbabbc9'
[    4.377136] bbswitch: version 0.8
[    4.377141] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[    4.377144] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[    4.377230] bbswitch: detected an Optimus _DSM function
[    4.377275] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[    4.378990] bbswitch: disabling discrete graphics
[   28.392635] bbswitch: enabling discrete graphics
[  308.876566] bbswitch: disabling discrete graphics
[  362.505917] bbswitch: enabling discrete graphics
  • You might want to take this to nvidias devtalk Linux forum – Daniel Oct 20 '14 at 2:32
3

I fixed it myself. I stumbled upon this thread since I also installed the latest drivers; Nvidia (Bumblebee) failed to load after install latest Intel driver

But I did the instructions:

sudo apt-get purge i915-3.15-3.13-dkms
sudo apt-get install --reinstall xserver-xorg-video-intel libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg
sudo apt-get install --reinstall nvidia-340
sudo dpkg-reconfigure bbswitch-dkms
sudo reboot

But it didn't work for me, so I searched some more. I found this bug report and tried these instructions (https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/1310023):

sudo ldconfig -n
sudo update-initramfs -u
sudo reboot

Eureka, it worked!

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.