Low Power Mode Lost/Stuck After System Suspend and Power Profile Switch

Open
#106 21 comments 0 reactions 1 assignee View on GitHub

@maciejwieczorretman is already working on this.

Since Feb 23, 2026.

Assessment

This issue has not been assessed yet.

Description

Environment Details

  • Platform/CPU: Core Ultra 7 155H (Meteor Lake)

  • Operating System: Manjaro Linux (GNOME Desktop)

  • Kernel Version: 6.17.1-0-MANJARO

  • intel-lpmd Version: 0.1.0

  • Power Management: systemd-logind and power-profiles-daemon (via GNOME)

Description of the Problem

The Intel Low Power Mode Daemon (intel-lpmd) reliably fails to maintain or re-enter the automatic (AUTO) Low Power Mode state after two distinct, common system events. This leads to higher-than-expected active idle power consumption and elevated CPU package temperatures until the daemon is manually reset.

Events Causing the Failure

1. Resume from System Suspend (S3)

After successfully suspending the system (systemctl suspend) and resuming, the intel-lpmd daemon seems to be in a stuck or uninitialized state. Although the system is idle, the expected LP Mode behavior (e.g., P-core isolation) does not activate, and the daemon does not respond to changes in system load.

2. Manual Power Profile Switch

When changing the system's power profile using the Desktop Environment (DE) utility (e.g., switching from "Balanced") to any other (e.g., "Performance" or "Power Saver"), the LP Mode functionality is lost immediately after the profile switch completes.

Actual Behavior

After either event (Suspend/Resume or Profile Switch):

  1. Power consumption is noticeably higher than expected (resulting in increased battery drain and heat generation) compared to when LP Mode is correctly active.

  2. Checking the daemon status often shows it is running, but it fails to isolate P-cores or enter LP Mode.

  3. The system behaves as if intel_lpmd_control OFF was permanently executed, despite the service being active.

Steps to Reproduce

To reproduce Event 1 (Suspend/Resume):

  1. Ensure intel-lpmd.service is running and successfully in AUTO mode.

  2. Run systemctl suspend.

  3. Resume the system.

  4. LP Mode will be inactive.

To reproduce Event 2 (Profile Switch):

  1. Ensure intel-lpmd.service is running and successfully in AUTO mode.

  2. Use the DE (GNOME/KDE) to switch from one profile (e.g., "Balanced") to any other (e.g., "Performance").

  3. Switch the profile back to the initial profile (e.g., "Balanced").

  4. LP Mode will be inactive.

Critical Workaround / Debugging Information

The only reliable way to restore full LP Mode functionality after either of the above events is by forcing the daemon to turn off, and then forcing it back into automatic mode. This two-step sequence re-establishes the correct state:

sudo intel_lpmd_control OFF
sudo intel_lpmd_control AUTO
Dominant language
C
Stars
236
Forks
33
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from intel/intel-lpmd

All issues in intel/intel-lpmd

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.