Resume from suspend freeze the system all the times. [840M][Driver 340-370][Ubuntu]


When nvidia mode is set in nvidia prime, i am not able to resume from suspend and always get black screen. This is known issue in ubuntu forums and no one has solution for it.

Everyone says use your intel one! but that’s not a solution.

When i switch to console (ALT CNT F1) i am able to resume from suspend but can’t switch to graphical mode (ALT CNT F7).

I investigate the issue a little bit. After resume, bbswitch reports that the nvidia card is OFF. When i try to turn it one by tee /proc/acpi/bbswitch <<<ON, It remains OFF. I got this error in dmesg after : nvidia refused to change power state currently in d3.

I will be happy to help fixing this issue because everytime i have to close everything and shut it down.

Edit : I investigated the issue more. Here are some lines from dmesg: (i got from console)

[   64.298880] nvidia 0000:03:00.0: Refused to change power state, currently in D3
[   64.368435] NVRM: GPU at 0000:03:00.0 has fallen off the bus.
[   64.368534] NVRM: A GPU crash dump has been created. If possible, please run
               NVRM: as root to collect this data before
               NVRM: the NVIDIA kernel module is unloaded.

I’ve also attached nvidia bug report file below.
Any help would be appreciated.

nvidia-bug-report.log.gz (58.1 KB)

Maybe this is the same bug that I’ve been suffering for quite a long time. This involves a kernel regression from 3.14->3.15 which is still there in 4.7-kernels. No Nvidia driver bug.
I’ve opened a bug report:
To test, resume/suspend at text console and then enter lspci -v and look for the Nvidia gpu. More info in that bug report. If this is the same bug (and only then) please provide your info there to get more attention.
Edit: Nvidia developers are of course invited, too to take a look at this since they probably have more insight to this;)

Does your display “turn on” but remain black when you try to resume?

Putting some work into this it surfaced that specifying acpi_osi=“!Windows 2013” at kernel commandline was enough to make it work again. Hope this also fixes your problem.

Thanks for your help. Your solution is not working for me. I edited the original post and added the bug report and error lines in dmesg.

Any help would be appreciated.