No devices found when trying to use NVIDIA GPU

27,947

Solution 1

[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.

Solution 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

Share:
27,947

Related videos on Youtube

2mac
Author by

2mac

Updated on September 18, 2022

Comments

  • 2mac
    2mac over 1 year

    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
    
    • JoKeR
      JoKeR almost 10 years
      what do you get when you run: lspci -nnk | grep -iA2 VGA
    • Mitch
      Mitch almost 10 years
      Can you post the results of optirun -vv --debug glxspheres for us? If you see [ERROR]Error running "glxspheres": NO such file or directory" try the solution here and then retry it
    • JoKeR
      JoKeR almost 10 years
      you're not using nvidia driver as you can see but i915 read this and this article to get more details.
    • 2mac
      2mac almost 10 years
      I had already changed the conf file before submitting this question, and it didn't resolve the issue.
    • JoKeR
      JoKeR almost 10 years
      did you insert/paste your GPU BusID to /etc/bumblebee/xorg.conf.nvidia?
    • 2mac
      2mac almost 10 years
      I just said that I did. Config file above...
  • 2mac
    2mac almost 10 years
    nvidia-xconfig isn't found. Whatever package contains it isn't mentioned on the Bumblebee wiki page.
  • JoKeR
    JoKeR almost 10 years
    run: optirun nvidia-settings it's listed in nvidia-settings as well
  • 2mac
    2mac almost 10 years
    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
    2mac almost 10 years
    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.
  • JoKeR
    JoKeR almost 10 years
    it should be GeForce GT 750M or as stated here
  • 2mac
    2mac almost 10 years
    This doesn't appear to have changed anything. I'm still getting the same output.
  • 2mac
    2mac almost 10 years
    I'm not thick; I followed the instructions. All you did was copy the wiki page which I already read...
  • 2mac
    2mac almost 10 years
    BusID was mentioned, if you look under the first comment block. Adding BoardName had no effect.
  • 2mac
    2mac almost 10 years
    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.
  • JoKeR
    JoKeR almost 10 years
  • Fabby
    Fabby about 9 years
    Good answer! ;-) Please review my edits by clicking on the "edited" link above my avatar and review the askubuntu.com/editing-help as well! :P ;-)