The problem is that my new Lenovo Yoga 2 Pro (lshw results) does not resume from suspend very well. I've collected the following data:
This happens on Ubuntu 14.04.1 LTS - both with the original kernel and with the latest 3.16 kernel - and Ubuntu 14.10.
The problem only happens when I suspend by closing the lid. It doesn't happen when I suspend from
pm-suspendutility. I even went as far as running the following:
while true; do sudo pm-suspend; sleep 5; done
I placed a heavy object on the keyboard, which causes the laptop to immediately resume - and left it for an hour. It never failed to resume correctly. However, when closing the lid, approximately 1 out of 2 closures it will freeze.
(edited) Another data point, not sure if relevant - when I suspend with
pm-suspend, the machine won't resume at all when I close the lid and re-open it. When it suspends as a result of closing the lid - opening the lid will resume it... and then the UI freezes. I checked Windows 8.1, and that seems to happen as well - if I command it to sleep, it stays asleep even if I close the lid and re-open it.
The computer doesn't freeze, only the window manager. The mouse still moves, but the screen does not update and nothing can be clicked. Switching to a VT works and I'm able to restart the lightdm service and regain control of the GUI:
sudo service lightdm restart
(at the price of closing all of the graphical applications I had running, so this is not a workaround).
It's not lightdm's fault - I stopped the
lightdmservice and ran
startxfrom the command line. It produces the same symptoms.
There's nothing unusual showing up on
/var/log/pm-suspend.log- I compared it with the output of other people's online posts, and couldn't find a difference. It looks the same, and all important activities succeed.
/usr/lib/pm-utils/video-quirks/20-video-quirk-pm-lenovo.quirkdb- I added every combination of quirks I could think of, to no avail.
Nothing unusual shows up on
dmesg- I thought the Intel drive crashed sometime, but it seems to be unrelated because I can't correlate those crashes to a suspend / resume event chain. It seems to be in the Bluetooth driver anyway. I posted a sample in pastebin.
I'm really out of ideas at this point.
(edited) Well well... just as I was about to turn in, I stumbled across what seems to be a valid workaround. I missed it before because it didn't refer to a version of Ubuntu I was using, but the solution proposed does work for me. Still, I'd like to have a more... elegant... solution, if possible.