3

I'm attempting to use Bumblebee for my NVIDIA GPU, and I'm running into errors when running programs.

I'm testing it with a Minecraft client, which actually starts, but crashes after a moment.

$ primusrun java -jar Minecraft.jar
# some normal output...
primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) No devices detected.

I can see the card just fine:

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

This setup ran fine under Arch on this same machine. Not sure what isn't configured properly.

EDIT:

$ lspci -nnk | grep -iA2 VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
Subsystem: CLEVO/KAPOK Computer Device [1558:0650]
Kernel driver in use: i915

My main graphics card is Intel, since this is an optimus machine.

EDIT 2:

$ optirun -vv --debug glxspheres
[ 2643.983966] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 2643.984989] [DEBUG]optirun version 3.2.1 starting...
[ 2643.985038] [DEBUG]Active configuration:
[ 2643.985066] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 2643.985096] [DEBUG] X display: :8
[ 2643.985123] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-304:/usr/lib32/nvidia-304
[ 2643.985152] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 2643.985179] [DEBUG] Accel/display bridge: auto
[ 2643.985207] [DEBUG] VGL Compression: proxy
[ 2643.985235] [DEBUG] VGLrun extra options: 
[ 2643.985262] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
[ 2643.985525] [DEBUG]Using auto-detected bridge primus
[ 2644.041849] [INFO]Response: No - error: [XORG] (EE) No devices detected.

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

[ 2644.041890] [DEBUG]Socket closed.
[ 2644.041912] [ERROR]Aborting because fallback start is disabled.
[ 2644.041923] [DEBUG]Killing all remaining processes.

EDIT 3:

My /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
2mac
  • 151
  • 1
  • 1
  • 5

2 Answers2

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

You need to edit the /etc/bumblebee/xorg.conf.nvidia (or /etc/bumblebee/xorg.conf.nouveau if using the noveau driver) and specify the correct BusID by following the instructions therein.

your xorg.conf should look like this for example:

Section "Device"
    Identifier     "DiscreteNvidia"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce XXXXX"
    BusID          "PCI:2:0:0"
EndSection

find out and replace XXXX with your exact BoardName and BusID with command:

sudo nvidia-xconfig --query-gpu-info

After this restart sudo service lightdm restart or reboot will work.

JoKeR
  • 6,972
  • 9
  • 43
  • 65
  • nvidia-xconfig isn't found. Whatever package contains it isn't mentioned on the Bumblebee wiki page. – 2mac Jun 16 '14 at 14:55
  • run: optirun nvidia-settings it's listed in nvidia-settings as well – JoKeR Jun 16 '14 at 14:57
  • 1
    I cannot run anything under optirun or primusrun. That is what this whole issue is about. By extension, optirun nvidia-settings isn't going to happen. Also, running it normally doesn't show any GPU-related info. – 2mac Jun 16 '14 at 15:00
  • The BusID was in lspci as far as I could tell. Otherwise, I suppose it is incorrect. My problem is figuring out the exact BoardName it is looking for. – 2mac Jun 16 '14 at 15:05
  • it should be GeForce GT 750M or as stated here – JoKeR Jun 16 '14 at 15:08
  • This doesn't appear to have changed anything. I'm still getting the same output. – 2mac Jun 16 '14 at 15:16
  • I'm not thick; I followed the instructions. All you did was copy the wiki page which I already read... – 2mac Jun 16 '14 at 15:19
  • BusID was mentioned, if you look under the first comment block. Adding BoardName had no effect. – 2mac Jun 16 '14 at 15:26
  • I'm pretty sure that if comment lines affected functionality, they would not be in the default config as such. The line itself is not commented out, only some above it, and the line exists before EndSection. – 2mac Jun 16 '14 at 15:30
  • check this question http://askubuntu.com/questions/289659/using-nvidia-319-with-bumblebee – JoKeR Jun 16 '14 at 15:38
2

In /etc/bumblebee/xorg.conf.nvidia , uncomment

BusID "PCI:01:00:0"

and replace it with

BusID "PCI:0x:00.0"

where x is the number that you see in lspci list next to "3D controller", which should be your nvidia card

Fabby
  • 34,259
Paun Alin
  • 23
  • 4
  • Good answer! ;-) Please review my edits by clicking on the "edited" link above my avatar and review the http://askubuntu.com/editing-help as well! :P ;-) – Fabby Jan 30 '15 at 12:57