# I8kfanGUI V3.1 User Manual

## Contents

1. Main window
2. Options window
3. Temperature control
4. Tray icons
5. System info window

## 1. Main window

Every time you start or open the I8kfanGUI program, you will see the main window:

The main window is divided into six parts:

1. Main operating mode
2. Manual fan control
3. Automatic temperature Control
4. Current system state
5. System state history
6. The buttons

### 1.1 Main operating mode

Here you can choose the main operating mode of I8kfanGUI:

- Show temperatures only, no fan control

  Enabling this option puts I8kfanGUI into a mode that prevents any kind of fan control through the program. All options and controls that provide fan control mechanisms become disabled and are no longer accessible by the user. This includes the manual fan control on the main window, the automatic temperature control, the setting of fan speeds upon autostart, and the 'fan forcing to high speed' option. You should enable this mode if you want to use I8kfanGUI to show the system status and temperatures only and to avoid taking over the fan control intentionally or by accident.
- Manual fan control

  Enabling this option activates the manual fan control part of the main window. See chapter 1.2.
- Automatic temperature control

  Enables the automatic temperature control and activates the temperature control part of the main window. See chapter 1.3
- Force fans to high speed

  This fan forcing option sets all fans to the highest speed and ensures that they keep running at the highest level. The fan forcing interval and which fans should be set to high speed can be configured on the display tab of the options window ('Fan setting enforcement').

### 1.2 Manual fan control

This part of the main window allows you to set the speed of upto two fans. To set a speed, enable the check box for the corresponding fan, set the speed with the slider, and click on the 'Apply' button. You can also set the speeds for both fans at the same time by enabling the check boxes for both fans.

Several Dell notebooks are equipped with only one fan. In this case, the second fan option is greyed out.

The two speeds 'Slow' and 'High' are preprogrammed speeds and are controlled by the BIOS. There's currently no known way to change the preprogrammed speeds to different ones (as an alternative see hardware sensor support).

The 'Maintain minimum fan speed' option ensures that the fans are always running at least at the specified speed. If the system or an external tool turns the fans off or to a lower state then they are reset to the speed that was last set in the manual fan control. This option checks the current fan speeds in a configurable interval and resets the fans to the applied level if the speed drops under the set level. The interval is set on the display tab of the options dialog ('Fan setting enforcement').

### 1.3 Automatic temperature control

Here you can quickly select a predefined policy set for the automatic temperature control. The shown level values are the currently active fan levels of the selected profile. The fan levels correspond with one of the four temperature range definitions for the respective thermal sensors. See here for further info about the temperature control.

### 1.4 Current system state

Here you can watch the current status of the sensors in your notebook. The values shown here correspond to the sensors that I8kfanGUI found on your system. You can enable and disable the sensor readings on the options window.

- CPU temp: the current CPU temperature
- GPU temp: the current temperature of the graphics chip
- Memory temp: the current temperature of the memory area
- Chipset temp: the current temperature of the chipset
- Hard drive 1/2 temp: the current temperature of the hard drive(s)
- CPU speed: the current speed of the CPU
- CPU load: the current workload of the CPU in percent
- Fan status: the current fan speeds (one of 'Off', 'Slow' or 'High') including the RPM and the hardware sensor speed (if detected)

The temperatures are shown in either °C or °F. You can change between the two units on the options window or by selecting the temperature unit from the tray icon context menu. The shown values are updated in fixed intervals which are adjustable on the options window, too ('Internal sensor reading'). You can trigger an immediate sensor update if you click on the 'Update' button.

In addition, the peak temperatures for each sensor are displayed under the current temperature values. The peak values are the highest temperatures that were reached since the start of the program. They can be reset by clicking on the 'Reset peak values' button.

### 1.5 System state history

This section shows the history of the sensor temperatures in addition to the CPU speed and load. The diagram is updated every time when the sensors are read and shown in the 'Current System State' area. The diagram scrolls from the right to the left. You can scroll through the values manually by moving the slider below the diagram to the left or right.

### 1.6 The buttons

On the upper right area of the main window are several buttons which perform different actions when clicked:

1. Close: puts the program into the system tray and hides the main window or shuts the program down (selectable on options window)
2. Options: opens the options window
3. Show Sysinfo: opens the sysinfo window
4. About: shows the credits along with links to project related web pages

## 2. Options window

On this window, you can tweak I8kfanGUI to your needs. The options are grouped into six categories:

1. Autostart
2. Temperature control (explained later)
3. Display options
4. Status reading
5. Direct fan control
6. Icon settings
7. Miscellaneous
8. Advanced

If you finished tweaking the options, click on the 'Ok' button to use the new options and to return to the main window. Clicking on 'Cancel' reverts to the previously selected options and takes you back to the main window, too.

### 2.1 Autostart options

If you want I8kfanGUI to start automatically on every reboot, then this is the place to enable this.

- Enable Autostart

  Enable this option to make I8kfanGUI start automatically on every reboot and to put itself into the system tray after the start.

- Autostart only when on AC

  No comment necessary, I guess.

- Enable automatic fan setting

  By enabling this option you can set the fans to a certain speed when the system restarts. This option is not available if either the fan forcing option, the temperature control or the observer mode is activated. The speeds set here are automatically controlled by the maintain minimum fan speeds option when the system boots up. See also the 'Maintain minimum fan speeds' option at the Direct fan control options.

  - Enable hardware sensor support

    If you enable this option, then the program tries to search for a supported fan sensor chip on the motherboard of your notebook (read the warning message carefully). If it detects a supported sensor chip, then you can set the speeds to one of 64 different levels instead of just slow, fast, off:

  - Terminate after starting fans

    Causes the program to terminate immediately after starting the fans.

### 2.2 Display options

Here you can change the displaying and updating of the shown values.

- Internal sensor reading

  This option enables the automatic reading of the internal sensors at specified intervals. On each update, the temperature and fan sensors are read and their values shown on the main window. This update interval is the base for the temperature control if the temperature monitor is activated. You can choose an interval from 1 to 5 seconds. The default is 2 seconds.

- Fan setting enforcement

  This interval controls the enforcement of the fan speeds for the 'maintain minimum fan speed' option, the 'force fans to high speed' option and for the fan speed configurations in the temperature monitor. On each update, the current fan speeds are evaluated and reset to the speeds determined by the respective option. The update interval for the fan speed enforcement can be adjusted from 1 second to 10 milliseconds. The lower the interval is, the higher the frequency of the fan speed checks and resets. With this option, you can minimize the interference of the BIOS that tries to set the fans in the background when the BIOS temperature trip points are reached. With this option, you can override the BIOS fan speeds and enforce your will upon the fans. The default is 200 milliseconds.

- Hard drive temp. reading

  This option sets the update interval for reading the hard drive temperature. The harddisk temperature update interval can only be set in minutes to prevent a significant speed degradation when reading the hard disk's temperature. The reading of a hard disk temperature is a very complex task that taxes the system and can take upto a second or longer during which the drive can be unusuable for other programs. The interval can be set from 1 to 10 minutes. The default is 4 minutes.

- Enable status history diagram

  Turns the automatic displaying of the history diagram on the main window on and off. In the box next to this option, you can choose which values should be shown in the diagram. The CPU speed scaling option to the right sets a scaling factor for the CPU speed when it's shown in the diagram (i.e. a CPU speed of 1200MHz is displayed as the value 24 in the diagram when choosing the scaling factor 2, or as 36 with factor 3 etc.). This option makes it easier to see CPU speed changes of mobile processors in the status diagram. The color theme option lets you select the background color for the history diagram and the colors for the values shown in the diagram.

- Default temperature unit

  Sets the default temperature unit to either Celsius or Fahrenheit. This automatically converts all temperature values on the main window and on the temperature control option tabs to the selected unit.

### 2.3 Status reading options

Here you can select the temperature sensors and system values I8kfanGUI should read and display. The availability of the individual sensors depends on your particular notebook type and the BIOS version you are currently using.

- Read CPU/GPU/Memory/Chipset temperature

  Enables the temperature reading from the corresponding sensor. The program does not talk to the sensor chip on the motherboard directly. Instead, it tries to read the temperatures through a diagnostics interface which is provided by the BIOS. That's why this depends on the BIOS version. Some BIOS versions support reading certain sensors, others don't. As mentioned above, this also depends heavily on your specific notebook type.

  | The program automatically disables the GPU, Memory and Chipset temperature reading if it detects a BIOS version change (that means, if you flashed to a newer or a previous BIOS version). In this case you have to reenable the sensor reading options to see if they still work with the newer/older BIOS version.

- Read hard drive temperatures

  This option enables the reading of the temperature from upto two harddrives. You can choose the drives from the dropdown list boxes. By clicking on the button 'Redetect drives' you can trigger a reevaluation of the temperature reporting capabilities of the internal hard disks. This causes an immediate update of the hard disks that are available through the dropdown boxes for drives 1 and 2.

- Read fan speeds/status

  Selects the fans to read the speeds in RPM and the state from. The availability of these options also depends on the notebook type and BIOS version.

- Read CPU load

  This option enables the displaying of the current CPU load which can be used in the history diagram to observe CPU temperature or speed changes in correlation to the CPU load.

- Read current CPU speed

  The program can detect the current CPU speed by using one of three methods: it can ask the BIOS to report the current speed, it can ask Windows to do that (very unreliable!), or the program can calculate the current speed itself. The calculation consists of executing some loops and measuring the time the CPU needed to execute them. This time can then be converted into a MHz number. The realtime calculation method usually causes a 1-5 MHz deviation from the theoretical speed due to minimal timing differences. But it is a reliable alternative compared to the 'should-be' speed reported by the BIOS.

### 2.4 Direct fan control options

These options extend the manual fan control feature on the main window.

- Enable hardware sensor support

  If you enable this option, then the program tries to search for a supported fan sensor chip on the motherboard of your notebook (read the warning message carefully). If it detects a supported sensor chip, then the sliders for the fans on the main window change from the 'Slow', 'High', and 'Off' settings to sliders with 64 speed levels. On the main window, you can then try to set the fans' speeds in the range from off to the maximum speed they are capable of:

- Select fans for forcing to high speed

  Here you can select which fans should be used by the 'fan forcing to high speed' option. You can select both fans or only one of the two fans. If only one fan is selected, then the deselected fan will be controlled by the system itself.

### 2.5 Icon settings

On this option tab you can enable and configure the tray icons for showing current system information.

- Status tray icon

  Here you can specify what values to show in the status tray icon. You can choose upto two different values for the tray icon. The two options determine which value to show in the upper and lower part of the icon, respectively. In addition to the values you can select in which color the status icon should be displayed in the system tray. See chapter 4 for further info about tray icons.

- Enable second status tray icon

  This option activates a second status tray icon. You can choose upto two more system values to show in the additional tray icon. You can also choose different colors for the second icon to differentiate it from the first status icon.

- Enable fan speed icon

  Enables the display of a third tray icon which shows the current fan speeds. You can also set individual colors for the fan speed icon. See chapter 4 for further info about tray icons.

- Tray icon fan speed divider

  Sets the divider to calculate the fan speed digits for the tray icon. When set to 100 (default), a fan speed of 5100 will be shown as '51' in the fan speed tray icon, and as a '510' when this option is set to 10.

- Show fan state instead of RPM

  Show the current fan states as either '00'(off), 'Sl'(Slow) or 'Hi' (High) instead of showing the RPMs.

### 2.6 Miscellaneous options

This tab lists some options that didn't fit onto the other ones.

- Debug Mode

  This mode enables the tracking of problems through log files which are generated by I8kfanGUI at runtime. The log file is called i8kfangui.log and is in the same directory the program is in. You should leave this option disabled unless you are trying to track problems and know what the messages in the log file mean. This option is enabled by default in debug versions of I8kfanGUI only.

- Minimize to tray when closing main window

  Enabling this option changes the behaviour of the 'Close' buttons of the main window. Instead of shutting down the program, the program minimizes itself to the tray. You can still shutdown the program by using the tray icon context menu.

- Enable workaround for I8100 BIOS A08

  This is a workaround for a bug (supposedly) in the I8100's A08 BIOS. That BIOS version caused the fans to rev up on high speed and after one or two seconds they switched back to the intended slow speed. This happened every time the BIOS or I8kfanGUI turned on the fans. This option suppresses the initial high speed of the fan, causing it to start at slow speed immediately. Previous versions of I8kfanGUI had this workaround integrated, so it's generally ok to leave this enabled (because maybe there are more BIOS versions out there that have a similar bug).

### 2.7 Advanced options

This option tab lets you define system specific settings. You should be extremely careful when changing these values !

- Number of fans

  Lets you define the number of fans you have installed in your system. When switching this to one or no fan the program disables all options related to the second or both fans, respectively.

- First fan BIOS index

  Sets the internal BIOS index for the first fan.

- Second fan BIOS index

  Sets the internal BIOS index for the second fan.

- Fan speed divider

  Sets the fan speed divider to compute the correct fan speed reported by the BIOS.

- First fan alias

  Sets an alias for the first fan. This can be any string you want like 'first', 'cpu', 'gpu' etc. to express the fan's position and/or purpose. All GUI strings related to fan 1 will be labeled with this alias.

- Second fan alias

  Sets an alias for the second fan. This can be any string you want like 'first', 'cpu', 'gpu' etc. to express the fan's position and/or purpose. All GUI strings related to fan 2 will be labeled with this alias.

- First fan sensor index

  Sets the hardware sensor index for the first fan.

- Second fan sensor index

  Sets the hardware sensor index for the second fan.

- CPU sensor index

  Sets the internal BIOS index for the CPU temperature sensor.

- GPU sensor index

  Sets the internal BIOS index for the GPU temperature sensor.

- Memory sensor index

  Sets the internal BIOS index for the memory temperature sensor.

- Chipset sensor index

  Sets the internal BIOS index for the chipset temperature sensor.

- CPU/GPU/Memory/Chipset temp. offset

  Sets compensation values for each of the sensors. This value is added to the temperature value obtained from the BIOS to correct temperature differences. For example, the GPU temperature may be the raw value obtained from a GPU core diode which differs from the one shown by the video driver. If the driver reported temperature is, for example, 8°C higher then put an '8' in the compensation field for the GPU sensor.

## 3. Temperature control

The temperature control can be used to automatically regulate the fans depending on the sensor temperatures. Basically, it allows you to define fan speeds which are to be used when the temperature of one or more sensor falls within four different temperature ranges.

The temperature control can be enabled and disabled from the main window or from the tray icon context menu (see chapter 4 for tray icons). There, you can also choose which policy is to be used for the temperature control. The policies themselves can be changed from the temperature control tab of the options window:

### 3.1 How does it work ?

The temperature control enables you to select temperature ranges and correspondig fan speeds for a maximum of upto four sensors. These are the four sensors I8kfanGUI can read: CPU, GPU, memory and chipset. You can cycle between the four sensors on the temperature control tab and enable the automatic control for any sensor individually. On each tab you can select four different temperature levels. Then you can assign any of the two fans or even both to the sensor and set the desired speeds for each of the four different temperature levels for the corresponding sensor.

The four different temperature levels each determine a temperature range and fan speeds to use for that range. In the above example picture for the CPU temperature sensor, the first temperature range starts at 65°C and ends at 50°C. If the CPU temperature reaches 65°C, the temperature control sets the first fan to slow speed. If the temperature reaches 50°C or goes below, then the fan is switched off. Instead, if the temperature rises further and reaches 75°C (the beginning of the second range), then the fan is still kept at slow speed. If the temperature rises further and reaches 80°C (level 3), fan 1 is set to high speed. The fan stays at high speed until the temperature reaches 75°C and the fan speed is set to slow speed again. The four temperature levels must have incremental turn on values, that means, on each level you must set ascending temperature ranges.

Also, each fan can be assigned to multiple sensors. In this case, the program automatically determines the correct speed to apply to each fan based on the reported temperatures of the sensors and based on the sensor-fan-assignments. For example, if the current CPU temperature suggests to set the speed of fan 1 to slow, but according to the GPU temperature, the same fan should be set to high speed, then the program sets fan 1 to high speed. So the program will always set the fan speed to the highest value after evaluating the temperatures, range settings and fan settings for all sensors a particular fan is assigned to.

You can enable/disable sensors, change the ranges and fan speeds and fan-sensor-assignments at any time to suit your needs. To make switching between different range sets, fan-sensor-assignments and fan speeds easier, the program stores the sensor control configurations in a policy. There are four policies available which you can use to define separate configurations. You can switch between the policies by selecting one from the dropdown list box next to 'Select temperature policy:'. When you change a sensor's configuration, the changed values will get stored in the currently selected policy.

You can change the names of the policies by clicking on the 'Rename policies' button. This opens the 'Rename policies' window with the current policy names:

The temperature control automatically forces the fans to the configured fan speeds. This prevents an external entity from changing the fan speeds if the temperature monitor is activated. The interval that controls the forced fan speed updates can be configured on the display tab of the options window ('Fan setting enforcement').

If you terminate the program while the temperature control is active, then the BIOS' thermal management takes back the control over the fans. To force the control back to the BIOS immediately, you can press the 'Fn' key and the 'Z' key simultaneously.

### 3.2 Enable hardware sensor support

If you enable this option, then the program tries to search for a supported fan sensor chip on the motherboard of your notebook (read the warning message carefully). If it detects a supported sensor chip, then the dropdown boxes for the fan speeds change from the usual 'Slow', 'High', etc. to numerical boxes where you can set the fan speeds to upto 64 speed levels:

With this option enabled, the temperature control may not be able to enforce the configured fan speeds. This relies on the implementation of the hardware sensor support. It is heavily recommended that you first make some experiments with this option and the temperature ranges and fan speed levels on your particular notebook to learn if it works ok (keep a close eye on the sensor temperatures !).

| You may experience some weird fan behaviour with the hardware sensor support enabled !

## 4. Tray icons

I8kfanGUI automatically puts an icon in the system tray which, by default, shows the current CPU temperature:

When you hover the mouse pointer over the icon, you get a quick info about the current temperatures and other system data:

When you click on the icon with the right mouse button, you get a menu which provides you with quick access to the most important program options:

From this menu or from the options window you can select a second value to show up in the tray icon. Also, you can enable two more icons: one for additional system info and another one to show the current fan speeds. This will look like this:

On the above picture, you see that the main tray icon shows the CPU and GPU temperature and the second icon shows the current CPU speed and load. Hovering the mouse pointer over the fan icon to the right of the two system status icons shows you the current fan speeds:

If the program can read the fan speeds as RPM, then they are shown with the divider from the icon settings options window applied. If the program can read the fan status only, then the speeds are shown as either '00' (off), 'Sl' (slow), or 'Hi' (high). If the program can read neither the fan RPM nor the fan status, then the fan status is shown as '--' in the fan speed icon.

## 5. System info window

This window opens when you click on the sysinfo button on the main window. It has three tabs to show different info of your system components. This first tab shows general system information obtained from the BIOS:

This tab shows specific info about the processor installed in your system.

The third tab shows general harddisk data. You can choose which drive's data to show from the dropdown list box if you have two or more internal drives.

Last Update: February 15th, 2007 by Christian Diefer