GTX860M Arch Linux with Bumblebee really bad performance

Hi
I am using bumblebee with the official Nvidia drivers on Arch Linux and I’m getting really bad performance. Running Minecraft with ‘optirun java -jar Minecraft.jar’ results in a framerate at about 15 FPS.

Running only ‘java -jar Minecraft.jar’, thus utilizing the Intel HD Graphics integrated card, results in about 30 FPS.

I have also noticed that the clock frequency of the Nvidia card, which I view by running ‘optirun nvidia-settings -c :8’, seems to be stuck at 33 MHz. It even says in the same tab that the minimum frequency is 135 MHz, so there is a potential problem with the clock frequency being stuck.

Do you think any of the following errors found by running ‘dmesg’ just after starting an application with optirun are related?

When starting an application with optirun:

[ 3868.088511] bbswitch: enabling discrete graphics
[ 3868.433959] [drm] Initialized nvidia-drm 0.0.0 20150116 for 0000:01:00.0 on minor 1
[ 3868.433963] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  349.16  Wed Apr  8 00:17:22 PDT 2015
[ 3868.450646] vgaarb: this pci device is not a vga device
[ 3868.452772] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452813] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452834] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452852] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452870] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452888] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452917] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.452935] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.468975] ACPI Error: Field [TMPB] at 274432 exceeds Buffer [ROM1] size 262144 (bits) (20150204/dsopcode-236)
[ 3868.468979] ACPI Error: Method parse/execution failed [\_SB_.PCI0.PEG0.PEGP._ROM] (Node ffff8802270e7898), AE_AML_BUFFER_LIMIT (20150204/psparse-536)
[ 3868.480587] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3868.645018] vgaarb: this pci device is not a vga device

When exiting the application started by optirun:

[ 3900.072897] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3900.079827] [drm] Module unloaded
[ 3900.102523] bbswitch: disabling discrete graphics
[ 3900.102535] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20150204/nsarguments-95)
[ 3900.116106] pci 0000:01:00.0: Refused to change power state, currently in D0

Other people seems to have a problem where the performance goes really low after waking up the computer after it being in suspend mode. For me, the problem with really low performance seems from the moment i boot the computer. I know that there is nothing wrong the the Nvidia card since it works well in Windows 8.

Versions of software:
linux 4.0.1-1-ARCH
nvidia 349.16-2
bumblebee 3.2.1-10

Any help on this matter would be greatly appreciated (and a word from an Nvidia dev too)!
Feel free to confirm the issue, or explain your working setup if you too have the GTX 860M in an optimus setup on Linux.

EDIT:
I can now use the GPU at full performance until I put the laptop in suspend mode. See post #3 for more details.

Similar problem here, performance goes down after suspend. Works again after reboot. Machine is a GE60-2PEI781FD (860M and i7 4710HQ with Optimus)
Arch Linux 4.0.2-1
Nvidia 349.16-3
xf86-video-intel 2.99.917-5
Bumblebee 3.2.1-10
Happens both with and without Bumblebee, and also happened with earlier driver/kernel versions.
After boot: Clock normal, goes to max clock on load


nvidia-bug-report.gz: nvidia-bug-report.log.old.gz - Hostr, download and share anything.

After suspend: Clock lower than minimum clock allowed, sometimes goes up to ~250 on load


nvidia-bug-report.gz: nvidia-bug-report.log.gz - Hostr, download and share anything.

http://superuser.com/questions/893482/gtx-860m-stuck-to-33-mhz-after-suspend-on-linux

Interesting; I just started my laptop to try some terminal commands for printing various information to potentially find something which could be related to the error. No luck.

However, I decided to run nvidia-settings again, but this time I used the recommended command from the bumblebee FAQ: ‘optirun -b none nvidia-settings -c :8’.
This was the first time i ran it with the ‘-b none’ parameter. To my amazement I could now see a changing clock frequency! I fired up Minecraft and it ran with good performance this time!

I then began to wonder if it was the extra parameter to nvidia-settings which had magically fixed it, or if it was the fact that I had run the laptop without having the AC-adapter connected to it (aka on battery). Putting the laptop in suspend mode, and then waking it, confirmed that I know have the same problem as weltensturm (the poster above) (the card was now stuck at 33 MHz). To fix it, I tried rebooting the computer, but the problem persisted across the reboot.

To fix it I have to shutdown the computer, disconnect the AC-adapter, and boot the computer while the AC-adapter remains disconnected. This seems to reset the card to a working state.

There is an option in /etc/bumblebee/bumblebee.conf which looks like this:

# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=true

Perhaps something similar is needed, but specifically for suspend mode (even though I shutdown all applications which were started with ‘optirun’?)? Perhaps writing a script which does something similar?

Atleast now I can utilize the Nvidia GPU and know how to fix the problem when it appears!

You may also want to look into primus. I get better performace with primus bridge in minecraft then I do with VirtualGL bridge. The script you will want is primusrun.

You can run

optirun -b primus java -jar Minecraft.jar

or

primusrun java -jar Minecraft.jar

This doesn’t fix the GPU being stuck at 33 MHz (and therefore being slower than the integrated GPU)

Weell, I’ve just registered to point out that i’ve got the same problem on msi ge 60 with bumblebee and nvidia 860m.

Debian jessie
driver version 340.65

Both for optirun and primusrun.

Same problem. GE60 with GTX860M and clock stuck at 33MHZ. I hope a driver fixes this horrid issue as if it wasn’t for this I could have better performance on Ubuntu than I do on windows >.<

Has anybody had any success with this problem and maybe newer drivers?
Would be happy to hear any response from the devs at all…

still broken with 355.11
I found this in journalctl after wakeup:
Oct 20 19:50:31 host kernel: pci 0000:01:00.0: Refused to change power state, currently in D0

Registered to share this is still an issue. I’m also a MSI GE60 laptop user, my variant is 2PE, Nvidia 860M with 2GB VRAM.

I’ve not tried the latest drivers, still new to linux for desktop use. Using Ubuntu 15.10 with 352 drivers via the Additional Drivers app. I don’t have Bumblebee installed and also notice the 33MHz clock and poor performance when resuming from suspend. Is anyone certain it’s a driver issue and not related to some bug that linux distro’s are doing when waking from suspend?

A fix would be greatly appreciated :) Sort of pointless to suspend with a bug like this, have to save everything and shutdown.

FYI: similar problem here, with a post and my findings here: https://devtalk.nvidia.com/default/topic/918576/linux/-840m-on-asus-ux303ln-application-driver-freeze-on-resume-from-suspend-with-optimus/

I get worse than a simple performance issue: all application run through optirun are frozen and need to be killed after a suspend/resume cycle.

The card just seem to crash. once the apps are killed and the module unloaded though, I don’t see performance issue.

Interesting to see that a lot of people especially with 840M cards seem to be having the same kind of issues (unable to shutdown the cards power, suspend issues, ACPI error messages…)

Could you people go bump my thread and post some nvidia-bug-report output ?

Cheers,
Marc

Just here to mention that I’m having the same issue with an 860M and bumblebee.

Not seeing any solutions anywhere yet.