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.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .