dasharo-issues icon indicating copy to clipboard operation
dasharo-issues copied to clipboard

Throttling temperature as UEFI setting

Open wessel-novacustom opened this issue 1 year ago • 5 comments

The problem you're addressing (if any)

Multiple people have different preferences when it comes to thermal throttling. Some prefer the laptop to be absolutely silent, while others prefer maximum performance.

Describe the solution you'd like

I would like to have a UEFI setting where you can set the throttling temperature. I am not sure about the settings one should be able to set, but I was thinking about 70/75/80 (default)/85/90.

Where is the value to a user, and who might that user be?

Users can choose between better performance by selecting a higher throttling temperature and a more silent computer by selecting a lower throttling temperature.

Describe alternatives you've considered

A software solution, but this doesn't seem to be a decent solution for me. A custom build with , but this is hard to get for regular end users that don't have much experience with firmware building.

Additional context

It looks like the throttling temperature can easily be set in GNU/Linux:

https://github.com/Dasharo/dasharo-issues/issues/596#issuecomment-1884657279

I'm not sure though how persistent this would be?

wessel-novacustom avatar Jan 10 '24 11:01 wessel-novacustom

i can set this permanent with a systemd service, but what are the parameters? echo 25 | sudo tee /sys/class/thermal/cooling_device18/cur_state is less fan default on the nv40 notebook is 20 (and too loud) 25 is better, but what about 30? I do not find a link between these numbers(20,25,30,,,) and the temp.

ubuntushopdoteu avatar Feb 12 '24 17:02 ubuntushopdoteu

@ubuntushopdoteu these values are just an offset from TJmax temperature (or critical temperature when we refer to ACPI cooling devices) when the CPU should start throttling. TJmax is the junction temperatures, product-specific. E.g. if TJMax=100 Celsius degrees, an offset of 20 would mean the throttling start temperature would be 80 Celsius degrees.

miczyg1 avatar Apr 23 '24 10:04 miczyg1

You can also use turbostat -T [temperature] to set the desired temperature directly.

mkopec avatar Apr 23 '24 10:04 mkopec

You can also use turbostat -T [temperature] to set the desired temperature directly.

Is that possible in Qubes OS, too?

wessel-novacustom avatar Apr 23 '24 13:04 wessel-novacustom

In Qubes OS, you don't have access to the physical CPU. You can't change the speed, without using the xenpm util, you also can't read the core temperature.

renehoj avatar Apr 23 '24 16:04 renehoj

The first release with this feature is scheduled for release today. Closing as completed.

mkopec avatar Jul 18 '24 15:07 mkopec