I've having some issues with getting resume from hibernate using systemd (swsusp) to work on a Lenovo IdeaPad Z510, running under Ubuntu 15.10 (issue was the same under prior versions of Ubuntu as well).
DOES: From a successfully-hibernated machine (journalctl confirms success), resume appears to generate a "dead screen" (black display, no apparent session or keyboard interaction, yet nothing in journalctl indicating display/session failure).
SHOULD: From hibernate, restore session from swap partition and allow user to continue session.
As a clue, if I set nomodeset in grub, line GRUB_CMDLINE_LINUX_DEFAULT, resume works consistently well, though the native graphics hardware is clearly disabled (Haswell HD Mobile 4400).
Given this, I suspect two possible issues that would be causing this problem:
On my machine, resume with an integrated video driver (Intel i915) is not yet properly configured.
In my reading, I ran across a known kernel issue that relates to resume failure due to a memory size mismatch in the resume swap file. Referred to as the BIOS e820 mismatch, it's best described here: http://www.slideshare.net/joeylikernel/the-e820-trap-of-linux-kernel-hibernation.
In this later case, it sounds like the 4.3 kernel release may resolve at least this one possible reason for my resume issues.
But for now, I'm interested in better understanding the former case, as I want to check all of my assumptions as they relate to configuring systemd to successfully permit hibernate and resume.
To date, here's what I've done to configure my machine for hibernate/resume using systemd:
- In etc/default/grub, configure GRUB_CMDLINE_LINUX_DEFAULT to include the resume parameter, passing the UUID of the swap partition in question (i.e., resume=UUID=453f0121-505d-42d3-8dad-87f913e67ddc). My current GRUB_CMDLINE_LINUX_DEFAULT is GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=453f0121-505d-42d3-8dad-87f913e67ddc"
- Run sudo update-grub
- Edit/confirm resume=UUID=453f0121-505d-42d3-8dad-87f913e67ddc entry in resume file located in /etc/initramfs
- Run sudo update-initramfs -u
- Edit /etc/systemd/logind.conf to set HandleLidSwitch=hibernate
- Run sudo service systemd-logind restart
- Reboot for good measure
Resume will consistently fail with no obvious (to me) errors indicating the reason for the resume failure.
So, my question to the forum is this:
What debugging tools, systemd information resources, and general understanding of how to troubleshoot what appears to be a video driver issue can you recommend?
I'm quite interested in solving this situation within the context of using systemd as a solution.
Thanks very much.