# [SOLVED] Freeze at suspend with nvidia-drivers >355.x

## zwede

I'm having an issue with any of the proprietary nvidia drivers in the 358 and 361 series. 355 and older work.

When I try to suspend to RAM, the system starts to suspend and shuts off power to the USB ports, the mechanical HDD parks, and the display switches to VT mode with text stating it is suspending.

But at that point the system freezes. The monitor stays on displaying the text that it is suspending, fans keep running and the power light stays on. 

The system is frozen at this point, only way to get it back is a hard reset (power/reset button).

Google has come up empty, seems I'm the only one with this problem. So that makes me wonder if it's not an nvidia driver bug, but some configuration that's wrong on my system? Are there any kernel params that influence suspend?

The graphics card is an NVidia GTX960 in case it makes a difference.

Edit: Solved by switching to a pure-UEFI boot rather than legacy-BIOS. Removed uvesafb from the kernel and added efifb. Suspend/resume now works with nvidia-drivers-361.18-r1. Here's my thread on the UEFI switch: https://forums.gentoo.org/viewtopic-t-1038246.html Last edited by zwede on Tue Feb 02, 2016 12:52 am; edited 1 time in total

----------

## Myu

I'll try to reproduce this evening with S1 sleep to see If I've the same problem.

I've a somewhat related issue, on nvidia 358.x, I cannot hibernate anymore ( pm-hibernate )

----------

## zwede

Did some troubleshooting today without really getting anywhere.

I tried a vanilla genkernel with slightly different results. It still freezes but it shuts the monitor off. Power light and fans keep running just like with my custom kernel and I need to hard-reset the system.

I also booted without uvesafb, just regular VGA but that didn't make a difference.

Finally I booted with "no_console_suspend=1" and got an actual error message when I suspended:

nvidia-modeset: gpu:0: idling ev0 timed out 0x0000957d:0:0:0x00004000

Googling the error got me nothing.

----------

## Myu

(not related to the issue but I'm curious)

Wait, you have a framebuffer TTY with the nvidia proprietary driver ? What is this black magic ? Just following this ?

----------

## zwede

Yeah, I included uvesafb in the kernel and boot with video=uvesafb:1920x1080-32,mtrr:3,ywrap. I didn't need a initramfs like that wiki says though.

It's nice to not have any mode changes. GRUB runs at 1920x1080 as well as TTYs. I get a warning in the syslog that the nvidia prop driver does not support uvesafb, but it works anyway. That warning was why I thought maybe uvesafb was the cause of my suspend issues, but it isn't.

----------

## Myu

So I did a test with the stable nvidia 355.x and S1 sleep (the less energy-saving mode) works from me.

I then tried with nvidia-358.16-r1 and same results, it works as well. S3 sleep never worked on my hardware, hibernate does though.

How do you initiate the sleep ? I use pm-suspend.

You have more luck than me with uvesafb, I tried as you said and indeed it stays in 1920x1080 all the way but then my TTY is completely inaccessible, just a fine line with a chunk of my grub background and nothing else. 

Oh well, I've tried  :Razz: 

----------

## zwede

I use KDE/Plasma suspend. But pm-suspend does the same thing.

I think it is probably limited to only some graphics cards. I have a GTX960.

----------

## Myu

I've a GTX 750 Ti, should be the same architecture ( Maxwell). 

Wierd, the truth is elsewhere  :Smile: 

----------

## dweezil-n0xad

I have a GTX 970 and pm-suspend does not work. But echoing "mem" to /sys/power/state does work and I suspend very often.

As for my framebuffer TTY, I use efifb. No need for extra kernel command-line parameters.

----------

## zwede

I don't understand? According to https://www.kernel.org/doc/Documentation/fb/efifb.txt efifb is only for Macs and you still need a kernel param to use it.

I just tried echo mem > /sys/power/state. Same result; system freezes and does not shut down all the way.

----------

## dweezil-n0xad

That .txt must be outdated? I use efifb on my self-built pc.

In my kernel config;

```
CONFIG_FB_EFI: 

  This is the EFI frame buffer device driver. If the firmware on

  your platform is EFI 1.10 or UEFI 2.0, select Y to add support for

  using the EFI framebuffer as your console.

  Symbol: FB_EFI [=y]

  Type  : boolean Prompt: EFI-based Framebuffer Support

    Location:

      -> Device Drivers

        -> Graphics support

          -> Frame buffer Devices

  Defined at drivers/video/fbdev/Kconfig:758

  Depends on: HAS_IOMEM [=y] && FB [=y]=y && X86 [=y] && EFI [=y]

  Selects: FB_CFB_FILLRECT [=y] && FB_CFB_COPYAREA [=y] && FB_CFB_IMAGEBLIT [=y]
```

dmesg:

```
# dmesg |grep efifb

[    0.453645] efifb: probing for efifb

[    0.453650] efifb: framebuffer at 0xe1000000, mapped to 0xffffc90000800000, using 5120k, total 5120k

[    0.453651] efifb: mode is 1280x1024x32, linelength=5120, pages=1

[    0.453652] efifb: scrolling: redraw

[    0.453652] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
```

no additional kernel parameters.

----------

## zwede

Interesting. I'll give efifb a shot.

----------

## s|mon

Did someone find out more details already?

I'm facing the same issue but I'm not sure if i can/want to switch to pure efi boot (quite old MB intel dp45sg, not sure about efi version) and boot disk is still mbr.

Or could i use efifb also without pure efi boot? 

Even if - isn't that a bug that should be filled with nvidia-drivers, as i could not find it?

----------

## k9dog

Yeah nvidia is a troublesome child. Disable anything that might actuzaly save power screen wise, beyond blanking screen helped.

----------

