[RESPONDED] Suspend and Resume in Gentoo

@Phil That sucks…
Could you also try a Live Ubuntu on a USB stick?
If you contact support, that’s among the diagnostic steps that they will always ask.

@Mapleleaf Alas, same problem with a live Ubuntu: no real suspend… But it resumes well. So I think the resume freeze is related to the SSD. I have to try Ubuntu installed to confirm that.

@Phil Have you had a chance to try, still on the live Ubuntu, the s2ram script?
That would test the real suspend.
At that point, if you still have problems, it would not be a SSD issue, but a mainboard one.

@Phil There seems to be a known problem with the touchpad right after a wake from a suspend, on Ubuntu. I didn’t know, just discovered that.
Here is the workaround (some unloading and reloading of kernel modules):

I discovered it here:

What was exactly your “freeze” symptoms after a s2ram? Can it be consistent with just the touchpad not working?

Since I got mentioned and this reached my inbox, I’ll add my 2 cents.

Let’s zoom out 5 levels first and tackle the expectation that the system should suspend to RAM (S3) and resume correctly like our ThinkPads from 10 years ago.

Intel no longer supports S3 on their chips. Yes, it’s enabled and it works on the 11th gen Intel on Framework but even then it takes a strangely long amount of time to resume. So this is not to say that S3 is impossible on the Framework, it is possible. However Intel seems to be officially giving up on keeping it working via chip and driver implementation. Likely because herding all the smaller vendors on the mainboard to get it working correctly for their chip, firmware and driver has always been a problem. Instead the expectation being set is that S0iX should be used in a suspend-only or suspend-then-hibernate configuration. In other words, do what Windows does. Intel is working on getting S0iX to consume significantly less than traditional S0. In fact on the Framework S0 and S3 are somewhat close in power consumption. Heck you can get ~3%/hr power consumption on idle with the screen brightness to lowest.

What I did is to stop fighting the man. I went with suspend-then-hibernate setup using S0iX. I haven’t had a problem since. The drivers get reloaded as they do on a normal boot so none of their S3 bugs get hit. Resume from hibernation takes marginally longer than the slow resume from S3 and the laptop can spend as long as the CMOS battery lasts in hibernation.

With that, my two cents are - if you really want S3, you can get it working, but the benefits might not be as pronounced as they used to be 10 years ago and S3 is already being phased out.

PS: I have no idea how to get suspend-then-hibernate configured on OpenRC but here’s how it’s done (SaltStack code) on systemd. Actually scratch that. It’s not very clear from that source code. Here’s the doc.

3 Likes