This !
Support forums from all brands (big ones like Dell or Lenovo, but also niche brands like Framework) are plagued with requests from unhappy users with their laptop dying in their bag. All because of the Modern Suspend feature.
Let's hope AMD mobile processors will work better, and that we'll be able to find decent laptops using them.
I'm fairly certain that your Macbook is actually hibernating, and not merely suspending. This seems to be the case with my 2015 Macbook. Suspend alone will drain your battery.
I have a Ryzen ThinkPad p14s with Linux. What you do is turn on S3 mode (they call it "Linux") in BIOS as you did. Then in /etc/systemd/sleep.conf you enable AllowSuspendThenHibernate. You can adjust the time. I have mine set to 30 minutes. I also have suspend set when the laptop lid closes. Which means when I close the laptop, it suspends for 30 minutes. If I open before 30 minutes, it resumes right away. If not, it hibernates. The battery will last for practically days if you configure it this way.
You have to configure Linux to hibernate and this will depend on your setup. Just know that it is possible to use LUKS encryption and hibernate to a file (or partition).
Another factor with my Macbook is that it seems to automatically resume from hibernate in the morning. Not sure what it's doing. Maybe it's keeping track of when I typically open my laptop. But you can get this same behavior on Linux with rtcwake. If using LUKS though, you'll probably need to use a keyfile rather than a passphrase for this to work. It would be neat if someone wrote a program that could monitor the time you open the laptop and automatically adjust the rtc wakeup times based on historical data.
I'm fairly certain that your Macbook is actually hibernating, and not merely suspending. This seems to be the case with my 2015 Macbook.
Actually, as far as I understand it's a mixture like modern sleep in Windows. Like modern sleep, the system also wakes up to fetch e-mail, calendar events, etc. But in contrast to Windows, it actually works well and is very restrictive (only certain whitelisted apps can update). Apple calls it Power Nap:
Which means when I close the laptop, it suspends for 30 minutes. If I open before 30 minutes, it resumes right away. If not, it hibernates. The battery will last for practically days if you configure it this way
I know, but hibernate on Linux has many issues. First of all, properly restoring hardware state is even more of a hit and miss than S3 sleep (where e.g. the trackpad would often not come up correctly).
Hibernate on Linux also has all kinds of security issues. Hibernate currently does not work with Secure Boot + kernel_lockdown [1]. Hibernate with randomly-keyed encrypted swap requires all kinds of workarounds.
I am not willing to forgo security mechanisms that have been supported for some time on other systems.
I wouldn't be surprised if most people didn't notice that their MacBook was hibernating. Apple tries to hide it by showing you the login screen immediately, but that period where you can't interact is the device resuming from hibernation. It's a similar trick to what they do on iOS. When you open up an application that was suspended, it shows an image while reloading the saved state to make it seem like the app never closed. (As documented here: https://developer.apple.com/documentation/uikit/uiapplicatio... )
Thanks for the tip. I had a Lenovo Ryzen that would require a Win10 reset of the Broadcom WiFi after each resume. Frustrating. Finally got an Intel Lenovo -- no WiFi issues.
> Let's hope AMD mobile processors will work better, and that we'll be able to find decent laptops using them.
It doesn't have anything to do with the processor does it? Surely neither intel nor amd have removed S3 support?
AFAIK it's integrators (motivated by Microsoft's push of "modern standby"?) which make it unavailable in their bioses: S3 needs bios integration, modern standby is just S0. Or do you mean "hopefully AMD will have a better S0 idle"?