Keep Your ThinkPad Cool on Linux with ThinkFan

thinkfan malaysia setting

If you’re using a ThinkPad in a hot and humid country like Malaysia, you probably already know how quickly your laptop can heat up. Whether you’re compiling code, editing videos, or just having too many browser tabs open — things can get toasty fast.

Most ThinkPads come with decent thermal design, but by default, the fan control is conservative. Enter ThinkFan — a lightweight, flexible fan control daemon that gives you full control over when and how your fan spins.

In this blog post, I’ll show you how to set up ThinkFan properly and optimize it for the Malaysian climate, where temperatures frequently exceed 30°C.


✅ Why Use ThinkFan?

ThinkFan gives you:

  • Manual control of fan levels based on actual temperature readings
  • Better thermal management than default BIOS behavior
  • Quieter system during light usage
  • More aggressive cooling when needed

It’s especially useful for older ThinkPad models or systems that throttle too early or run too hot.


🧰 Prerequisites

Before starting, make sure:

  1. You are using a ThinkPad.
  2. You have installed ThinkFan (thinkfan) via your package manager.
  3. The thinkpad_acpi module is loaded with fan control enabled:
echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf
sudo modprobe -r thinkpad_acpi
sudo modprobe thinkpad_acpi fan_control=1
  1. Verify that /proc/acpi/ibm/fan exists:
cat /proc/acpi/ibm/fan

If you get a response, you’re good to go.


🔧 Configuring ThinkFan

Create or edit your config file:

sudo nano /etc/thinkfan.conf

Paste the following Malaysia-optimized config:

# Fan control interface for ThinkPad
tp_fan /proc/acpi/ibm/fan

# Temperature sensors (adjust if different on your system)
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon7/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon7/temp2_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon7/temp3_input

# Fan levels and temperature ranges (°C)
(1  0     48)      # Fan level 1 below 48°C
(2  48    58)      # Fan level 2 for light warmth
(3  58    65)      # Fan level 3 for typical usage
(4  65    72)      # Fan level 4 for medium load
(5  72    78)      # Fan level 5 for gaming or heavy usage
(6  78    83)      # Fan level 6 for high temps
(7  83  32767)     # Max fan speed for very high temps

This setup ensures that your fan stays quiet under light usage, but kicks in earlier and harder once temps climb — ideal for a warm country like Malaysia.


🚀 Starting ThinkFan

Enable and start the ThinkFan service:

sudo systemctl enable --now thinkfan

Monitor its activity:

sudo journalctl -u thinkfan -f

You should see logs like this:

Temperatures(bias): 50(0), 49(0), 50(0) -> Fans: level 2
Temperatures(bias): 66(0), 63(0), 67(0) -> Fans: level 3

This means it’s working and adjusting your fan dynamically.


❗ Tips for Stability

  • Don’t use thinkfan -n directly unless testing. Let systemd handle it.
  • Avoid setting temperatures too low unless you’re okay with constant fan noise.
  • If fan control stops working after suspend/resume, consider a udev or systemd resume hook to reload thinkpad_acpi.

Optional: Use ThinkFan-UI for a GUI Experience

If you prefer a graphical interface, check out ThinkFan-UI on GitHub. It lets you:

  • View real-time temperatures
  • Monitor fan levels visually
  • Toggle daemon control manually
  • Customize profiles easily
image-12 Keep Your ThinkPad Cool on Linux with ThinkFan

☁️ Final Thoughts

ThinkFan is a must-have for ThinkPad users who want quieter systems and better thermal performance. With a little configuration, you can make your laptop behave much better — and cooler, especially in Southeast Asia’s heat.

If you live in a climate like Malaysia, don’t settle for the default BIOS fan behavior. Take control — and give your laptop the cooling it deserves.

For more info, visit:

  1. https://github.com/vmatare/thinkfan
  2. https://github.com/zocker-160/thinkfan-ui

Post Comment

You May Have Missed