Bumblebee-Project / Bumblebee

Bumblebee daemon and client rewritten in C
http://www.bumblebee-project.org/
GNU General Public License v3.0
1.29k stars 144 forks source link

Bumblebee doesn't work on Ubuntu 20 #1054

Open iirekm opened 4 years ago

iirekm commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

I don't have secure boot enabled and have the problem 😑

sob., 30 maj 2020, 10:02 użytkownik hr0m m3m0ry notifications@github.com napisał:

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.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Bumblebee-Project/Bumblebee/issues/1054#issuecomment-636295825, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGAYE655JVAVZ5TKQ32Y2DRUC4R7ANCNFSM4NGHBBJA .

min20120907 commented 4 years ago

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 commented 4 years ago

It looks you didn't test it on the official (K)Ubuntu 20.04 LTS, but probably something newer/different. Un Ubuntu 20 LTS it doesn't work:

pt., 12 cze 2020 o 16:58 Cangyu Lin notifications@github.com napisał(a):

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

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Bumblebee-Project/Bumblebee/issues/1054#issuecomment-643318043, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGAYE6YYUDLLFIPWMJ5T53RWI7AXANCNFSM4NGHBBJA .

luziferius commented 3 years ago

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