I'm using Ubuntu 16.04 LTS and nvidia-340.

With the nvidia drivers enabled I cannot resume from suspend.

I can recover from suspend when I switch to the intel driver or if I use nouveau drivers.

I tried updating the kernel but that didn't solve the issue.

Any way to solve this with the nvidia proprietary drivers?

If not, will I lose a lot of performance by using the nouveau drivers instead of proprietary nvidia?

2 Answers 2


Suspend/Hibernate/Resume is customizable to add special handling for your graphics card through the pm-utils (utilities and scripts for power management) package. Read the man pages for pm-action, pm-powersave, pm-is-supported, pm-suspend-hybrid, pm-hibernate, pm-suspend, and read the files in /usr/share/doc/pm-utils/.

  • I follow your advice but didn't find anything that help. I believe the problem should be between the kernel and nvidia drivers. Maybee there is a new driver somewhere that solves the issue ? ppa or something ? Dec 22, 2016 at 21:15
  • Idk, but if you find some command line magic to fix your card, it is pm-utils where it goes, and pm-utils is what stops/restarts it now
    – waltinator
    Dec 22, 2016 at 21:30

By using the latest nvidia-driver-495, I could reset the boot parameters. All back to normal ...


Adding the following boot parameters (to GRUB_CMDLINE_LINUX_DEFAULT) did the trick for me:

acpi_osi=! acpi_osi="Windows 2009"

[double quotes " need to be escaped with backslash \ in /etc/default/grub]

Props to https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-594328434 (Although I'm not using bumblebee ..)

System consist out of:

  • NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] / NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
  • Running Ubuntu 20.04.3
  • Using the nvidia-driver-470

As a workaround (no longer working ...) for me is suspending via the command line (thus not using the topbar "Suspend" nor closing the lid - or the hooks from pm-suspend as I understand):

systemctrl suspend

Not yet tried (copied) solution form nvidia forum:


Short answer, whats happens - in resume process Linux (+systemd) forget to turn on monitor. So to solve problem only just need to turn on monitor.

Short solution (fast test is it helps for you or not) Ctrl+Alt+F1, you see login prompt, login as normal user (not root) and do (one line command):

chvt 7 ; sleep 3; xrandr --display :0.0 --auto

Long solution Install 360 driver and install all nvidia-*.service & install /usr/bin/nvidia_sleep.sh Install 470 driver (which does not contains this systemd services in /usr/share/doc/nvidia-* folders). Edit /usr/bin/nvidia_sleep.sh and in resume section after chvt command add under your xserver user:

sleep 3; xrandr --display :0.0 --auto

Also need to add root (may be other) as XServer user, so under your working XSession you need to allow root to execute xrandr: edit /etc/X11/xinit/xinitrc and add:

xhost +localhost


xhost +root@localhost

check it works:

sudo su -l xrandr

should work.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.