Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bumblebee doesn't work on Ubuntu 20 #1054

Open
iirekm opened this issue May 20, 2020 · 6 comments
Open

Bumblebee doesn't work on Ubuntu 20 #1054

iirekm opened this issue May 20, 2020 · 6 comments

Comments

@iirekm
Copy link

iirekm commented May 20, 2020

It worked great on Ubuntu 18, stopped on 20.

➜  ~ optirun -vv glxgears
[  228.463170] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[  228.463940] [DEBUG]optirun version 3.2.1 starting...
[  228.463967] [DEBUG]Active configuration:
[  228.463977] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  228.463987] [DEBUG] X display: :8
[  228.463996] [DEBUG] LD_LIBRARY_PATH: /usr/lib/nvidia-current:/usr/lib32/nvidia-current:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu
[  228.464010] [DEBUG] Socket path: /var/run/bumblebee.socket
[  228.464054] [DEBUG] Accel/display bridge: auto
[  228.464089] [DEBUG] VGL Compression: proxy
[  228.464106] [DEBUG] VGLrun extra options: 
[  228.464120] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
[  228.464237] [DEBUG]Using auto-detected bridge primus
[  228.464724] [INFO]Response: No - error: Could not load GPU driver

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

[  228.464770] [DEBUG]Socket closed.
[  228.464840] [ERROR]Aborting because fallback start is disabled.
[  228.464861] [DEBUG]Killing all remaining processes.

➜  ~ cat /var/log/Xorg.8.log | grep EE 
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  1099.860] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[  1099.865] (EE) Failed to load module "nvidia" (module does not exist, 0)
[  1100.089] (EE) Failed to load module "nvidia" (module does not exist, 0)
[  1100.090] (EE) Failed to load module "mouse" (module does not exist, 0)
[  1100.091] (EE) Failed to load module "kbd" (module does not exist, 0)
[  1100.530] (EE) modeset(0): drmSetMaster failed: Invalid argument
[  1100.530] (EE) 
[  1100.530] (EE) AddScreen/ScreenInit failed for driver 0
[  1100.530] (EE) 
[  1100.530] (EE) 
[  1100.530] (EE) Please also check the log file at "/var/log/Xorg.8.log" for additional information.
[  1100.530] (EE) 
[  1100.530] (EE) Server terminated with error (1). Closing log file.

➜  ~ lspci | grep NVIDIA
01:00.0 3D controller: NVIDIA Corporation GM204M [GeForce GTX 980M] (rev a1)

➜  ~ dpkg -l | grep -E '(bumblebee|nvidia)'
ii  bumblebee                                     3.2.1-22                                    amd64        NVIDIA Optimus support for Linux
ii  libnvidia-cfg1-440:amd64                      440.82+really.440.64-0ubuntu6               amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-440                          440.82+really.440.64-0ubuntu6               all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-440:amd64                   440.82+really.440.64-0ubuntu6               amd64        NVIDIA libcompute package
ii  libnvidia-compute-440:i386                    440.82+really.440.64-0ubuntu6               i386         NVIDIA libcompute package
ii  libnvidia-decode-440:amd64                    440.82+really.440.64-0ubuntu6               amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-440:i386                     440.82+really.440.64-0ubuntu6               i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-440:amd64                    440.82+really.440.64-0ubuntu6               amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-440:i386                     440.82+really.440.64-0ubuntu6               i386         NVENC Video Encoding runtime library
ii  libnvidia-extra-440:amd64                     440.82+really.440.64-0ubuntu6               amd64        Extra libraries for the NVIDIA driver
ii  libnvidia-fbc1-440:amd64                      440.82+really.440.64-0ubuntu6               amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-440:i386                       440.82+really.440.64-0ubuntu6               i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-440:amd64                        440.82+really.440.64-0ubuntu6               amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-440:i386                         440.82+really.440.64-0ubuntu6               i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-440:amd64                      440.82+really.440.64-0ubuntu6               amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  libnvidia-ifr1-440:i386                       440.82+really.440.64-0ubuntu6               i386         NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  linux-modules-nvidia-440-5.4.0-31-generic     5.4.0-31.35                                 amd64        Linux kernel nvidia modules for version 5.4.0-31
ii  linux-modules-nvidia-440-generic-hwe-20.04    5.4.0-31.35                                 amd64        Extra drivers for nvidia-440 for generic-hwe-20.04
ii  nvidia-compute-utils-440                      440.82+really.440.64-0ubuntu6               amd64        NVIDIA compute utilities
ii  nvidia-driver-440                             440.82+really.440.64-0ubuntu6               amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-440                      440.82+really.440.64-0ubuntu6               amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-440                      440.82+really.440.64-0ubuntu6               amd64        NVIDIA kernel source package
ii  nvidia-prime                                  0.8.14                                      all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                               440.64-0ubuntu1                             amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-440                              440.82+really.440.64-0ubuntu6               amd64        NVIDIA driver support binaries
ii  screen-resolution-extra                       0.18build1                                  all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-440                 440.82+really.440.64-0ubuntu6               amd64        NVIDIA binary Xorg driver

➜  ~  for keyword in baseboard-manufacturer baseboard-product-name baseboard-version system-manufacturer system-product-name system-version bios-vendor bios-version bios-release-date; do
 printf "%-22s: " "$keyword";
 sudo dmidecode -s "$keyword";
done
baseboard-manufacturer: Notebook                        
baseboard-product-name: P65_P67SG                       
baseboard-version     : Not Applicable                  
system-manufacturer   : Notebook                        
system-product-name   : P65_P67SG                       
system-version        : Not Applicable                  
bios-vendor           : American Megatrends Inc.
bios-version          : 1.03.02
bios-release-date     : 10/28/2014
@m3m0ry
Copy link

m3m0ry commented May 30, 2020

I have a similar problem. What does your sudo service bulblebeed status show?
Mine:

bumblebeed.service - Bumblebee C Daemon
     Loaded: loaded (/lib/systemd/system/bumblebeed.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-30 08:07:32 CEST; 1h 7min ago
   Main PID: 602 (bumblebeed)
      Tasks: 1 (limit: 47682)
     Memory: 2.3M
     CGroup: /system.slice/bumblebeed.service
             └─602 /usr/sbin/bumblebeed

May 30 08:07:32 hromstation systemd[1]: Started Bumblebee C Daemon.
May 30 08:07:32 hromstation bumblebeed[602]: [    4.328218] [WARN]No switching method available. The dedicated card will always be on.
May 30 08:07:32 hromstation bumblebeed[602]: [    4.328570] [INFO]/usr/sbin/bumblebeed 3.2.1 started
May 30 08:26:07 hromstation bumblebeed[3691]: modprobe: ERROR: could not insert 'nvidia_current': Operation not permitted
May 30 08:26:07 hromstation bumblebeed[602]: libkmod: ERROR ../libkmod/libkmod-module.c:990 command_do: Error running install command>
May 30 08:26:07 hromstation bumblebeed[602]: [ 1119.555479] [ERROR]Could not load GPU driver

@m3m0ry
Copy link

m3m0ry commented May 30, 2020

I fixed my issue. I noticed that after trying to sudo modprobe nvidia, sudo dmesg informs you about some lock (i don't remember exactly). I complained.
I disabled secure boot and now it seems to work.

@iirekm
Copy link
Author

iirekm commented May 30, 2020 via email

@min20120907
Copy link

you need to install the latest linux kernel and nvidia driver from official website, which is newest version 440.82 with dkms module installed, and uninstall all packages related to nvidia, then install bumblebee, and it would work like a charm!

sudo apt install linux-headers-5.6.10-oem linux-image-5.6.0-1010-oem linux-modules-5.6.0-1010-oem
sudo reboot
sudo init 3
cd Downloads/
sudo sh $(ls | grep NVIDIA)
sudo reboot
sudo apt install bumblebee primus
sudo reboot
optirun glxgears

@iirekm
Copy link
Author

iirekm commented Jun 22, 2020 via email

@luziferius
Copy link

luziferius commented Dec 24, 2020

[ 1099.865] (EE) Failed to load module "nvidia" (module does not exist, 0)

The fix is simple: Check the XorgModulePath in /etc/bumblebee/bumblebee.conf.
Newer nvidia drivers (tested with 455 my system, maybe 440+?) use a different path for nvidia_drm.so.
So the setting should be this:

XorgModulePath=/usr/lib/x86_64-linux-gnu/nvidia/xorg,/usr/lib/xorg/modules

Then the driver should successfully load.

sudo apt install linux-headers-5.6.10-oem linux-image-5.6.0-1010-oem linux-modules-5.6.0-1010-oem

Don’t do this! Do not install specific kernels, always install the meta-package to still receive kernel updates. And why use the OEM flavour? Just use linux-generic to not run into issues later, unless you really need this specific kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants