3

A couple days ago I upgraded from 14.04 to 16.04 on a Lenovo Z50-75. When I close the lid, it suspends and powers down correctly; when I open the lid, I can hear the hard disk spin up, but the screen never comes back on, and I wind up having to power it off.

Won't come back from suspend 16.04 LTS and Xubuntu 16.04.1 won't wake up correctly after opening lid seemed similar, so I followed the instructions on Linux Daddy here and am now running a 4.4.25 kernel, but that didn't help.

Manually running sudo pm-suspend --quirk-dpms-on has the same effect: the machine powers down; pressing space or whatever causes it to spin back up, but the screen never turns back on.

I see other answers talk about editing your /etc/systemd/logind.conf; I haven't changed anything in there (as my problem is on resume, not suspend). Everything in that file is commented out.

I see My Lenovo Z40 can't recover from sleep/suspend mode is about 16.04 on a Lenovo Z40 (similar I think to my Z50), and the one answer there mentions the Nvidia driver. However, the lshw and lspci commands used here to figure out your NVIDIA card model don't say anything about an NVIDIA card; they just say AMD Radeon.

This page on help.ubuntu.com talks about editing your /etc/X11/xorg.conf, but I don't have one of those, and there's no "Screen" section in anything under /usr/share/X11/xorg.conf.d/.

Blank screen after resuming from suspend state on Ubuntu 16.04 (issue started after installing Nvidia Drivers) has instructions on working around it by installing bumblebee; I did that ("sort of"--see below), but there was a warning during the installation:

No Nvidia card found. If you really have an Optimus system,
try selecting the Optimus setup in BIOS and run:
sudo dpkg-reconfigure bumblebee-nvidia

I say I "sort of" did that, because step 1 & 2 was switching to Intel graphics in nvidia-settings, and... I had some problem with my nvidia-settings installation (starting it up, it complained that the registry key file should've been installed along with the driver, and to see the README; there was no README, either). And bumblebee isn't quite working (the Bumblebee daemon isn't starting automatically?), but I don't think I care. In any case, this didn't fix it, although maybe that's because I didn't do it correctly.

The only real progress I've made is adding the /etc/pm/sleep.d/01_switchvt script suggested in the answer to Unable to resume after suspend. After adding that, manually running pm-suspend, and then hitting the spacebar, the machine starts back up properly; but closing the lid, waiting, & reopening it (and flailing on the keyboard, etc.) still doesn't turn the screen back on. That seems to be a step in the right direction, at least... So, seeing on this thread on Fedora Forums that systemd might be doing the sleep, I put something similar in my /lib/systemd/system-sleep/, and I can see (from writing to a log file) that it's successfully calling chvt during suspend & resume, but that didn't fix it.

Any idea how I can get suspend/resume to work again?

kuhrusty
  • 161
  • OK, people, it's now 2017, and I can't close the lid on my Linux laptop. You know what this reminds me of? 1997! – kuhrusty Jan 09 '17 at 07:29

1 Answers1

0

I work with two Lenovo laptops, and each required a different configuration in order to get suspend/resume to work under Ubuntu 16.10.

  • With the Lenovo u300s, the solution was to add pci=nomsi to the GRUB_CMDLINE_LINUX_DEFAULT string
  • While with the Lenovo IdeaPad Z510, the solution was to add i915.enable_psr=0

Here are the specific details of what I had to do to configure each:

  • Create an appropriately-sized swap file (I typically set for ~1.1x of total size, so 18GB for a 16GB)
  • In etc/default/grub, configure GRUB_CMDLINE_LINUX_DEFAULT to include the resume parameter, passing the UUID of the swap partition in question (e.g., GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=453f0121-505d-42d3-8dad-87f913e67ddc")
  • Add to that same GRUB_CMDLINE_LINUX_DEFAULT line either of the above solutions (either the pci=nomsi or i915.enable_psr=0 parameter), e.g., GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=453f0121-505d-42d3-8dad-87f913e67ddcpci=nomsi"
  • Run sudo update-grub
  • Edit /etc/systemd/logind.conf to set HandleLidSwitch=hibernate (or similar)
  • Run sudo service systemd-logind restart

While I'm not a big fan of just plugging in random grub parameters without fully understanding the implications of what each parameter does, it may help you in troubleshooting/limiting the scope of your suspend issues on your Lenovo laptop.

Best of luck!

richbl
  • 2,303
  • Hey, thank you for replying, but neither of those grub options worked for me. (One thing you suggested that I didn't do was the /etc/systemd/logind.conf change, because I think I want it to be suspend instead of hibernate, and the logind.conf man page says that's its default value.) – kuhrusty Mar 28 '17 at 01:13