Skip to content

[Power Management] High battery drain during suspend on MacBook Air M2 (Ubuntu Asahi) #180

@toshithh

Description

@toshithh

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_sleep shows:
[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 suspend or 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 off as a workaround to blank the screen
  • Applied powertop --auto-tune and 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

  1. Is this the expected behavior on Apple M2 right now?
  2. Are there plans to support deeper sleep states (like s2idledeep) on M1/M2 in upcoming kernel versions?
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstreamissue affects upstream

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions