[SOLVED] Optimus/Bumblebee/Optirun fails with GTX 860M

Getting your soundcard to work, using Debian on non-i386 hardware, etc

[SOLVED] Optimus/Bumblebee/Optirun fails with GTX 860M

Postby yoha » 2015-08-26 18:03

Hello. I have been experimenting difficulties with running Bumblebee on my Debian Stretch/unstable install. It used to work fine just a few days ago; I am guessing this is due to some update. Coincidentally, fonts now looks bigger and `xrandr` now only shows one available resolution (the one previously used). I tried reverting to the previous kernel version (`4.0.0-2-amd64`) to no avail (same error after installing nvidia module through dkms).

So, first, along with the Intel chipset, I have a GTX 860M that should be enabled when running e.g. `optirun glxgears`:

Code: Select all
~% lspci | grep -Ei 'vga|3D'
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev ff)


However, something goes wrong, as glxgears exits immediately (silently):

Code: Select all
~% optirun -vv --debug glxgears
[ 1244.443674] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 1244.444046] [DEBUG]optirun version 3.2.1 starting...
[ 1244.444068] [DEBUG]Active configuration:
[ 1244.444077] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 1244.444085] [DEBUG] X display: :8
[ 1244.444092] [DEBUG] LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
[ 1244.444100] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 1244.444106] [DEBUG] Accel/display bridge: auto
[ 1244.444114] [DEBUG] VGL Compression: proxy
[ 1244.444121] [DEBUG] VGLrun extra options:
[ 1244.444127] [DEBUG] Primus LD Path: /usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[ 1244.444160] [DEBUG]Using auto-detected bridge primus
[ 1245.648335] [INFO]Response: Yes. X is active.

[ 1245.648355] [INFO]Running application using primus.
[ 1245.648617] [DEBUG]Process glxgears started, PID 3507.
[ 1245.687513] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 1245.687553] [DEBUG]Socket closed.
[ 1245.687565] [DEBUG]Killing all remaining processes.


Directly running `primusrun` does show a segfault however:

Code: Select all
~% primusrun glxgears
zsh: segmentation fault  primusrun glxgears


Looking at Bumblebee's status, it seems to have gone haywire when enabling the nvidia driver:

Code: Select all
~# service bumblebeed status
● bumblebeed.service - Bumblebee C Daemon
   Loaded: loaded (/lib/systemd/system/bumblebeed.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2015-08-26 19:20:08 CEST; 21min ago
 Main PID: 710 (bumblebeed)
   CGroup: /system.slice/bumblebeed.service
           └─710 /usr/sbin/bumblebeed

Aug 26 19:40:46 ender bumblebeed[710]: [ 1239.989568] [ERROR][XORG] (EE) NVIDIA(0): Failed to initiate mode change.
Aug 26 19:40:46 ender bumblebeed[710]: [ 1239.989573] [ERROR][XORG] (EE) NVIDIA(0): Failed to complete mode change
Aug 26 19:40:46 ender bumblebeed[710]: rmmod: ERROR: Module nvidia_uvm is not currently loaded
Aug 26 19:40:46 ender bumblebeed[710]: modprobe: FATAL: Error running remove command for nvidia_current
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648223] [WARN][XORG] (WW) Unresolved symbol: fbGetGCPrivateKey
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648243] [WARN][XORG] (WW) NVIDIA(0): Unable to get display device for DPI computation.
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648251] [ERROR][XORG] (EE) NVIDIA(0): Failed to initiate mode change.
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648255] [ERROR][XORG] (EE) NVIDIA(0): Failed to complete mode change
Aug 26 19:40:52 ender bumblebeed[710]: rmmod: ERROR: Module nvidia_uvm is not currently loaded
Aug 26 19:40:52 ender bumblebeed[710]: modprobe: FATAL: Error running remove command for nvidia_current


`/var/log/syslog` gives more information:


Code: Select all
Aug 26 19:40:51 ender kernel: [ 1244.765238] bbswitch: enabling discrete graphics
Aug 26 19:40:51 ender kernel: [ 1245.269345] [drm] Initialized nvidia-drm 0.0.0 20150116 for 0000:01:00.0 on minor 0
Aug 26 19:40:51 ender kernel: [ 1245.269353] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.76  Thu Jan 22 12:11:08 PST 2015
Aug 26 19:40:51 ender kernel: [ 1245.283593] vgaarb: this pci device is not a vga device
Aug 26 19:40:51 ender kernel: [ 1245.286396] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286447] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286480] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286510] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286540] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286570] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286610] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.286640] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.305885] ACPI Error: Field [TMPB] at 274432 exceeds Buffer [ROM1] size 262144 (bits) (20150410/dsopcode-236)
Aug 26 19:40:51 ender kernel: [ 1245.305891] ACPI Error: Method parse/execution failed [\_SB_.PCI0.PEG0.PEGP._ROM] (Node ffff8802270e3d38), AE_AML_BUFFER_LIMIT (20150410/psparse-536)
Aug 26 19:40:51 ender kernel: [ 1245.316829] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:51 ender kernel: [ 1245.478281] vgaarb: this pci device is not a vga device
Aug 26 19:40:51 ender acpid: client connected from 3501[0:999]
Aug 26 19:40:51 ender acpid: 1 client rule loaded
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648223] [WARN][XORG] (WW) Unresolved symbol: fbGetGCPrivateKey
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648243] [WARN][XORG] (WW) NVIDIA(0): Unable to get display device for DPI computation.
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648251] [ERROR][XORG] (EE) NVIDIA(0): Failed to initiate mode change.
Aug 26 19:40:52 ender bumblebeed[710]: [ 1245.648255] [ERROR][XORG] (EE) NVIDIA(0): Failed to complete mode change
Aug 26 19:40:52 ender kernel: [ 1246.007763] glxgears[3507]: segfault at 0 ip 00007f8c5dc20794 sp 00007ffd7d5c47b0 error 4 in libGL.so.1[7f8c5dbfb000+41000]
Aug 26 19:40:52 ender kernel: [ 1246.090994] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:52 ender bumblebeed[710]: rmmod: ERROR: Module nvidia_uvm is not currently loaded
Aug 26 19:40:52 ender kernel: [ 1246.097963] [drm] Module unloaded
Aug 26 19:40:52 ender bumblebeed[710]: modprobe: FATAL: Error running remove command for nvidia_current
Aug 26 19:40:52 ender kernel: [ 1246.111871] bbswitch: disabling discrete graphics
Aug 26 19:40:52 ender kernel: [ 1246.111882] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
Aug 26 19:40:52 ender kernel: [ 1246.125414] pci 0000:01:00.0: Refused to change power state, currently in D0
Aug 26 19:40:55 ender acpid: client 3501[0:999] has disconnected


and we can find back some of this information in the correspoding `dmesg` diff:

Code: Select all
[  654.144475] bbswitch: enabling discrete graphics
[  654.602534] [drm] Initialized nvidia-drm 0.0.0 20150116 for 0000:01:00.0 on minor 0
[  654.602542] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  340.76  Thu Jan 22 12:11:08 PST 2015
[  654.614628] vgaarb: this pci device is not a vga device
[  654.617012] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617054] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617081] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617106] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617130] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617154] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617186] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.617210] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.632019] ACPI Error: Field [TMPB] at 274432 exceeds Buffer [ROM1] size 262144 (bits) (20150410/dsopcode-236)
[  654.632022] ACPI Error: Method parse/execution failed [\_SB_.PCI0.PEG0.PEGP._ROM] (Node ffff8802270e3d38), AE_AML_BUFFER_LIMIT (20150410/psparse-536)
[  654.642593] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  654.799231] vgaarb: this pci device is not a vga device
[  655.356023] glxgears[3132]: segfault at 0 ip 00007f4ca3edc794 sp 00007ffd4270b830 error 4 in libGL.so.1[7f4ca3eb7000+41000]
[  655.442550] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  655.447790] [drm] Module unloaded
[  655.493938] bbswitch: disabling discrete graphics
[  655.493948] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150410/nsarguments-95)
[  655.509028] pci 0000:01:00.0: Refused to change power state, currently in D0


Interestingly, running the following does not show anything in the logs:

Code: Select all
# modprobe nvidia
# rmmod nvidia
rmmod: ERROR: Module nvidia is not currently loaded


Does anyone have an idea what I should be trying next? Thanks by advance for any help!

Edit: the following observations tell me the bug only started appearing today (maybe due to an update yesterday):
  • I used to be able to run Minecraft fine without `optirun` (using it causing problems in this particular game), at about ~30 FPS ; it is now running at only ~7 FPS
  • `mplayer` is now unable to scale videos in fullscreen (centers them instead)
Last edited by yoha on 2015-08-27 17:18, edited 1 time in total.
yoha
 
Posts: 2
Joined: 2015-08-26 17:38

Re: Optimus/Bumblebee/Optirun fails with GTX 860M

Postby yoha » 2015-08-27 17:17

After two days of investigation, I finally found a solution. I changed

Code: Select all
GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"


to

Code: Select all
GRUB_CMDLINE_LINUX_DEFAULT="quiet"


in `/etc/default/grub`, ran `update-grub` and rebooted.

I do not remember if I added that option myself, but if anyone encounter a similar issue, that might be the solution you have been desperately looking for!
yoha
 
Posts: 2
Joined: 2015-08-26 17:38


Return to Hardware

Who is online

Users browsing this forum: No registered users and 13 guests

fashionable