automatic commit
[breezed.git] / README.txt
1
2    Breezed is a small daemon to control the speed of the fan,
3    depending on the current temperature of the computer. I have tested
4    it only on a Thinkpad X61s.
5
6  * INSTALLATION
7
8    You can install it simply by running as root
9
10      ./install.sh
11
12    and de-install it with
13
14      ./remove.sh
15
16    You must have a configuration file in /etc/breezed.conf. Only one
17    is currently provided in the archive, and it corresponds to the
18    settings _I_ picked for _my_ Lenovo X61s.
19
20    I have no idea if these settings are safe on this laptop (I guess
21    so, since I have been using them for a few months now and it works
22    perfectly), and I suspect they are not safe for another laptop.
23
24  * ALGORITHM
25
26    Breezed scans the temperatures every 5s and sets the fan speed
27    according to a series of thresholds.
28
29    Unfortunately, if the fan speed is set directly according to these
30    temperature thresholds, it creates oscillations: The fan goes up,
31    temperature goes down, hence fan goes down, temperature goes up,
32    etc.
33
34    To mitigate such phenomenons, the daemon waits at least 30s after
35    the last change before reducing the fan speed, and the actual
36    thresholds to decrease the fan speed are two degrees below the
37    provided thresholds, which are used when increasing the fan
38    speed. This creates a stability area of two degrees, which seems to
39    be enough. Please let me know if you have problem with the
40    resulting overall behavior.
41
42  * ARGUMENTS
43
44    The breezed executable can read a configuration file (which is
45    /etc/breezed.conf by default, but that you can specify with
46    --configuration-file <file>) or get the various parameters on the
47    command line.
48
49    The thermal files can be specified either with the --thermal-files
50    options on the command line or the thermal_files keyword in the
51    configuration file. The provided value should be a comma-separated
52    list of filenames. When it want to pool the temperature, the daemon
53    will read those files and compute the maximum integer value they
54    contains.
55
56    The fan file can be specified with either --fan-file or the
57    fan_file keyword. The specified file will be used by the daemon to
58    control the fan speed by writing "level n" into it.
59
60    The temperature thresholds can be specified either with the
61    --temperature-thresholds argument, or with the
62    temperature_thresholds keyword in the configuration file. The
63    provided value should be a comma separated list of integers. The
64    first one is actually ignored and forced to -1. Each value states
65    which temperature should trigger the given level.
66
67    For instance, my X61s has 8 fan levels, from 0 to 7. The thresholds
68    I picked are -1,52,54,56,58,60,62,64. Hence, when the temperature
69    reaches 52C, the fan is set to level 1, when it reached 54C it is
70    set to level 2, etc. The maximum speed level 7 is chosen for any
71    temperature equal or greater than 64C. As said above, the
72    temperature to decrease the speed has to be two degrees below the
73    provided thresholds. Hence, the temperature of my X61s has to go
74    down to 50C (52C - 2) for the fan to switch off. Also, the daemon
75    waits at least 30s before reducing the speed of the fan.
76
77  * NOTES
78
79    I wrote this daemon for my personal usage on a X61s, and using it
80    may damage your hardware.
81
82    On Thinkpads you have to allow the module thinkpad_acpi to set the
83    fan speed, which is not allowed by default in Debian. To do so, you
84    have to have a file /etc/modprobe.d/thinkpad_acpi.modprobe
85    containing
86
87    ---------------------------- snip snip -------------------------------
88    options thinkpad_acpi fan_control=1
89    ---------------------------- snip snip -------------------------------
90
91 --
92 Francois Fleuret (francois@fleuret.org)
93 December 2008