=== Suspend/Resume Improvement

Links: +
link:https://obiw.ac/s0ix/[Blog] URL: link:https://obiw.ac/s0ix/[] +
link:https://youtu.be/RCjPc4X2Edc[BSDCan talk on s2idle/S0ix] URL: https://youtu.be/RCjPc4X2Edc[] +
link:https://people.freebsd.org/~obiwac/s0ix/[Sleep testing image] URL: https://people.freebsd.org/~obiwac/s0ix/[] +
link:https://github.com/obiwac/freebsd-s0ix/tree/everything[Working Repository] URL: link:https://github.com/obiwac/freebsd-s0ix/tree/everything[] +
link:https://reviews.freebsd.org/D48721[Tip of the s2idle/S0ix + AMD SMU stack] URL: https://reviews.freebsd.org/D48721[] +

Contact: obiwac <obiwac@FreeBSD.org>

Suspend-to-idle and support for S0ix sleep is in the process of being added to FreeBSD.

This will allow modern Intel and AMD laptops, some of which do not support ACPI S3 sleep, to enter low power states to increase battery life.

Entry to S0i3 is now working reliably on the Framework 13 AMD Ryzen 7040 series laptops on FreeBSD 15.
This required changes to LinuxKPI for DRM to know whether the system intends to enter S3 or S0ix: link:https://reviews.freebsd.org/D51591[D51591].

These changes in turn required the creation of generic sleep types, separate from ACPI.
Not all of these changes have yet been committed, but new hw.power.* sysctls will be created to choose the sleep type for various sleep state transition requests.

The amdsmu driver, some ACPI changes and fixes, and GPIO interrupt servicing in amdgpio have been committed.

A pre-built sleep testing image is now available to easily testing S0i3 entry on machines.
Detailed instructions are on the webpage.

With respect to the links, the blog post entry is still outdated.

Sponsor: The FreeBSD Foundation
