Ubuntu – Ubuntu 18.04 does not wake up from suspend on ASUS Zenbook

suspend

I installed Ubuntu 18.04 on a new ASUS Zenbook recently and virtually everything works almost perfectly. With one exception: Suspend/Resume is broken. Ubuntu seems to be aware of that and by default, selects s2idle:

$ cat /sys/power/mem_sleep
[s2idle] deep

Of course, this means that the laptop's battery is down by about 30% after a day of sleep and it means that the laptop really isn't useful as the mobile device it's supposed to be. I can activate deep sleep by

$ echo deep > /sys/power/mem_sleep

And then the computer does suspend properly (for example via pm-suspend). I can see this because the power indicator LEDs on the side and in the power button start blinking slowly, in the same way as they do on my four-year-old Zenbook. If I wake the laptop up by pressing the power button briefly (or by opening the lid), the computer seems to start waking up (the power indicator LEDs go from blinking to steady light), but neither does the screen turn on, nor does the computer react to the keyboard in any way, nor can I ssh into it.

There are a couple of posts online that seem to find similar behavior with the nouveau driver for NVIDIA graphics cards. But neither does my computer have an NVIDIA card (it has a built-in Intel), nor does the nouveau driver accidentally get loaded.

Another set of online advice recommends using older/new kernels. I've tried kernel versions down to 4.14.41 and up to some 4.18 versions, both none of them changed this behavior.

I'm a little stumped here. I don't even know where to start diagnosing this. Any help would be greatly appreciated.

p.s. Hibernate doesn't work either, but I'm not overly eager to get it to work.

Best Answer

I had the same issue - here are some things I've come across in different posts on the topic that you may consider:

  • Update your graphics driver;
  • Check your Swap partition size. As answered here, you'd need at least 1.5x the size of your RAM for allocated to your swap partition for hibernation to work. You can check your active swap with swapon -s. I found this page to be very useful on how to manage swap;
  • Finally what really solved it for me - I switched from Xorg to Wayland. On your log in screen choose Ubuntu on Wayland from the options menu next to the Sign In button.

Hope this helps.

Related Question