Jump to content

FanControl, my take on a SpeedFan replacement

I came across this software a few days ago trying to find an alternative to Argus Monitor, and I just registered to say this is fantastic.

 

In case you are interested, system is:

Asus X370 Prime Pro  with Ryzen 9 3950X

Arctic Liquid Freezer II 280 + 2x Noctua NF-A15 140mm + 2x Thermaltake Riing 140 mm (3 pin) 

 

For some reason Argus Monitor crashes my system randomly (Kernel power error in the event log couple of times a day), but so far this one is running like charm. So far 3 days and counting. The fan control of the X370 Prime Pro bios can't use the CPU temperature sensor, and instead uses the socket sensor, and that way is really hard. This is a total ear saver. 

Link to comment
Share on other sites

Link to post
Share on other sites

I am getting a lot of errors with a recent update, related to the NZXT Kraken X3:

 

25/10/2020 1:59:09 PM: Unhandled exception in FanControl v1.0.0.0
25/10/2020 1:59:09 PM: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at LibreHardwareMonitor.Hardware.Controller.Nzxt.KrakenX3.Update()
   at FanControl.Domain.UpdateVisitor.VisitHardware(IHardware hardware)
   at LibreHardwareMonitor.Hardware.Computer.Traverse(IVisitor visitor)
   at FanControl.Domain.ComputerAccessLayer.d()
   at FanControl.Domain.ComputerAccessLayer.Update()
   at FanControl.Domain.ApplicationClock.a(Object A_0, ElapsedEventArgs A_1)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

 

I ran the latest source for Libre Harware Monitor and didn't get any exceptions both running the UI and from a console.

Looking at the KrakenX3 class that crashed the code was commited to Libre 5 months ago, so i'm not sure why it is crashing now.

 

Link to comment
Share on other sites

Link to post
Share on other sites

 @NextShift

 

That's odd, clearly it is crashing from LibreHardwareMonitor's update routine for the KrakenX3. The only array access in the code that might be making an out of bound is on line 154 here.

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/47ad851feb054246b03d9fcf5df9f041a0caa03d/LibreHardwareMonitorLib/Hardware/Controller/Nzxt/KrakenX3.cs

 

The pump value is read from the buffer and then used as an index in an array. The value is not bound checked or clamped, so it has to be this one.

Link to comment
Share on other sites

Link to post
Share on other sites

@Rem0o Hi From the UK, Just wanted to give a massive thanks (sent you a donation) for this software, it's just amazing and a huge leap from speedfan which i was trying to get my head around and was having a google and found this

 

working like a charm on my secondhand build

 

gigabyte 990fxa-ud3 r5

amd fx8350

 

Link to comment
Share on other sites

Link to post
Share on other sites

15 hours ago, Rem0o said:

 @NextShift

 

That's odd, clearly it is crashing from LibreHardwareMonitor's update routine for the KrakenX3. The only array access in the code that might be making an out of bound is on line 154 here.

https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/blob/47ad851feb054246b03d9fcf5df9f041a0caa03d/LibreHardwareMonitorLib/Hardware/Controller/Nzxt/KrakenX3.cs

 

The pump value is read from the buffer and then used as an index in an array. The value is not bound checked or clamped, so it has to be this one.

 

Seems odd that it didn't throw the exception when running from the latest source.

In any case, I added the clamp and substituted my rebuilt Libre dll in FanControl and it works, so i've submitted a PR to Libre.

Do you normally include the latest Libre build when you update or do I need to request it?

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, NextShift said:

Do you normally include the latest Libre build when you update or do I need to request it?

I try to always include the latest.

Link to comment
Share on other sites

Link to post
Share on other sites

On 10/26/2020 at 2:04 AM, Rem0o said:

I try to always include the latest.

@Rem0o Maybe it's just mi install but i was wondering if it's possible to speed up the programs launch on windows boot - it seems to be the last thing to load when my windows boots - was wondering a tweak to the task scheduler might sort it (change it from when user logs on to when windows loads maybe?)

 

thanks in advance

 

updated this morning and working well

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, btsam said:

@Rem0o Maybe it's just mi install but i was wondering if it's possible to speed up the programs launch on windows boot - it seems to be the last thing to load when my windows boots - was wondering a tweak to the task scheduler might sort it (change it from when user logs on to when windows loads maybe?)

 

thanks in advance

 

updated this morning and working well

I've applied a 30 sec delay at startup because on some cases the app was not starting properly if it tried to open to early. You can tweak it down manually in the Task Scheduler in the "triggers" section.

Link to comment
Share on other sites

Link to post
Share on other sites

About half the time when I boot up, FanControl does not open correctly but it is visible in the Task Manager where I have to kill it and manually relaunch it.

Should I increase the startup delay?

Is there any way to debug this?

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, NextShift said:

About half the time when I boot up, FanControl does not open correctly but it is visible in the Task Manager where I have to kill it and manually relaunch it.

Should I increase the startup delay?

Is there any way to debug this?

This is the kind of behavior I was trying to overcome with the 30 secs delay.

Link to comment
Share on other sites

Link to post
Share on other sites

Hey I just downloaded the application yesterday and it was working just fine. I powered down my computer for the night and turned it on this morning, however it is not starting upon startup. It does not start when I launch it manually now either. Yesterday it would at least give a icon in my taskbar in the bottom right corner but nothing now. I did notice in task manager that it shows up as a background process for just shy of a second and disappears. Any suggestions on how to resolve this? 

 

EDIT: I just fixed the issue. weirdly enough the application launcher was gone from my fan controller folder. I still had the zip file from when I downloaded it yesterday and copy and pasted the application launcher from there and it populated my old settings.

Link to comment
Share on other sites

Link to post
Share on other sites

New poster here, firstly want to thank the author for creating this software! I can finally have some intelligent control to the case fans in my PC, and it is much quieter as a result! Works well on my Asrock Z68 Extreme4 Gen3 (uses a Nuvoton NCT6776F controller) Even when SpeedFan was supported, it was always a bit...messy. This is MUCH nicer!

 

I know this has already come up, but I too would desire a curve setting for a fan to aim for a certain temperature, and increase or decrease speed to maintain it. AMD drivers used to have this function for their GPUs but it was removed, and my motherboard's BIOS will do this for the CPU (but the hysteresis is extremely conservative - it's like 1% every 2 seconds and it's not adjustable). 

 

Also, currently FanControl is not able to control the fan speed on my AMD Vega 56. I know that this is because LibreHWMonitor itself can't, and I am trying to figure out why but I'm not a real programmer :P. My hope is that the OverDrive5 API can no longer or never could control fan speed on Vega, but OverDriveN or OverDrive8 might... the worst case scenario is that the API no longer offers a way to directly control fan speed at all, and will only accept parameters for what the driver considers a "curve". It would be nice if I could find open source software that *does* successfully control fan speed on Vega for comparison.

Link to comment
Share on other sites

Link to post
Share on other sites

Amazing software, i was looking for an option for my old motherboard. Simple and functional!

Confirmed compatibility Gigabyte B85M-D3PH.

 

I wonder if it will work with Chinese Boards, they don't have any "official" software for fan control.

Link to comment
Share on other sites

Link to post
Share on other sites

On 11/1/2020 at 4:46 PM, TwistedKestrel said:

New poster here, firstly want to thank the author for creating this software! I can finally have some intelligent control to the case fans in my PC, and it is much quieter as a result! Works well on my Asrock Z68 Extreme4 Gen3 (uses a Nuvoton NCT6776F controller) Even when SpeedFan was supported, it was always a bit...messy. This is MUCH nicer!

 

I know this has already come up, but I too would desire a curve setting for a fan to aim for a certain temperature, and increase or decrease speed to maintain it. AMD drivers used to have this function for their GPUs but it was removed, and my motherboard's BIOS will do this for the CPU (but the hysteresis is extremely conservative - it's like 1% every 2 seconds and it's not adjustable). 

 

Also, currently FanControl is not able to control the fan speed on my AMD Vega 56. I know that this is because LibreHWMonitor itself can't, and I am trying to figure out why but I'm not a real programmer :P. My hope is that the OverDrive5 API can no longer or never could control fan speed on Vega, but OverDriveN or OverDrive8 might... the worst case scenario is that the API no longer offers a way to directly control fan speed at all, and will only accept parameters for what the driver considers a "curve". It would be nice if I could find open source software that *does* successfully control fan speed on Vega for comparison.

I use Overdriven tool to run my V56, works fine to control all aspects of the card except of course RGB. It's not pretty software but it works well. I mainly wanted it to undervolt as the fan curves in my sapphire card are mostly ok but I do use it to keep hot spot temps down when I fold with it so I hold the clocks I want at the volts I set to keep the efficiency I expect. I can get the exact version I run or pm you a zip of my install with some profiles already set. I'm always tinkering so stability may be questionable on some of the higher clocked profiles. Also I didn't get the good memory so I run it a little slower for folding.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Bitter said:

I use Overdriven tool to run my V56, works fine to control all aspects of the card except of course RGB. It's not pretty software but it works well. I mainly wanted it to undervolt as the fan curves in my sapphire card are mostly ok but I do use it to keep hot spot temps down when I fold with it so I hold the clocks I want at the volts I set to keep the efficiency I expect. I can get the exact version I run or pm you a zip of my install with some profiles already set. I'm always tinkering so stability may be questionable on some of the higher clocked profiles. Also I didn't get the good memory so I run it a little slower for folding.

Thank you for the offer, however I have already developed my own profiles for overclocking my Vega 56. I use the OverdriveN tool as well, but it does not offer any fan control beyond what is already in the AMD drivers, which is not even a curve - it is simply a 5-step speed setting.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, TwistedKestrel said:

Thank you for the offer, however I have already developed my own profiles for overclocking my Vega 56. I use the OverdriveN tool as well, but it does not offer any fan control beyond what is already in the AMD drivers, which is not even a curve - it is simply a 5-step speed setting.

I mean it works good for me, I set target temp and I set max fan speed at that temp and it does the rest.  I have a Sapphire Nitro+ LE so maybe it's got better curves set on it, it's pretty tame with both fan noise and temps compared to what I generally hear about Vega cards.

Link to comment
Share on other sites

Link to post
Share on other sites

I just installed FanControl, but having trouble getting it working.  I've got a ASUS B450-I motherboard and I have an AIO in CPU fan and 2 fans on the bottom of my case plugged into CHA fan.  When I run the program, it picks up my GPU which I can adjust.  It picks up the Speed of my AIO as Fan #1, but can't match it to any that I can control.  And the CHA fan shows the RPM in Fan Control #2, but nothing under speeds.  I can't seem to get this working.

 

I'm coming from AI suite.  It picks up everything but the GPU.  I'm trying to get the CHA fans to run based on GPU temps which AI suite can't do.

 

Any help would be appreciated.  Thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

Hello,

 

i stumbled on this software today and i would like to try it but i have a couple of questions...

 

1) i am always wary of installing hardware control softwares...i didnt even install Armoury Crate and Corsair Icue for my other hardwares because i hate all the blaotware they tend to install...

 

2) if i understood correctly, the FanControl doesnt instlal anything right ?  I just need to download and extract the program in a folder (like a standalone HWinfo) ? so it wont install anything somewhere ?

 

3)I have an asus strix b550-E... is it compatible with this mobo ?

 

4) So when the pc boots , the Fans are controlled using the Bios, and then when the software starts it swtiches to FanControl rules ?

 

5) are you planing to suppor this software for a long time ?  :)

 

thanks

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

@christizzz

1)  and 2) Yes, it's a "portable" software, no bloat or anything, just the exe and its dlls in a folder, that's it.

3) No idea, I don't know this board, you have to test it out.

4) Yep

5) Yep

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Rem0o said:

@christizzz

1)  and 2) Yes, it's a "portable" software, no bloat or anything, just the exe and its dlls in a folder, that's it.

3) No idea, I don't know this board, you have to test it out.

4) Yep

5) Yep

 

Thank you i just got home and been playing witht the tool for like a n hour... it works flawlessly... till now... tried several restarts to test if they get applied... and they do get applied... perfect!

 

a couple of questions though...for the curves there is Hysterisis and response time.. what are those ?

 

thanks

Link to comment
Share on other sites

Link to post
Share on other sites

Hi @Rem0o. I'm using your software since yesterday. Thank you very much for your beatiful work!

I have a little (big) problem... all works like a charme, but only if I lunch the app manually. If I select the automatic Windows startup, all fans works at fixed speed. The program start correctely, because I see the tray icon and I can open completely clicking on it, but to take the speed control, I have to close the app and open manually again. 

I see, searching on this thread, that there is a 30 seconds delay, but is not depend from  it, because after a lot of minutes nothing change until, as I said before, I restart the app manually. 

I use a Gigabyte 970a-ud3 motherboard and Windows 10 64bit.

 

Thanks

Link to comment
Share on other sites

Link to post
Share on other sites

ok i ran into some problem.... when the pc is idle for period of time, the PC turn completely off and then back on..... i didnt have this prior to using the fan control .... 

 

Update: i suspect that trying to control  NON-PWM fans may lead to instabilities and the motherboard crash and generate the reboot

Link to comment
Share on other sites

Link to post
Share on other sites

On 11/10/2020 at 8:10 PM, andrea75 said:

Hi @Rem0o. I'm using your software since yesterday. Thank you very much for your beatiful work!

I have a little (big) problem... all works like a charme, but only if I lunch the app manually. If I select the automatic Windows startup, all fans works at fixed speed. The program start correctely, because I see the tray icon and I can open completely clicking on it, but to take the speed control, I have to close the app and open manually again. 

I see, searching on this thread, that there is a 30 seconds delay, but is not depend from  it, because after a lot of minutes nothing change until, as I said before, I restart the app manually. 

I use a Gigabyte 970a-ud3 motherboard and Windows 10 64bit.

 

Thanks

Same for me, ~75% of the time, changing profile is also doing the trick, quicker than close->open

Link to comment
Share on other sites

Link to post
Share on other sites

@Rem0o Hey, me again sorry to bother

 

just trying to get this running on a new install of an old rig

 

the fans don't seem to show up - was wondering if i need to install some other software (.net or something) to get it to work (fans are showing up ok in aida and hwinfo though)

 

its an old p5q delue MB and is using a winbond/nuvaton w83667hg

 

thanks in advance

 

sam

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

7 hours ago, btsam said:

@Rem0o Hey, me again sorry to bother

 

just trying to get this running on a new install of an old rig

 

the fans don't seem to show up - was wondering if i need to install some other software (.net or something) to get it to work (fans are showing up ok in aida and hwinfo though)

 

its an old p5q delue MB and is using a winbond/nuvaton w83667hg

 

thanks in advance

 

sam

 

 

If no fans is showing up, then your mobo isn't compatible with LibreHardwareMonitor, sadly.

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


×