This is how fan speeds should be managed using powersaved . I do not guarantee that it will work on any system, use it at your own risk. Some steps also might be superfluous.
More documetation (read it to be familiar with what will happen) before proceeding can be found here: http://powersave.sourceforge.net/powersave/Thermal.html
I will also show the readings on my system (HP 6820s, Core2 Duo T7250, 4GB Ram, ATI X1350, Kubuntu 8.04) in order to get a better idea of what you should see.
1. First of all, some check are necessary:
Code:
cat /proc/acpi/thermal_zone/*/trip_points
The result is some blah blah about trip points, temperatures etc. You should see something here, I still do not know if it is absolutely necessary for something to appear in order for thermal throttling to be supported on the system. My output:
Code:
critical (S5): 256 C
active[0]: 80 C: devices=C36B
active[1]: 72 C: devices=C36C
active[2]: 62 C: devices=C36D
active[3]: 45 C: devices=C36E
active[4]: 30 C: devices=C36F
critical (S5): 108 C
passive: 105 C: tc1=1 tc2=2 tsp=300 devices=CPU0 CPU1
critical (S5): 110 C
active[0]: 105 C: devices=C372
active[1]: 70 C: devices=C370
active[2]: 60 C: devices=C371
critical (S5): 108 C
passive: 60 C: tc1=1 tc2=2 tsp=300 devices=CPU0 CPU1
critical (S5): 110 C
In order to continue, you have to install powersaved:
Code:
sudo apt-get install powersaved
This might lead to the removal of apmd and powernowd, not to worry
. Check that powersaved is in the autostart process list and reboot.
2. The next step is to see which thermal device is actually active (in my case only one, the processor). To do this, do a:
My output:
Code:
Thermal Device no. 0:
Temperature: 53
Critical: 108
Passive: 105
Thermal Device no. 1:
Temperature: 57
State: ACTIVE
Critical: 256
Active 0: 80
Active 1: 72
Active 2: 62
Active 3: 45
Active 4: 30
Thermal Device no. 2:
Temperature: 50
Critical: 110
Thermal Device no. 3:
Temperature: 33
Critical: 108
Passive: 60
Thermal Device no. 4:
Temperature: 50
Critical: 110
Active 0: 105
Active 1: 70
Active 2: 60
So, in my case Thermal Device 1 is active. I did a double check with:
Code:
cat /proc/acpi/thermal_zone/TZ1/trip_points
Result:
Code:
critical (S5): 108 C
passive: 105 C: tc1=1 tc2=2 tsp=300 devices=CPU0 CPU1
3. The final step is editing the config file with the desired trip points
Code:
sudo kate /etc/powersave/thermal
There are several modifications that have to be done:
Code:
#Enable thermal management
ENABLE_THERMAL_MANAGEMENT="yes"
#Use fan to cool the device
COOLING_POLICY="active"
#Temperature Trip Points
THERMAL_CRITICAL_X="95"
THERMAL_HOT_X="90"
THERMAL_PASSIVE_X="40"
THERMAL_ACTIVE_X_0="50"
THERMAL_ACTIVE_X_1="62"
The X stands for the ACTIVE thermal device, in my case X is 1 so a line would look like
Code:
THERMAL_PASSIVE_1="40"
. The numbers are the temperatures. Basically, it means that starting from 40C the fans will start to spin, increasing speed when each trip point is reached.
I still do not know how how reliable the reported trip points (fan speeds) are. What I did was to take the results from the thermal device 0:
Code:
cat /proc/acpi/thermal_zone/TZ0/trip_points
which are:
Code:
critical (S5): 256 C
active[0]: 80 C: devices=C36B
active[1]: 72 C: devices=C36C
active[2]: 62 C: devices=C36D
active[3]: 45 C: devices=C36E
active[4]: 30 C: devices=C36F
and made the assumption that the active device has also 5 trip points (TZ0 is the thermal zone for Core0 and TZ1 is the thermal zone for Core1). What is confusing is that powersave -T reports Thermal Device 1 with the powr trip points of thermal zone 0, I suppose the system is not yet fully supported. Everyone is free to decide how many trip points to choose.
4. Last but not least, reboot.
You can test if it is working by monitoring temperatures while running glxgears or something like that.
Hope this helps.
UPDATE: Changed thermal variables to correct ones
Bookmarks