How to prevent OS override of thermal trip points in Bios

Motivation

I noticed that my laptop is getting very hot in Linux (Ubuntu) but less so in Windows.
(I have dual boot)
I also noticed that my fan seems to run quite slowly in Linux, so the fan speed is not properly adjusted to temperature.

There are already some QAs on stackoverflow and elsewhere talking about thermal control tools in Linux / Ubuntu, and also a recent Kernel version where sensor data is not read successfully for the fan to start soon enough. I tried a lot of that, no success so far.

Observation

I noticed that my Bios allows to configure temperature trip points.

How to get there:

  • F2 on startup.
  • Shift-Ctrl-Alt-F7 to get advanced options.
  • Advanced > Thermal Configuration > Platform Thermal Configuration.

Here I can change trip point temperatures and fan speeds, and enable/disable trip points. See also Confusing description "Disable Active Trip Point" in Bios (double negation).

However:

  • Even if I set the trip point temperatures really low, the fan does not go to 100% speed.
  • In Linux, acpi -tci reports different trip point temperatures than what is configured in Bios.

My conclusion is that the OS overrides the thermal settings in Bios.
(This is also what others say in various comments on the web)

Question

Is there an option in Bios that would prevent OS override of thermal config?

If so:

  • How can I change the Bios config so that the fan starts at lower temperature, or so that it runs all the time?
  • What could be possible problems if I control fan speed in Bios instead of letting the OS do it?
  • Is 100% fan speed really the max, or does the fan run at higher speed if it's really hot?

Let's focus on the specific question, and not get distracted suggesting various Linux tools. There are already other threads for this!

My system

I have an LG Gram 17 2021.
My Bios says "Phoenix SecureCore Technology Setup".

I have a dual boot setup with Windows 10 and Ubuntu Linux. Mostly using Ubuntu.

Notes

I found some people suggest GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thermal.off=1" in /etc/default/grub. This is not a Bios setting, but I assume would have the same effect. Or I hope! I don't want to risk it though.

The problem with the Kernel update is discussed here: https://bbs.archlinux.org/viewtopic.php?pid=1987824#p1987824


I ran into the same issue and upgraded to the 5.15 kernel, and now my lg gram is able to run properly. I just followed a guide to installing the latest kernel here:
https://sypalo.com/how-to-upgrade-ubuntu

cd /tmp

Then download the latest kernel:

wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15-rc7/amd64/linux-headers-5.15.0-051500rc7_5.15.0-051500rc7.202110251930_all.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15-rc7/amd64/linux-headers-5.15.0-051500rc7-generic_5.15.0-051500rc7.202110251930_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15-rc7/amd64/linux-image-unsigned-5.15.0-051500rc7-generic_5.15.0-051500rc7.202110251930_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.15-rc7/amd64/linux-modules-5.15.0-051500rc7-generic_5.15.0-051500rc7.202110251930_amd64.deb

Install:

sudo dpkg -i *.deb

I had been messing with the bios settings as well, to no avail. On top of that I was getting thermal shutdowns after the computer woke from sleep.

This kernel should respect your settings and actually read and control temperature properly.