[Power Management] High battery drain during suspend on MacBook Air M2 (Ubuntu Asahi)
System Information
- Device: MacBook Air with Apple M2 chip
- Distro: Ubuntu Asahi (based on Ubuntu 24.04)
- Kernel: 6.14.0-1001-asahi-arm
- Desktop Environment: GNOME
Summary
When I suspend the system (via lid close or UI), my MacBook continues to drain battery at a high rate — even more than it does when left idle with the screen off. This suggests that suspend is not functioning as a proper low-power state.
Details
-
cat /sys/power/mem_sleepshows:
[s2idle]
- There is no
/proc/acpi/wakeup, which I understand is expected on Apple Silicon. - It appears the system is using
s2idle, which does not properly power down hardware components. - Battery loss during suspend (over 8 hours):
- Screen off (idle): ~3–5% drain
- Suspend (
systemctl suspendor lid close): ~15–20% drain
- Hibernate does not appear functional either.
What I’ve Tried
- Disabled automatic suspend via
logind.conf - Used
xset dpms force offas a workaround to blank the screen - Applied
powertop --auto-tuneand TLP for general power saving - Confirmed I’m on a recent Asahi-enabled kernel (6.14.0-1001-asahi-arm)
Expected Behavior
Suspend should significantly reduce battery usage, ideally close to what macOS does during sleep (1–2% over 8 hours). Right now, it behaves closer to an idle state with the display off — not true suspend-to-RAM.
Questions
- Is this the expected behavior on Apple M2 right now?
- Are there plans to support deeper sleep states (like
s2idle→deep) on M1/M2 in upcoming kernel versions? - Is there a workaround or patch I can test to reduce power draw while suspended?
Thank you for all the work you've done on Apple Silicon support. I’m happy to test experimental features or provide logs if needed.
Thanks for reporting. Please refer to https://github.com/AsahiLinux/linux/issues/262 as this is also an upstream issue.