Optirun not working after updating drivers to 410.73

Hello!
So I’d got my laptop with bumblebee running correctly untill I updated the drivers to 410.73.
I reinstalled everything following the steps from https://en.opensuse.org/SDB:NVIDIA_Bumblebee but nothing, I keep getting the same error:

optirun -vv --status


 1739.036498] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
 1739.036969] [INFO]Configured driver: nvidia
 1739.037236] [DEBUG]optirun version 3.2.1 starting...
 1739.037255] [DEBUG]Active configuration:
 1739.037263] [DEBUG] bumblebeed config file: /etc/bumblebee/bum
blebee.conf
 1739.037284] [DEBUG] X display: :8
 1739.037303] [DEBUG] LD_LIBRARY_PATH: /usr/lib64/nvidia:/usr/li
b/nvidia
 1739.037319] [DEBUG] Socket path: /var/run/bumblebee.socket
 1739.037338] [DEBUG] Accel/display bridge: auto
 1739.037357] [DEBUG] VGL Compression: proxy
 1739.037375] [DEBUG] VGLrun extra options:  
 1739.037394] [DEBUG] Primus LD Path: /usr/lib64/primus:/usr/lib
/primus
Bumblebee status: Error (3.2.1): Could not load GPU driver

 1739.037496] [DEBUG]Socket closed.
 1739.037542] [DEBUG]Killing all remaining processes.

when I initialize bumblebee manually and run optirun --status everything seems fine but as soon as I try to run another program it gives me the same error as above.


bumblebeed &
[1] 6567
 [INFO]bumblebeed 3.2.1 started
optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.

this is the message I get from dmesg (just the nvidia part):


  348.915669] NVRM**: The NVIDIA GeForce 820M GPU installed in this system is**
**               NVRM:  supported through the NVIDIA 390.xx Legacy drivers. Please**
**               NVRM:  visit http://www.nvidia.com/object/unix.html for more**
**               NVRM:  information.  The 410.73 NVIDIA driver will ignore**
**               NVRM:  this GPU.  Continuing probe...**
  348.915672] NVRM**: No NVIDIA graphics adapter found!**

But in the official page it’s indicated that I should install the ones that I now have installed.

Additional information:

zypper se -si nvidia
E  | Nombre                 | Tipo    | Versión    | Arquitectura | Repositorio  
---+------------------------+---------+------------+--------------+--------------
i+ | nvidia-bumblebee       | paquete | 410.73-3.1 | x86_64       | X11:Bumblebee
i+ | nvidia-bumblebee-32bit | paquete | 410.73-3.1 | x86_64       | X11:Bumblebee

/usr/sbin/hwinfo --gfxcard


22: PCI 400.0: 0302 3D controller                                
  [Created at pci.378]
  Unique ID: YmUS.to0YcCI0RU8
  Parent ID: QSNP.Iil9uxQnin3
  SysFS ID: /devices/pci0000:00/0000:00:1c.4/0000:04:00.0
  SysFS BusID: 0000:04:00.0
  Hardware Class: graphics card
  Model: "ASUSTeK GeForce 820M"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x1140 "GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M]"
  SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
  SubDevice: pci 0x16cd "GeForce 820M"
  Revision: 0xa1
  Memory Range: 0xf6000000-0xf6ffffff (rw,non-prefetchable)
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xf0000000-0xf1ffffff (ro,non-prefetchable)
  I/O Ports: 0xd000-0xdfff (rw)
  Memory Range: 0xf7000000-0xf707ffff (ro,non-prefetchable,disabled)
  IRQ: 16 (no events)
  Module Alias: "pci:v000010DEd00001140sv00001043sd000016CDbc03sc02i00"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia_drm is not active
    Driver Activation Cmd: "modprobe nvidia_drm"
  Driver Info #2:
    Driver Status: nvidia is not active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #21 (PCI bridge)

23: PCI 02.0: 0300 VGA compatible controller (VGA)
  [Created at pci.378]
  Unique ID: _Znp.kIE82J1vmu0
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "Intel Haswell-ULT Integrated Graphics Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0a16 "Haswell-ULT Integrated Graphics Controller"
  SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
  SubDevice: pci 0x16cd  
  Revision: 0x0b
  Driver: "i915"
  Driver Modules: "i915"
  Memory Range: 0xf7400000-0xf77fffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0xf000-0xf03f (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 46 (98677 events)
  Module Alias: "pci:v00008086d00000A16sv00001043sd000016CDbc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

Primary display adapter: #23

cat /usr/lib/os-release


NAME="openSUSE Tumbleweed"
# VERSION="20181029"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20181029"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20181029"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

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/lib64/primus:/usr/lib/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
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib64/nvidia:/usr/lib/nvidia
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib64/nvidia/xorg/,/usr/lib64/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


I’m quite noob in linux… and I don’t know what to do, I’ve tried everything in the forums.
Sorry for my english!

:smiley: Don’t worry about your english, it’s OK.

Did you use ‘zypper dup’ to upgrade? If not, run it first.

EDIT: And since it’s your first post here: Welcome !!!

Yes! I actually updated the system via zypper dup. That’s when the drivers got updated.

Thank you! :slight_smile:

Thanks for reporting back. And, please remind that ‘zypper dup’ is the only supported way to upgrade TW.

EDIT:

this is the message I get from zypper when installing nvidia-bumblebee


Output of nvidia-bumblebee-410.73-3.1.x86_64.rpm %posttrans script:
    cp: cannot stat '/usr/share/doc/packages/nvidia-bumblebee/*.patch': No such file or directory                                                                                          
    + '' -x /usr/sbin/dkms ']'                                                               
    + /usr/sbin/dkms add -m nvidia -v 410.73 --rpm_safe_upgrade                               
                                                                                              
    Creating symlink /var/lib/dkms/nvidia/410.73/source ->                                    
                     /usr/src/nvidia-410.73                                                   
                                                                                              
    DKMS: add completed.                                                                      
    + /usr/sbin/dkms build -m nvidia -v 410.73                                                
                                                                                              
    Kernel preparation unnecessary for this kernel.  Skipping...                              
                                                                                              
    Building module:                                                                          
    cleaning build area...                                                                    
    'make' KERNEL_UNAME=4.18.15-1-default modules...........................................  
    cleaning build area...                                                                    
                                                                                              
    DKMS: build completed.                                                                    
    + /usr/sbin/dkms install -m nvidia -v 410.73                                              
                                                                                              
    nvidia:                                                                                   
    Running module version sanity check.                                                      
     - Original module                                                                        
       - No original module exists within this kernel                                         
     - Installation                                                                           
       - Installing to /lib/modules/4.18.15-1-default/updates//                               
                                                                                              
    nvidia-uvm.ko:                                                                            
    Running module version sanity check.                                                      
     - Original module                                                                        
       - No original module exists within this kernel                                         
     - Installation                                                                           
       - Installing to /lib/modules/4.18.15-1-default/updates//                               
                                                                                              
    nvidia-drm.ko:                                                                            
    Running module version sanity check.                                                      
     - Original module                                                                        
       - No original module exists within this kernel                                         
     - Installation                                                                           
       - Installing to /lib/modules/4.18.15-1-default/updates//                               
                                                                                              
    nvidia-modeset.ko:                                                                        
    Running module version sanity check.                                                      
     - Original module                                                                        
       - No original module exists within this kernel                                         
     - Installation                                                                           
       - Installing to /lib/modules/4.18.15-1-default/updates//                               
    Adding any weak-modules                                                                   
                                                                                              
    depmod........                                                                            
                                                                                              
    DKMS: install completed.                                                                  
    + popd  

Okey, so I’ve solved the problem.

1- I reinstalled OpenSuse Tumbleweed, but this time with a Btrfs extension to allow me create snapshots (I regreted not choosing this extension the most :’();

2- (skip this, it’s not actually an step) I followed the instructions from https://en.opensuse.org/SDB:NVIDIA_Bumblebee again, but i got the same error as the drivers installed (410.xx) are not supported by my GPU card. I have submited a bug report to the bumblebee team. So I rolledback to fresh again.

3- Follow the steps from https://en.opensuse.org/SDB:NVIDIA_Bumblebee BUT install the version of nvidia-bumblebee suggested by the dmesg error from the community repository, the version that dmesg was suggesting me was 390.xx.

4- In this moment either it works for you or you keep getting the “cannot access secondary gpu - error could not load gpu driver” error. If it’s the later, you are experiencing the same issues as me (with dmesg you get “GPU at 0000:01:00.0 has fallen off the bus” error). So, I’ve modified the /etc/bumblebee/bumblebee.conf file:


# 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=
# 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=virtualgl
# 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/lib64/primus:/usr/lib/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
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib64/nvidia:/usr/lib/nvidia
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib64/nvidia/xorg/modules,/usr/lib64/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



and my /etc/bumblebee/xorg.conf.nvidia file. In this one, uncomment the “BusID” line and indicate the PCI gotten from lspci command.

5- If it doesn’t work either -> I’d read in some official nvidia forum that I don’t remember, that the “GPU at 0000:01:00.0 has fallen off the bus” error could be caused by some power managing tool or something like that, and the solved post said that he had uninstalled bumblebee and bbswitch. So I uninstalled bbswitch et voilà! after a reboot optirunwas working as it should have before the driver update.

6- Create a snapshot rotfl!