Jump to content

FanControl, my take on a SpeedFan replacement

On 1/4/2022 at 9:16 AM, Hairless Monkey Boy said:

Asus has an "EC Sensor" that is currently not supported by LibreHardwareMonitor and so is not supported by FanControl. This prevents some temperature sensors from being used as a source on Asus boards.

 

See here:

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/282

V101 dropped and suddenly all my chassis and CPU fans and many temperatures show up.  Nothing shows in LibreHardwareMonitor, but all is well in the Fan Control world.

 

Add Asus Tuf Gaming X570 Plus to the compatible list.

Link to comment
Share on other sites

Link to post
Share on other sites

So a potentially interesting Windows situation popped up.  I created a Task in Task Scheduler to start the program.  It wouldn't run under a regular user, so I gave it an Admin login.

 

It runs, but if I'm not an Admin, the task bar icon doesn't show.  Any ideas on how to get the icon to show?

Link to comment
Share on other sites

Link to post
Share on other sites

So i was getting fedup of the msi centre for my s360 aio.
Would this work for that one?

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/10/2022 at 9:47 PM, Rem0o said:

@Sid Vicious @tks1991 @InterClaw

Fan curves based on power consumption is a false good idea. Trust me. You think temps are erratic? Take a look at a power consumption graph. Also, a single core boost doesn't consume that much power, but results in really temps.

There is no point in trying to "catch" those brief 1-2 seconds temperature spikes, as it takes that much time at least to ramp up your fans anyway, and maybe 3-4X that time for that speed increase to take effect on temperatures.  If you find those spikes too high for your liking, increase your idle fan speeds. No other amount of fan tuning will fix it, you'll have to invest in a bigger cooler with a higher thermal mass.

I've tuned a FanControl setup with a 3900x with a fairly underpowered cooler and was able to make a fairly decent FanControl config for it.

Temps are indeed very erratic in their behavior depending on boost on these CPUs.

 

Solution? A higher that I usually like minimum fan speed, combined with an average custom sensor with the CPU relevant sensors + time average custom sensor over 3-4 seconds. 
The following screenshot is an example I just made on an Intel computer to showcase what it looks like:


image.png.53b8c54f394c3d564d574ba2448b45f6.png
 

Maybe i didnt explained myself well enough. Eng is not my native tongue. Im not trying to counter spikes.

Let me give you specific example and why this is necesarry and it would work:

800rpm fixed.

Gaming load: 15-30% usage, hovers around 90w, peaks at 110w. Temps hover around 73-75ºC, and peaks at 82ºC Voltage 1.33-1.44

Cinebench multicore: 100% usage, 165w, 80-81ºC Voltage 1.09

 

 

max rpm (nh d15 + sw3 140mm high speed, 1500rpm and 1600rpm respectively)

Gaming load: 15-30% usage, hovers around 90w, peaks at 110w. Temps hover around 71-74ºC, and peaks at 80ºC. Voltage 1.33-1.44

Cinebench multicore: 100% usage, 165w, 69-70ºC.Voltage 1.09

 

Because of the load, and the temp target, at low loads the cpu eats so much voltage, that it doesnt really matter how much cooling i throw at it, it's gonna stay in those temps, because the heat it's so concentrated that it doesnt reach the cooler fast enough, but with a 100% load, heat transfer is much better, so RPM changes do impact temps in a meaningful way.

 

Now..... segmenting a curve based on wattage would totally work (a graph would work perfectly). For example: 0 to 60w, 500rpm, 60-110w 800rpm, 110w+ 1300rpm or max and to counter spikes, you would add delay.

It would look like this 

Screenshot_4.jpg

This is true for all ryzen 5000, and more prevalent in parts like 5900x and 5950x, and unless you edit power limits and tune a very agresive negative CO, the CPU will consistently aim for 70-80ºC range... and there's no curve you can design for it, even with delay......

Link to comment
Share on other sites

Link to post
Share on other sites

Malwarebytes detects everything associated with the program (file, process, System32 file, auto-start registry entries) as Malware.AI.1699155215...

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/23/2022 at 10:02 AM, EvilDevil said:

Malwarebytes detects everything associated with the program (file, process, System32 file, auto-start registry entries) as Malware.AI.1699155215...

Me: What's malware?

Malwarebytes: EVERYTHING!

xD

Link to comment
Share on other sites

Link to post
Share on other sites

Hi pal!

Good job with the project.
I would be interested into writing a plugin to get that thingy going with Kraken X3 and other liquid coolers (mainly to regulate fan speed based on liquid temperature).
Should be easy if one could add python bindings to the thingy (or at least CLI invocation).

image.png.f24d9d747d13400881fc43e9f84659ae.png

Where is the source code (or at least plugin API) available?

Link to comment
Share on other sites

Link to post
Share on other sites

@wege_smalec

AFAIK, NZXT stuff is supported. Make sure you got the controller section ticked "on" in the sensor settings.

Link to comment
Share on other sites

Link to post
Share on other sites

Fantastic piece of software @Rem0o and almost working perfectly for me.  The one problem I have is that I am detecting water temp using my Aquacomputer D5 Next Pump.  When I run the assisted setup (and ensure that I check to detect "controller" sensors) the pump and corresponding temp is detected perfectly and I was able to setup a functioning curve.

 

The problem comes after a reboot ... the only way I can find to get the pump sensor detected again is to run the assisted setup again.  I've tried the delay startup options from 1, 30 and 60 seconds but that didn't solve it.  I've also noticed that if I close the software from the system tray and re-open it, the pump sensor is not detected again.

 

Image shows the errors thrown.  Any ideas, please?

Missing sensors at boot.JPG

 

EDIT:  I see from these links that the D5Next was added to LHM just over a year ago.  https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/issues/357 https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/pull/358 I could be wrong but does this mean the issue is with LHM implementation in the dll or with Fan Control's usage of the dll on startup?  I'm not a coder or anything, but I was thinking that it may be the latter because the LHM dll seems to do its job in detecting the D5next when 'forced' ... it's at reboot where things go wrong?

Edited by chilliking
Libre Hardware Github link
Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, chilliking said:

it's at reboot where things go wrong?

It's always at reboot where things go wrong.

Link to comment
Share on other sites

Link to post
Share on other sites

51 minutes ago, Rem0o said:

It's always at reboot where things go wrong.

Excuse my naivety - does this mean it's something I need to take up with the developer of LHM? 

Link to comment
Share on other sites

Link to post
Share on other sites

On 8/31/2019 at 3:01 PM, Rem0o said:

 

 

Confirmed compatibility list from members

  Reveal hidden contents

AsRock H97M Pro 4
ASRock Steel Legend B450M

Asrock Z390 Mini-ITX

Asus Strix Z270G

Asus maximus ranger VIII 

ASUS MAXIMUS IV GENE-Z 
 

Gigabyte X470 Aorus Gaming 7

Gigabyte Z370 AORUS Gaming 5 (rev. 1.0)

Gigabyte X570 Gaming X


MSI MPG X570 GAMING PLUS

MSI Z390 Edge AC

MSI B450 Gaming Pro Carbon AC
MSI B450 Tomahawk MAX

MSI X470 Gaming Plus Max 

 

 

 

 

Can confirm that this works with MSI Z390-A Pro, AMD Radeon VII, Corsair chassis fans, and CoolerMaster Hyper 212 Black Edition, even with MSI Dragon center trying to control fan speed. 

This worked amazingly well to help me keep that Radeon VII cool. Before, I had my fan curve watching the internal air temp of the case, though that was not enough.
 

Spoiler

image.thumb.png.3030ea2e473b28c5cb371740876d6ad4.png

 

Link to comment
Share on other sites

Link to post
Share on other sites

@Rem0o well I would be happy to donate if the issue with detecting the D5Next gets fixed.  Until then, I cannot really use FC as I intended.

Link to comment
Share on other sites

Link to post
Share on other sites

@Rem0o

 

I've had an issue where since the latest update (103), FanControl keeps waking up my PC from sleep.

 

Here's my powercfg -lastwake

 

Wake History Count - 1
Wake History [0]
  Wake Source Count - 1
  Wake Source [0]
    Type: Wake Timer
    Owner: [PROCESS] \Device\HarddiskVolume3\Program Files\FanControl\FanControl.exe

 

Is this a bug, an issue on my end, or a way to prevent this? 

Link to comment
Share on other sites

Link to post
Share on other sites

On 8/31/2019 at 3:01 PM, Rem0o said:

______________________________

Version updated date: 01/05/2022

 

Current update version: 102
 

Main program

https://github.com/Rem0o/FanControl.Releases/releases

Direct Download

 

HwInfo sensors plugin

https://github.com/Rem0o/FanControl.HWInfo

Dell laptops plugin

https://github.com/Rem0o/FanControl.DellPlugin

______________________________

 

To run at startup: Use the new "Start with Windows" option in the left hamburger menu

______________________________

 

Tutorials:

 

 

 

 

MainUI.png.0ea3f37f3214049bf6471fe5cdc276e1.png

 

 

 

GraphDialog.png.5110decbebbe48bf39b3bb5b7565bb29.png

 

______________________________


       TLDR

______________________________

 

I built a new custom UI on top of OpenHardwareMonitor with additional features, mainly linear fan curves with custom temperature sources.

 

______________________________


     STORY

______________________________

 

As you guys may know, SpeedFan is sadly not updated anymore, so newer boards are not detected properly. 

 

The main feature I used was the custom fan curves with custom temperature sources. I used it to bind my case fans speed to the hottest component of my PC, my GPU. 

(My BIOS only supports CPU temperature as a temperature source for the PWM fans).

 

I searched around for an alternative software with this particular feature and only found a paid option (Angus Monitor).

 

However, I also came around this:


https://github.com/openhardwaremonitor/openhardwaremonitor

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor

 

The first link is an original project which could be downloaded here https://openhardwaremonitor.org/, but just like SpeedFan, the project is not updated anymore.

However, thanks to the code base being open sourced, there are a couple of active branches, LibreHardwareMonitor being the best one I found, supporting my MSI Z390 Edge AC board and being updated regularly.

OpenHardwareMonitor is divided into two parts, an API to interact with your hardware ( CPU, RAM, Fans... ) and a UI. The existing UI is a HWMonitor clone that allows to set a manual fan speed to any fan, but no temperature/speed fan curve here.

( sigh )

 

So I decided to make my own lightweight application with the OpenHardwareMonitorLib API, and here is what I got so far...        

 

Current features:

  • OTA update
  • Multi-config support with quick-switch from tray icon
  • Dark/light mode + colors
  • Graph fan curves
  • Linear fan curves
  • Flat fan curves
  • Mixed fan curves
  • Sync fan curves
  • Custom name for each fan / curve / control
  • Material UI ( thanks to http://materialdesigninxaml.net/ )
  • Smooth fan speed transitions
  • Custom temperature source
  • Automatic or manual matching between your controls and fan speeds
  • Activation% (dead zone) for each fan
  • Saves your current configuration and reload it on startup
  • Board support is updated whenever the API gets an update!

 

Please note that this is a small personal project. It works great for my needs but I didn't test it on a hundred different motherboards. Take it as it is. If it works on your current setup, well you got your fan control situation sorted at least until you change your motherboard!

 

If you want to help me out a bit or give me feedback, I included some links/button in the left hamburger menu out of the way to send me an email

or to pay me a 🍺 ... or 🍺🍺🍺.

 

I will also keep an eye on this thread to see how it goes.

 

Confirmed compatibility list from members

  Reveal hidden contents

AsRock H97M Pro 4
ASRock Steel Legend B450M

Asrock Z390 Mini-ITX

Asus Strix Z270G

Asus maximus ranger VIII 

ASUS MAXIMUS IV GENE-Z 
 

Gigabyte X470 Aorus Gaming 7

Gigabyte Z370 AORUS Gaming 5 (rev. 1.0)

Gigabyte X570 Gaming X


MSI MPG X570 GAMING PLUS

MSI Z390 Edge AC

MSI B450 Gaming Pro Carbon AC
MSI B450 Tomahawk MAX

MSI X470 Gaming Plus Max 

 

Enjoy!

 

 

 

does this work with amd gpu's?

 

Link to comment
Share on other sites

Link to post
Share on other sites

It feels like I have been looking for this software all my life. Or at least since my computers started coming with fan controllers... 😀 From the description, this is really a fantastic set of features, and I can't wait to get it working.

After loading the latest releases from the repositories at the very beginning of this thread and deploying the files as described and then unlocking the files in the "Plugins" folder, I still get the error described below. It's probably something basic but even after browsing this thread, I cannot figure out what the issue is. I definitely welcome some help.

 

When I refresh my sensor settings, I get a "HWInfo could not initialize" error. I attached the log file and screenshots.

 

Thanks for any help.

image.png.948263b2f00ebfd020dc03ff0ccb6af8.png

 

image.png.fb382432619b3de2de0ac0039fcf9426.png

 

image.png.47077d0e3143b080032e3204354a4804.png

log.txt

Link to comment
Share on other sites

Link to post
Share on other sites

I have a question. I don't know that much about fans. I downloaded this software and i clicked something that i don't know very well then i deleted this software. When i deleted it does my fan settings go default because i don't want to ruin my pc

 

Note: I think i clicked assited setup thing and i clicked something appears in the start like sensor settings and "The application will be refreshed." Can you help me?.

When i clicked something in the start it tested my fans then i canceled it.

@Rem0o

If deleting software does not reset the fan settings can you tell me how to do it?

If you want i can send screenshots from software and you can check if its default or not.

 

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, ghanistaken said:

 

If deleting software does not reset the fan settings can you tell me how to do it?

 

Restarting your computer or putting it to sleep will reset everything.

Link to comment
Share on other sites

Link to post
Share on other sites

40 minutes ago, Rem0o said:

Restarting your computer or putting it to sleep will reset everything.

Thank you for your answer. That is good to hear but if restarting computer resets everything then what is the  point of making some things to fans.

Don't get me wrong im just curious.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, ghanistaken said:

Thank you for your answer. That is good to hear but if restarting computer resets everything then what is the  point of making some things to fans.

Don't get me wrong im just curious.

You have to keep the software running all the time.

Link to comment
Share on other sites

Link to post
Share on other sites

I can't have done something that will affect the fans when the app is closed rihgt? You sure.

In other words, for a setting I made to work, the application must be opened. Is not it?

 

Because i formatted my pc. 

I guess it didn't change a setting in the bios or something?

 

@Rem0o

Link to comment
Share on other sites

Link to post
Share on other sites

27 minutes ago, ghanistaken said:

I can't have done something that will affect the fans when the app is closed, right?

Right.

28 minutes ago, ghanistaken said:

You sure.

Yes.

27 minutes ago, ghanistaken said:

In other words, for a setting I made to work, the application must be opened.

Yes.

26 minutes ago, ghanistaken said:

I guess it didn't change a setting in the bios or something?

Correct, it did not, and it does not.

BabyBlu (Primary): 

  • CPU: Intel Core i9 9900K @ up to 5.3GHz, 5.0GHz all-core, delidded
  • Motherboard: Asus Maximus XI Hero
  • RAM: G.Skill Trident Z RGB 4x8GB DDR4-3200 @ 4000MHz 16-18-18-34
  • GPU: MSI RTX 2080 Sea Hawk EK X, 2070MHz core, 8000MHz mem
  • Case: Phanteks Evolv X
  • Storage: XPG SX8200 Pro 2TB, 3x ADATASU800 1TB (RAID 0), Samsung 970 EVO Plus 500GB
  • PSU: Corsair HX1000i
  • Display: MSI MPG341CQR 34" 3440x1440 144Hz Freesync, Dell S2417DG 24" 2560x1440 165Hz Gsync
  • Cooling: Custom water loop (CPU & GPU), Radiators: 1x140mm(Back), 1x280mm(Top), 1x420mm(Front)
  • Keyboard: Corsair Strafe RGB (Cherry MX Brown)
  • Mouse: MasterMouse MM710
  • Headset: Corsair Void Pro RGB
  • OS: Windows 10 Pro

Roxanne (Wife Build):

  • CPU: Intel Core i7 4790K @ up to 5.0GHz, 4.8Ghz all-core, relidded w/ LM
  • Motherboard: Asus Z97A
  • RAM: G.Skill Sniper 4x8GB DDR3-2400 @ 10-12-12-24
  • GPU: EVGA GTX 1080 FTW2 w/ LM
  • Case: Corsair Vengeance C70, w/ Custom Side-Panel Window
  • Storage: Samsung 850 EVO 250GB, Samsung 860 EVO 1TB, Silicon Power A80 2TB NVME
  • PSU: Corsair AX760
  • Display: Samsung C27JG56 27" 2560x1440 144Hz Freesync
  • Cooling: Corsair H115i RGB
  • Keyboard: GMMK TKL(Kailh Box White)
  • Mouse: Glorious Model O-
  • Headset: SteelSeries Arctis 7
  • OS: Windows 10 Pro

BigBox (HTPC):

  • CPU: Ryzen 5800X3D
  • Motherboard: Gigabyte B550i Aorus Pro AX
  • RAM: Corsair Vengeance LPX 2x8GB DDR4-3600 @ 3600MHz 14-14-14-28
  • GPU: MSI RTX 3080 Ventus 3X Plus OC, de-shrouded, LM TIM, replaced mem therm pads
  • Case: Fractal Design Node 202
  • Storage: SP A80 1TB, WD Black SN770 2TB
  • PSU: Corsair SF600 Gold w/ NF-A9x14
  • Display: Samsung QN90A 65" (QLED, 4K, 120Hz, HDR, VRR)
  • Cooling: Thermalright AXP-100 Copper w/ NF-A12x15
  • Keyboard/Mouse: Rii i4
  • Controllers: 4X Xbox One & 2X N64 (with USB)
  • Sound: Denon AVR S760H with 5.1.2 Atmos setup.
  • OS: Windows 10 Pro

Harmonic (NAS/Game/Plex/Other Server):

  • CPU: Intel Core i7 6700
  • Motherboard: ASRock FATAL1TY H270M
  • RAM: 64GB DDR4-2133
  • GPU: Intel HD Graphics 530
  • Case: Fractal Design Define 7
  • HDD: 3X Seagate Exos X16 14TB in RAID 5
  • SSD: Inland Premium 512GB NVME, Sabrent 1TB NVME
  • Optical: BDXL WH14NS40 flashed to WH16NS60
  • PSU: Corsair CX450
  • Display: None
  • Cooling: Noctua NH-U14S
  • Keyboard/Mouse: None
  • OS: Windows 10 Pro

NAS:

  • Synology DS216J
  • 2x8TB WD Red NAS HDDs in RAID 1. 8TB usable space
Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Hairless Monkey Boy said:

Right.

Yes.

Yes.

Correct, it did not, and it does not.

Thank you for your help my friend. I just scared a bit.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×