Fedora 43 – CPU Frequency Locked After Upgrade (Intel P-state / HWP Mode)
Context
After upgrading from Fedora 42 to Fedora 43, some users observed that the CPU frequency became capped at the base clock, even when Turbo Boost was enabled.
Example output from cpupower:
$ sudo cpupower frequency-info
driver: intel_pstate
hardware limits: 400 MHz – 1.60 GHz
current policy: frequency should be within 1.60 GHz and 1.60 GHz
current CPU frequency: 1.60 GHz
All cores were stuck at the same base frequency, and the files
/sys/devices/system/cpu/cpufreq/scaling_* were missing.
Root Cause
Starting with Fedora 43 (kernel ≥ 6.13), Intel CPUs automatically enable HWP (Hardware P-state) through the intel_pstate driver.
In this mode, the firmware—not the Linux kernel—controls frequency and power states.
As a result:
- The firmware restricts the maximum CPU frequency to the base clock.
- Kernel tools such as
cpupowerand thescaling_*sysfs interfaces can no longer override this behavior.
This effectively removes software control over frequency scaling.
Solution – Disable Intel P-state and Use acpi-cpufreq
Disabling the Intel P-state driver forces the kernel to fall back to the traditional acpi-cpufreq interface, restoring manual frequency scaling.
1. Edit the GRUB configuration
sudo nano /etc/default/grub
Locate the line:
GRUB_CMDLINE_LINUX="rd.luks.uuid=... rhgb quiet"
Append intel_pstate=disable inside the quotes:
GRUB_CMDLINE_LINUX="rd.luks.uuid=... rhgb quiet intel_pstate=disable"
2. Regenerate the GRUB menu
For BIOS systems:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
For UEFI systems:
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
3. Reboot
sudo reboot
Verification
After reboot:
sudo cpupower frequency-info
Expected result:
- The active driver is
acpi-cpufreq. - All standard governors (
ondemand,performance,powersave, etc.) are available. - Turbo Boost is supported and active.
Additional Notes
-
Frequency variations under load are normal with Turbo Boost.
-
To disable Turbo Boost temporarily:
echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boostRe-enable it with:
echo 1 | sudo tee /sys/devices/system/cpu/cpufreq/boost -
To monitor live frequencies:
watch -n1 "grep 'cpu MHz' /proc/cpuinfo" -
To set the governor persistently:
sudo cpupower frequency-set -g performance
Summary
| Step | Action | Command |
|---|---|---|
| Detect issue | CPU locked at base frequency | cpupower frequency-info |
| Identify cause | intel_pstate HWP mode active |
— |
| Fix | Disable Intel P-state in GRUB | intel_pstate=disable |
| Rebuild GRUB | Update configuration | sudo grub2-mkconfig -o /boot/grub2/grub.cfg |
| Verify | Confirm acpi-cpufreq driver |
cpupower frequency-info |
Edit: After discussions, see below, the problem is not driver related, the fix suggested above does not solve the problem.