Dell Latitude 7450 Fan Cycling on Kubuntu
Published September 05, 2026 • Updated September 14, 2026
I recently ran into an extremely annoying problem with a Dell Latitude 7450 running Kubuntu: the laptop would repeatedly blast its fan at roughly 3000 RPM or more, even though the machine was doing almost nothing.
The laptop was sitting on a stand with the internal display off and an external 1920×1080 monitor running at 60 Hz. CPU utilization was very low, temperatures were around 40°C, and yet the fan would repeatedly do this:
Fan OFF
↓
10–20 seconds
↓
Fan ~3000+ RPM
↓
about 1 minute
↓
Fan OFF
↓
repeat
The noise was much worse than the workload warranted.
The eventual solution was surprisingly simple:
KDE Power Profile: power-saver
Intel EPP: power
Turbo: still enabled
Dell BIOS: Quiet
Fan at idle: 0 RPM
The important part is that Turbo remained enabled. I did not have to sacrifice the CPU’s ability to boost when actually needed.
This post documents the diagnostics because they may also be useful to other Dell/Linux users who are experiencing apparently irrational fan behaviour.
The hardware and software
The system is:
Dell Latitude 7450
Intel® Core™ Ultra 5 125H (18 MB cache, 14 cores, 18 threads, 1.2 GHz to 3.0 GHz P-Core, 28W)
16 GB RAM
Intel Iris Xe
Kubuntu 26.04 LTS
KDE Plasma 6.6.6
Wayland
Kernel 7.0.0-31-generic
BIOS 1.32.0
The BIOS thermal mode was initially set to Optimized, with Turbo enabled. I also tested Dell’s Quiet thermal mode.
Neither Optimized nor Quiet stopped the fan cycling.
The first useful discovery: the temperatures were not actually high
The initial sensors output looked approximately like this:
CPU package: 40–41°C
CPU cores: roughly 37–41°C
NVMe: ~33°C
Wi-Fi: ~28–29°C
Ambient: ~30–31°C
Fan: 0 RPM or ~3300 RPM
When the fan was running at more than 3000 RPM, the CPU was still only around 41°C.
That immediately suggested that this was not a conventional situation where the CPU was getting hot and the fan was sensibly responding.
The fan was being extremely aggressive relative to the temperature.
The fan appeared to have a hard threshold
The pattern became clearer after watching the temperatures while the fan cycled.
With the normal Balanced power profile, the behaviour was essentially:
~39°C → fan off
~40–41°C → fan jumps to ~3000+ RPM
temperature falls
fan switches off
~20 seconds later the CPU reaches ~40–41°C again
fan jumps back on
So this looked very much like a threshold or hysteresis problem.
The striking part was how narrow the operating range was. The machine was spending its time crossing a very small temperature boundary and repeatedly triggering a relatively high fan state.
Changing the Dell BIOS thermal mode to Quiet did not eliminate the behaviour.
Was Linux fan-control software responsible?
The next step was to find out whether something in Linux was explicitly controlling the fan.
There was no fancontrol, i8kmon, or NBFC process running.
The only obvious thermal daemon was:
thermald
I stopped it:
sudo systemctl stop thermald
The fan behaviour did not change.
That ruled out thermald as the source of the problem, at least in this configuration.
The Dell SMM interface was interesting
Linux exposed this device:
dell_smm-virtual-0
with values such as:
fan1: 3343 RPM
pwm1: 64% MANUAL CONTROL
and, when the fan was off:
fan1: 0 RPM
pwm1: 0% MANUAL CONTROL
The Dell SMM hwmon driver documentation is worth reading here because its behaviour is not the same as a normal PC PWM controller.
The Linux driver supports Dell-specific fan states and can expose the fan through the Linux thermal framework. Its documentation also explains that Dell’s SMM interface is reverse-engineered and warns that some undocumented SMM commands can have severe side effects. That is an important lesson: don’t assume that:
echo 0 > pwm1
means the same thing on a Dell laptop that it means on a normal PWM-controlled fan.
In this case, trying to write:
echo 0 | sudo tee /sys/class/hwmon/hwmon6/pwm1
did not solve anything. The value simply returned to the previous Dell SMM state.
Likewise, the interface reported:
pwm1_enable = 1
but attempting the commonly documented:
echo 2 | sudo tee /sys/class/hwmon/hwmon6/pwm1_enable
returned:
Invalid argument
This was a useful warning not to keep guessing at Dell SMM control values.
The decisive test: remove the Dell SMM hwmon module
The Dell SMM hwmon module was loaded:
dell_smm_hwmon
I temporarily removed it:
sudo modprobe -r dell_smm_hwmon
The fan continued cycling.
That was an important result.
It meant that the noisy fan behaviour was not simply caused by the Linux dell_smm_hwmon driver continuously commanding the fan.
After unloading the module, the Dell DDV sensor still reported the fan:
dell_ddv-virtual-0
CPU Fan: 3236 RPM
and later:
CPU Fan: 0 RPM
and later again:
CPU Fan: 2224 RPM
So the underlying Dell firmware/embedded-controller behaviour was still present.
I then restored the module with:
sudo modprobe dell_smm_hwmon
The breakthrough: Intel EPP / Power Saver
The machine was using Intel’s intel_pstate driver:
active
and Turbo was enabled:
no_turbo = 0
The CPU exposed these Energy Performance Preference choices:
default
performance
balance_performance
balance_power
power
The Linux intel_pstate documentation explains that, on systems using hardware-managed P-states, the Energy Performance Preference is a hint to the CPU’s internal performance-selection logic. Higher energy-saving preference biases the CPU toward efficiency rather than maximum performance.
I changed the KDE power profile to:
power-saver
This resulted in the CPU policies reporting:
energy_performance_preference = power
while:
intel_pstate = active
no_turbo = 0
In other words:
Turbo was still allowed.
The important difference was how aggressively the CPU behaved during light workloads.
And the fan stopped cycling
This was the result that finally solved the problem.
Under the previous Balanced configuration, the machine repeatedly crossed the fan trigger:
39°C → 40–41°C → fan
Under Power Saver, the laptop could sit at:
CPU: 43°C
Fan: 0 RPM
and later:
CPU: 47°C
Fan: 0 RPM
That is the crucial observation.
The fan was not simply turning on because the CPU reached 40°C.
The CPU could reach 47°C and the fan could remain completely off.
The change was the processor’s power/performance behaviour, not simply a lower temperature.
This strongly suggests that the Balanced profile was allowing short performance/power excursions that interacted badly with the Dell firmware’s fan-control behaviour. Those excursions were enough to repeatedly trigger the noisy fan state.
With the stronger energy-saving preference, the CPU stopped bouncing through whatever condition was causing the firmware to engage the fan.
My final configuration
For this particular Latitude 7450, the configuration that eliminated the noise was:
Dell BIOS thermal mode: Quiet
Kubuntu power profile: power-saver
intel_pstate: active
Intel EPP: power
Turbo: enabled
The laptop can still boost when needed because Turbo is not disabled.
This is therefore very different from simply putting the CPU into a permanently low-performance mode.
The goal is not:
Never let the CPU run fast.
The goal is:
Don’t let trivial desktop activity repeatedly trigger an unnecessarily aggressive fan state.
What other Latitude 7450 owners should check
If a Latitude 7450 is exhibiting similar behaviour under Linux, I would start with temperature and power-management diagnostics rather than immediately trying to override the fan.
Check the thermal readings:
sensors
Look specifically at:
Package id 0
CPU Fan
NVMe
Dell SMM temperatures
Check whether thermald is running:
systemctl status thermald
Check the Intel P-state driver:
cat /sys/devices/system/cpu/intel_pstate/status
Check whether Turbo is disabled:
cat /sys/devices/system/cpu/intel_pstate/no_turbo
Check the available Intel energy/performance preferences:
cat /sys/devices/system/cpu/cpufreq/policy*/energy_performance_available_preferences
Check the current setting:
cat /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference
On my machine, the available options included:
default performance balance_performance balance_power power
and setting the KDE profile to Power Saver resulted in:
power
across the CPU policies.
The Linux kernel documentation specifically recommends keeping energy/performance hints consistent across CPUs when possible, because tasks can migrate between CPUs.
A possible middle ground
Full Power Saver may not be necessary for everyone.
On my 7450, the CPU supports:
balance_power
as well as:
power
That suggests a useful experiment for somebody who wants more responsiveness than full Power Saver but still wants to avoid triggering the fan.
For a temporary test:
for f in /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference; do
echo balance_power | sudo tee "$f" >/dev/null
done
Then watch the fan over several minutes.
If the fan remains quiet, balance_power may provide a better performance/noise compromise.
If the fan starts the old cycle again, power is the more reliable setting for this particular machine.
I would treat this as a per-machine experiment rather than a universal rule.
Don’t blindly experiment with Dell SMM commands
This deserves emphasis.
Linux’s Dell SMM documentation states that the SMM interface was reverse-engineered because Dell does not publish the necessary documentation. It also explicitly warns that some automatic-fan-control commands can have severe side effects on machines that do not support them.
The documentation also describes two different mechanisms for returning fan control to the BIOS, depending on the machine. A pwm1_enable=2 solution therefore cannot simply be assumed to work on every Dell.
In my case, the attempted pwm1_enable=2 write was rejected, so I stopped experimenting with undocumented SMM fan states.
That was the right decision.
BIOS updates still matter
Dell’s own troubleshooting documentation recommends checking the system BIOS when investigating fan noise or thermal problems.
My 7450 was already running BIOS 1.32.0, so this was not a case of simply needing an old BIOS to be updated.
Dell continues to publish BIOS updates for the Latitude 7450, so owners experiencing different symptoms should still check Dell’s current support page before assuming the firmware behaviour is fixed or identical to another machine.
Conclusion
The important finding from this investigation was not a magical fan command.
It was discovering that the fan problem was strongly coupled to CPU power/performance behaviour rather than simply CPU temperature.
On my Latitude 7450:
Balanced + Quiet
↓
CPU repeatedly crosses a narrow operating point
↓
fan repeatedly jumps to ~3000+ RPM
↓
noise
Changing to:
Power Saver
Intel EPP = power
Turbo still enabled
produced:
CPU can reach ~47°C
↓
fan remains at 0 RPM
↓
silence
For anyone with a Dell laptop running Kubuntu, this is therefore worth trying before resorting to aggressive fan-control hacks.
The practical lesson is:
When a Dell laptop’s fan is cycling on and off at low temperatures, look at the CPU’s Energy Performance Preference and power profile, not just CPU utilization and temperature.
On this Latitude 7450, putting Intel’s EPP into its power setting solved the problem without disabling Turbo.