Bug 2532653 - Latest version of Intel-lpmd makes power-save cause everything to be slow
Summary: Latest version of Intel-lpmd makes power-save cause everything to be slow
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: intel-lpmd
Version: 44
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Ali Erdinc Koroglu
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-09-13 05:50 UTC by devinobannon
Modified: 2026-11-04 11:20 UTC (History)
11 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description devinobannon 2026-09-13 05:50:13 UTC
Hello,

I am on Fedora KDE 44, Plasma 6.7.5, KDE Frameworks 6.30, Qt 6.11.2, Kernel 7.2.4, on Wayland.

I have a Lenovo Thinkpad T1g, with Intel Core Ultra 7 265H, 32 GB RAM, NVIDIA GeForce RTX 5070.

I have NVIDIA driver 610.57.04 and Mesa drivers 26.1.8.

I have a laptop, so I try to keep it on power save mode. Today I updated my system, and suddenly everything was extremely slow. Booting up plasma shell took 30 seconds. Opening LibreOffice Writer, for example, went from taking 12 seconds to taking 24. Web pages stuttered.

At first, I thought it was the most recent upower and tuned-ppd updates, but I downgraded each and neither solved the problem. Then I checked the full list of packages I updated and found that one of them was intel-lpmd, and it made sense that was the problem. I downgraded that single package, rebooted, and now everything is normal again on power save mode-–fast, snappy, and power-efficient.

So whatever update was pushed today to intel-lpmd, it seems that something is wrong with it. I noticed the changelog said “Add patches for Arrow Lake-H and Wildcat Lake support.” I reinstalled my operating system, to see if that would fix the issue, but it's still much slower than usual, and I have to switch to "Balanced" mode to make things work the same way they used to work on power save.

Also, before, with Power Save mode on, the lowest idling energy use I could get would be about 3.10 W. But now, with the Power Save on (which makes things very slow), idling goes down to about 2.1-2.5 W. So I'm not sure, but perhaps the new patch made the Power Save mode overly aggressive.

Reproducible: Always

Steps to Reproduce:
1. Upgrade intel-lpmd from 0.1.0 to 0.1.0^git20260608.40d18a6-1.
2. Reboot computer.
3. Turn on power save if not already on.
4. Downgrading intel-lpmd to 0.0.9, then rebooting, fixes the problem. Upgrading to 0.1.0^git20260608.40d18a6-1 brings the problem back.
Actual Results:
Everything was extremely slow and stuttery. Opening LibreOffice took 24 seconds instead of 12. Opening the start menu took 3-4 seconds instead of being instant. Typing had extreme delays, where words would show up several seconds after I typed them.

Expected Results:
Power Save mode to work normally, with a responsive operating system, which I had under version 0.0.9 and 0.1.0.

Comment 1 Jonathan Z 2026-09-13 18:29:41 UTC
I dug a bit into this, as I am also affected (IdeaPad Pro 5i with an Intel Core Ultra 7 255H). I run Fedora KDE Workstation.

intel_lpmd gained support for Arrow Lake H (Core Ultra 2XXH) CPUs in the last update. However, it appears to ship with a very aggressive default config and might also be buggy. The config for Arrow Lake is at "/etc/intel_lpmd/intel_lpmd_config_F6_M197.xml", and by default it:

1. Enables all cores (P, E and LPE) in Performance Mode.
2. Disables P cores in Balanced Mode.
3. Disables P and E cores in Energy Saver Mode.

This causes significant performance degradation in balanced mode and unusable performance in energy saver mode, as the LPE cores are extremely weak on Arrow Lake, they don't even have any L3 cache.

I wrote a fixed config. This config:

1. Enables all cores in Performance Mode.
2. Dynamically Enables / Disables P cores based on system load in Balanced and Energy Saver Mode.
3. E and LPE always stay enabled.

Fixed config (replace "/etc/intel_lpmd/intel_lpmd_config_F6_M197.xml") (F6_M197 identifies the Arrow Lake H CPUs):

```
<?xml version="1.0"?>
<Configuration>
        <lp_mode_cpus></lp_mode_cpus>
        <lp_mode_epp></lp_mode_epp>
        <Mode>1</Mode>
        <PerformanceDef>-1</PerformanceDef>
        <BalancedDef>0</BalancedDef>
        <PowersaverDef>0</PowersaverDef>
        <HfiLpmEnable>0</HfiLpmEnable>
        <WLTHintEnable>1</WLTHintEnable>
        <WLTHintPollEnable>1</WLTHintPollEnable>
        <HfiSuvEnable>0</HfiSuvEnable>
        <WLTHintMask>15</WLTHintMask>
        <IgnoreITMT>0</IgnoreITMT>

        <States>
                <CPUFamily> 6 </CPUFamily>
                <CPUModel> 197 </CPUModel>
                <CPUConfig> * </CPUConfig>
                <State>
                        <ID> 1 </ID>
                        <Name> Idle </Name>
                        <WLTTypeMask> 3 </WLTTypeMask>
                        <ActiveLcores>ALL</ActiveLcores>
                        <ActiveEcores>ALL</ActiveEcores>
                        <IRQMigrate>1</IRQMigrate>
                        <EPP>255</EPP>
                        <EPB>15</EPB>
                </State>
                <State>
                        <ID> 2 </ID>
                        <Name> Sustained Load </Name>
                        <WLTType> 2 </WLTType>
                        <ActiveLcores>ALL</ActiveLcores>
                        <ActiveEcores>ALL</ActiveEcores>
                        <ActivePcores>ALL</ActivePcores>
                        <IRQMigrate>1</IRQMigrate>
                        <EPP>64</EPP>
                        <EPB>4</EPB>
                </State>
                <State>
                        <ID> 3 </ID>
                        <Name> Bursty Load </Name>
                        <WLTType> 3 </WLTType>
                        <ActiveLcores>ALL</ActiveLcores>
                        <ActiveEcores>ALL</ActiveEcores>
                        <ActivePcores>ALL</ActivePcores>
                        <IRQMigrate>1</IRQMigrate>
                        <EPP>128</EPP>
                        <EPB>6</EPB>
                </State>
        </States>

</Configuration>
```

Additionally, I tried automatically enabling / disabling E cores as well with this change to the Idle state config:

```
<State>
    <ID> 1 </ID>
    <Name> Idle </Name>
    <WLTTypeMask> 3 </WLTTypeMask>
    <ActiveLcores>ALL</ActiveLcores>
    <IRQMigrate>1</IRQMigrate>
    <EPP>255</EPP>
    <EPB>15</EPB>
</State>
```

This did cause the system to only use LPE cores on light load, however the P and E cores were never reenabled, even when under full load (tested with `stress-ng -c 16`). The only way to get the P and E cores reenabled was switching to performance mode, having high load and then switching to balanced / energy saver. But after the load disappeared and the system switched to just LPE cores once, it is stuck there, no matter how much load there is on the LPE cores. This might need to be reported upstream.

Comment 2 devinobannon 2026-09-13 22:43:54 UTC
Everything worked fine on the previous version (1.0). Could we report it upstream, rollback the update in the repo (bringing it back to 1.0), and then wait for them to fix it? I didn't have any problems with the previous version, so it seems like that would be a workable solution.

Comment 3 汪明衡 2026-09-15 11:06:12 UTC
I'm experiencing this on Core Ultra 7 255H too. Switching to performance mode activates all cores, in balanced mode, 5 cores are in 100% sleep state, shown by the "top" command, not sure if this is the expected behavior though.

Comment 4 Takahiro Hashimoto 2026-09-17 16:04:26 UTC
For reference, on KDE Plasma I configured PowerDevil to select the power profile depending on the power state.

I use performance on AC power, performance on battery while the charge level is still high, and switch to a more power-saving profile only when the battery level becomes low.

This avoids unintentionally running in the LPE-only power-saver mode during normal use, while still allowing it to be used when I actually want maximum power saving.

Personally, I think having an LPE-only mode available through a power profile is useful and makes sense, especially for low-battery situations. The important part for my use case is simply to make sure it is selected intentionally rather than during normal operation.

Comment 5 fuchsi 2026-11-03 20:43:12 UTC
I'm using a Lenovo P14s Gen 6 with an Intel Core Ultra 7 265H CPU. With this update the power saver power profile was absolutely unusable (1 min delay after login before the system becomes responsive again, regular lag while typing in the shell, 2-3 seconds delay when touching the upper left corner in gnome etc.).

The easiest fix for me was to set PowersaverDef to 0 in /etc/intel_lpmd/intel_lpmd_config_F6_M197.xml . As a result the power saver mode now uses all L+E cores similar to the balanced mode - but will still restrict the frequency harder than the balance mode resulting in a lower power cosumption overall. IMHO the current defaults should be changed as the state after updating felt like I had somehow broken my laptop...

Comment 6 Jonathan Z 2026-11-04 11:20:54 UTC
For some more context, here's a discussion on the Fedora Discourse: https://discussion.fedoraproject.org/t/overly-agressive-intel-lpmd-config-by-default/201978/7

And here is the upstream LPMD merge request that contains the overly aggressive config Fedora ships by default: https://github.com/intel/intel-lpmd/pull/121

Not entirely sure why Fedora ships the MR, as it isn't merged yet upstream.


Note You need to log in before you can comment on or make changes to this bug.