WARNING - WARNING - WARNING - WARNING
This app disables the internal thermal fan controls. Watch your temperatures so that you do not fry you machine. You can damage you machine with this!
This C# app lets you control the fans on some dell laptops. The main purpose is to enable a much more silent laptop. E.g. the fans always spin when an USB-C dock is used etc.
This app uses the driver https://github.com/424778940z/bzh-windrv-dell-smm-io, without this work the whole control would not be possible.
For linux dell fan control is possible for quite some time via i8kutils.
For windows the situation is a bit trickier: the fan can only be controlled with a special kernel driver. Since Windows 10, version 1607 kernel drives must be signed or they will not load, at least when not without disabling the "Driver Signature Enforcement" via ´bcdedit -set TESTSIGNING ON`.
To overcome the signed driver limitation i used WindowsD, which may be reported as malware by antivirus software.
Furthermore driver only enables three fan speeds (off, 50%, 100%). See vitorafsr/i8kutils#5 for more details.
To complete remove the service execute this in an elevated prompt
sc delete BZHDELLSMMIO
In the default configuration the fans kick in when the CPU reaches 55 °C. First the quieter GPU fan will kick in, when 60 °C are reached the CPU fan kicks in too.
<DellFanCtrl pollingInterval="1000" minCooldownTime="30">
<!-- CPU -->
<FanOne active="1">
<TemperatureThresholdZero CPU="50" GPU="50"/>
<TemperatureThresholdOne CPU="60" GPU="60"/>
<TemperatureThresholdTwo CPU="70" GPU="70"/>
</FanOne>
<!-- GPU -->
<FanTwo active="1">
<TemperatureThresholdZero CPU="45" GPU="45"/>
<TemperatureThresholdOne CPU="55" GPU="55"/>
<TemperatureThresholdTwo CPU="65" GPU="65"/>
</FanTwo>
</DellFanCtrl>
To automatically start DellFanControl register it as a scheduled task.
You can find a configuration template in DellFanControl.xml.
If you installed/copied DellFanControl.exe to C:\Program Files\DellFanControl\DellFanControl.exe
you can just use execute schtasks.exe /create /tn DellFanControl /XML DellFanControl.xml
to create a suitable scheduled task.
Otherwise call taskschd.msc
, import DellFanControl.xml and adjust the path.
openhardwaremonitor/openhardwaremonitor#56
https://github.com/424778940z/bzh-windrv-dell-smm-io