Fedora 44/KDE: Heat/Thermal management on a Dell laptop

,

Hi All… I’ve got a beefy Dell Precision 7780 laptop that runs hot when I boot up to Linux Fedora 44/KDE. I installed TLP, Thermald, and sensors.

Then, I found this website:

and cloned the project.

However, the author’s script to install a variable monitor called:
“Dell Laptop Thermal Management - Option D Installer”
had some script errors. I fixed one, but got stuck on the other.

His simpler, static install.sh script installed correctly and works.
But I’m still seeing temps that are a bit too high.

=> Does anyone have experience with the above thermal management scripts?

=> Are there better ways to manage overheating on a Dell laptop, running Fedora 44/KDE?

Thanks!

Peter Brown

His script works by changing the maximum frequencies the CPU is allowed to ramp up to.

if [ "$MODE" = "PERFORMANCE" ]; then
    # PERFORMANCE MODE: Maximum CPU utilization - Minimal throttling for peak performance
    # Note: 4.2 GHz allows single-core turbo; all-core naturally caps at ~3.8 GHz
    MAX_SUSTAINED_FREQ="3800000"  # 3.8 GHz (when locked, near max all-core performance)
    MAX_BURST_FREQ="4200000"      # 4.2 GHz (Single-core turbo max; all-core ~3.8 GHz)

[snip]

    MODE_NAME="PERFORMANCE"
else
    # NORMAL MODE: Balanced performance and thermal management
    MAX_SUSTAINED_FREQ="2600000"  # 2.6 GHz (when locked)
    MAX_BURST_FREQ="3700000"      # 3.7 GHz (Balanced turbo)

[snip]

    MODE_NAME="NORMAL
fi

If you want lower temps (and are prepared to put up with lower clock speeds and thus a slower laptop), adjust those numbers.

Reduce the max frequencies in thermal-manager.sh and adjust the thresholds, which I’ve elided from the output above but it’s all in one script and all in the same place. Lower thresholds, kicking in at earlier CPU loads, will effectively pull the handbrake on the CPU earlier and harder.

Adjust till you’re happy with the temps. Voilà

Hi Steve… thanks for the tops above. I’ll check them out…

However, I had trouble installing the option-d script.

In the script:

install-option-d.sh
which was recommended, per this comment:

  # Simple One-Command Installation for Option D (Recommended)
  # This is the optimal configuration: 3.5 GHz max, balanced thermal management

=> This line didn’t work, i.e. the file was not in /tmp/

  # cp /tmp/thermal-manager-option-d-fixed.sh /usr/local/bin/thermal-manager.sh

  So, I edited the script to find it here:

  cp ./scripts/thermal-manager.sh /usr/local/bin/thermal-manager.sh

=> Then, this section was problematic:

  # Create governor service
  echo "📦 Setting up powersave governor..."
  
  cp /tmp/set-governor.service /etc/systemd/system/set-governor.service

“set-governor.service” was not in /tmp, but also wasn’t in ./scripts/.
I didn’t see it in /usr/local/bin either.

In the online GIT repository, under the project’s systemd subdir,
there was a file called ‘bios-thermal-mode.service’
but I don’t think that was the same thing (i.e. needed a rename) but I’m not sure.

So, I couldn’t install the script above.

Did you manage to install the option-d script?

Thanks for any tips!

Peter

I didn’t install it, I just looked at the code on guthub.

I’ll clone the repo tomorrow and correct anything that is incorrect and I’ll sling it over to you.

Steve

Not sure about the script, but with a Latitude 5591 I set performance thermal profile (higher fan speeds/sooner activation) with native firmware interface:

echo 'performance' | sudo tee '/sys/firmware/acpi/platform_profile'

Used to be settable like this:

sudo smbios-thermal-ctl --set-thermal-mode='performance'

When set through firmware it persists through OS installs/applies everywhere.

Thanks, Steve!

That’s extremely helpful!!!

Peter

Thanks, Espionage724!

I’ll check it out.

Peter