This guide explains how to control fans on the Gigabyte AORUS 16X 9KG laptop using the gigabyte-laptop-wmi kernel driver.
The laptop's fans don't spin up until ~85°C, then go full speed causing thermal throttling or shutdown during gaming.
Install the gigabyte-laptop-wmi kernel driver which provides:
- Fan mode control (Normal, Silent, Gaming, Custom, Auto, Fixed)
- Custom fan speed (25-100%)
- Fan curve configuration
- Temperature monitoring via hwmon
- Ubuntu 22.04 (or similar GNU/Linux distribution)
- Root/sudo access
- Build tools (
build-essential,dkms)
sudo apt update
sudo apt install build-essential dkmscd /tmp
curl -sL https://github.com/tangalbert919/gigabyte-laptop-wmi/archive/refs/heads/master.tar.gz -o driver.tar.gz
tar -xzf driver.tar.gzThe DKMS config has a placeholder version that needs to be replaced:
cd gigabyte-laptop-wmi-master
sed -i 's/@PKGVER@/1.0.0/' dkms.conf
tar -czf driver.tar.gz Makefile aorus-laptop.c dkms.conf
cd ..
mv gigabyte-laptop-wmi-master/driver.tar.gz .sudo rm -rf /var/lib/dkms/aorus-laptop
sudo dkms ldtarball driver.tar.gz
sudo dkms build aorus-laptop/1.0.0
sudo dkms install aorus-laptop/1.0.0
sudo dkms autoinstall aorus-laptop/1.0.0dkms status
lsmod | grep aorus_laptopExpected output should show the module built and loaded.
All controls are located at:
/sys/devices/platform/aorus_laptop/
| Mode | Value | Description |
|---|---|---|
| Normal | 0 | Default mode |
| Silent | 1 | Quieter, less cooling |
| Gaming | 2 | Aggressive cooling |
| Custom | 3 | User-defined curve |
| Auto | 4 | Auto with custom max |
| Fixed | 5 | Fixed speed |
# Gaming mode (recommended for gaming)
echo '2' | sudo tee /sys/devices/platform/aorus_laptop/fan_mode
# Fixed speed at 50%
echo '5' | sudo tee /sys/devices/platform/aorus_laptop/fan_mode
echo '50' | sudo tee /sys/devices/platform/aorus_laptop/fan_custom_speed# Enable custom mode
echo '3' | sudo tee /sys/devices/platform/aorus_laptop/fan_mode
# Set fan curve index 1: 40°C = 30% speed
# Formula: (fan_speed * 256) + temperature
# Example: 30 * 256 + 40 = 7720
echo '1' | sudo tee /sys/devices/platform/aorus_laptop/fan_curve_index
echo '7720' | sudo tee /sys/devices/platform/aorus_laptop/fan_curve_data
# Repeat for other indices (2-15) as needed# Current fan mode
cat /sys/devices/platform/aorus_laptop/fan_mode
# Custom fan speed (if in Auto or Fixed mode)
cat /sys/devices/platform/aorus_laptop/fan_custom_speed
# Temperatures and fan RPMs
cat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/temp*_input
cat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/fan*_input# Via hwmon
cat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/temp1_input
cat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/temp2_input
cat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/temp3_input
# Via sensors (if configured)
sensorscat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/fan1_input
cat /sys/devices/platform/aorus_laptop/hwmon/hwmon*/fan2_inputIf Secure Boot is enabled, you need to sign the module:
# Sign the module
sudo modsign signing ~mok/M4.priv /var/lib/dkms/aorus-laptop/1.0.0/6.8.0-110-generic/x86_64/module/aorus_laptop.ko
# Or disable Secure Boot in BIOSAll write operations require root:
echo 'value' | sudo tee /sys/devices/platform/aorus_laptop/fan_modeCheck if module loaded:
lsmod | grep aorus_laptopIf not loaded manually:
sudo modprobe aorus_laptopIf DKMS doesn't work, manually load after each boot:
# Compile
cd gigabyte-laptop-wmi-master
make
# Load
sudo insmod aorus-laptop.ko
# Auto-load on boot
echo 'aorus_laptop' | sudo tee /etc/modules-load.d/aorus.conf
sudo cp aorus-laptop.ko /lib/modules/$(uname -r)/misc/
sudo depmod -aFor a graphical interface, see: https://github.com/jokelbaf/gigabyte-cc
Requirements:
gigabyte-laptopdriver loaded- Node.js 20+
- Rust + Tauri CLI
Note: The AORUS 16X 9KG may not be fully compatible with gigabyte-cc yet.
- The driver interacts with the laptop's embedded controller (EC)
- Changes persist across reboots (stored in EC)
- Works alongside Windows Gigabyte Control Center (dual-boot safe)
- Some features may vary by BIOS version