Jeśli podczas pracy na laptopie Dell zauważymy zbyt wysokie temperatury, możemy spróbować je obniżyć. Mamy do wyboru dwa rozwiązania.
Częścią wspólną każdego z tych rozwiązań jest załadowanie modułu i8k. Aby to zrobić możemy skorzystać z trzech metod.
1. Modyfikujemy plik /etc/miknitpcio.conf
MODULES="i915 i8k"
Wydajemy polecenie:
mkinitcpio -p linux
Wadą tej metody jest nieco dłuższy start kernela.
2. Tworzymy plik /etc/modules-load.d/i8k.conf z następującą zawartością:
i8k
3. Kompilujemy własny kernel i domyślne ustawiania dotyczące modułu
CONFIG_I8K=m
zmieniamy na następujące:
CONFIG_I8K=y
I. Korzystamy z i8kutils
1. Instalujemy narzędzie i8kutils:
pacman -S i8kutils
2. Tworzymy plik /etc/default/i8kmon z zawartością sugerowaną przez polecenie man i8kmon
set config(0) {{0 0} "-"1 60 "-"1 65}
set config(1) {{1 0} 50 70 55 75}
set config(2) {{1 1} 60 80 65 85}
set config(3) {{2 2} 70 128 75 128}
3. Wydajemy polecenia:
systemctl enable i8kmon
systemctl start i8kmon
Wadą tego rozwiązania jest dość głośna praca wentylatora - poprzednio nie było go słychać wcale (stąd wysokie temperatury) - początkowo może to nieco irytować.
2. Korzystamy z fancontrol
Fancontrol jest częścią lm_sensors. Jego skonfigurowanie jest bardzo proste. Musimy wydać polecenie:
pwmconfig
Musimy odpowiadać na pytania zadawane przez prosty kreator - dotyczą one oczekiwanych progów.
W rezultacie otrzymamy mniej więcej taki plik /etc/fancontrol:
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon0=
DEVNAME=hwmon0=i8k
FCTEMPS=hwmon0/pwm2=hwmon0/temp1_input
FCFANS= hwmon0/pwm2=hwmon0/fan2_input
MINTEMP=hwmon0/pwm2=20
MAXTEMP=hwmon0/pwm2=50
MINSTART=hwmon0/pwm2=150
MINSTOP=hwmon0/pwm2=100
MINPWM=hwmon0/pwm2=45
MAXPWM=hwmon0/pwm2=150
Następnie wydajemy polecnia:
systemctl enable fancontrol
systemctl start fancontrol
W przypadku fancontrol praca wentylatora jest cicha - jednak jego działanie jest odczuwalne:
[lucjan@archlinux ~]$ sensors
i8k-virtual-0
Adapter: Virtual device
fan2: 91800 RPM
temp1: +37.0°C
temp2: +40.0°C
temp3: +34.0°C
temp4: +16.0°C
acpitz-virtual-0
Adapter: Virtual device
temp1: +37.5°C (crit = +99.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +38.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +34.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +35.0°C (high = +100.0°C, crit = +100.0°C)
Zdecydowałem się na korzystanie z drugiego sposobu. Póki co temperatury są odczuwalnie niższe.