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.