Jump to content

FanControl, my take on a SpeedFan replacement

Hi Rémi

 

Your soft is totally amazing, thank you for your contribution to the fan control in less than 10MB!

The latest feature (step parameter in control card) is really an important one, cause it smooths better the noise disturbances.
Human is more prone to noise variations than the absolute level of noise in dB.
As a suggestion, it would be wonderful to let the user choose even lower steps (e.g. 0.5%/sec or less)
As I can read in your brain :) , the goal is not to delay the fan efficiency, but if you separate this option in two: acceleration and deceleration, it would be wonderful!
Indeed, I would prefer a fast acceleration (5%/sec) if the hardware heats, but a really slow deceleration (0.1%/sec) until to be "sure" the hardware is really cooling down while having thanks to this trick the less annoying noise disturbance (avoid yoyo effect)

 

Again thank you for your work

 

BR

 

JP.

 

Link to comment
Share on other sites

Link to post
Share on other sites

Hi remi, thanks for the utility

 

It runs on the Gigabyte X470 Aorus Gaming 7.

 

Also do you think you could upload it to a GithubRepo, so we all can contribute? 

 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, klugHads said:

Yes, I would really appreciate that. If possible and if it helps, read temperatures only from the sources that are actually used in the configuration. 

That behavior would prevent the temperatures to appear next to the sensor names in the combobox, it's a trade-off, but might be worth it.

 

Right now, the update cycle is really simple: It simply goes down the hardware tree and update every node in its path.

Selective / lazy updating would introduce much more complexity and bug potential, but it is also not that hard. Turning off or on a whole "section" of the hardware config would be much simpler.

 

 I don't know yet what would be the best avenue, I would have to prototype a bit and see if the CPU usage stays low also. I'm quite happy with how low the CPU usage is right now, I don't want to mess it up.

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, Rem0o said:

That behavior would prevent the temperatures to appear next to the sensor names in the combobox, it's a trade-off, but might be worth it.

 

Right now, the update cycle is really simple: It simply goes down the hardware tree and update every node in its path.

Selective / lazy updating would introduce much more complexity and bug potential, but it is also not that hard. Turning off or on a whole "section" of the hardware config would be much simpler.

 

 I don't know yet what would be the best avenue, I would have to prototype a bit and see if the CPU usage stays low also.

I understand the simple update vs more complex selective. But if I allow myself to forget about that complexity/implementation for a second, I would then use the simple update method of the whole hardware tree/nodes when the UI is up when configuring curves and controls (so the temperatures can be shown next to the sensor names), but switch to selective update when the UI is not shown and just running in background controlling the fans. As you say, CPU usage is of course important. In the end, it's you that know the limits/best practice, all others can just be happy that a really nice and useful fan control app finally popped up. 🙂

Link to comment
Share on other sites

Link to post
Share on other sites

@Everyone having Issues with Vanguard the Riot Anticheat:

 

They released an update and it now works flawlessly with Fan Control, you no longer have to decide which one of the programs you want to have running.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, Atomi00 said:

@Everyone having Issues with Vanguard the Riot Anticheat:

 

They released an update and it now works flawlessly with Fan Control, you no longer have to decide which one of the programs you want to have running.

Can confirm! I also switched the setting in MSI After burner "Enable Low level IO driver" back to being checked and didn't get the error on log in to desktop when Vanguard starts. So seems like other monitoring software is fixed :)

Link to comment
Share on other sites

Link to post
Share on other sites

Hi Rem0o, I also made an account to thank you (and will be sure to make a donation, as well). Glad I found this as your program lets me control my case fans by GPU temperature, which really makes the most sense. Speedfan could do that as well but recently gave me troubles and has been discontinued for forever. Also, your layout is nice, ordered and well functional, good job! 👍

 

One thing missing though that prevents me from abandoning afterburner is the ability to show Min/Max values, mainly for temperature, but I guess other values would be nice as well (RPM, speed-%). Maybe even the ability to show graphs of logged values, as you can have it in afterburner;

 

image.png.0300250dc0bd80d45ed72a2df24e344d.png

 

I'm curious if you'd be able to add that, as Fan Control and Afterburner seem to be colliding somewhat (Afterburners "Auto" mode seems to keep turning off after reboot but I'll have to double check that).

 

Anyway, I'll just leave it here as a suggestion as I can imagine more people might welcome that feature.

 

Thanks again!

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Kujo1 said:

Hi Rem0o, I also made an account to thank you (and will be sure to make a donation, as well). Glad I found this as your program lets me control my case fans by GPU temperature, which really makes the most sense. Speedfan could do that as well but recently gave me troubles and has been discontinued for forever. Also, your layout is nice, ordered and well functional, good job! 👍

 

One thing missing though that prevents me from abandoning afterburner is the ability to show Min/Max values, mainly for temperature, but I guess other values would be nice as well (RPM, speed-%). Maybe even the ability to show graphs of logged values, as you can have it in afterburner;

 

image.png.0300250dc0bd80d45ed72a2df24e344d.png

 

I'm curious if you'd be able to add that, as Fan Control and Afterburner seem to be colliding somewhat (Afterburners "Auto" mode seems to keep turning off after reboot but I'll have to double check that).

 

Anyway, I'll just leave it here as a suggestion as I can imagine more people might welcome that feature.

 

Thanks again!

The hardware library has all the necessary stuff to add monitoring tools. However, I'm not sure I want to add bulk to the software and drift away from its primary mission: controlling fans. As you might have noticed, I like "focused" software, which is highly optimized at doing 1 thing really well and that's it.

Link to comment
Share on other sites

Link to post
Share on other sites

Oh I see. Well, in the end it's of course up to you.

Meanwhile I guess I could also just use Fan Control to, well, control the fans and Afterburner for monitoring.

Link to comment
Share on other sites

Link to post
Share on other sites

Updated from a rather old version to latest today. Had to remake all of my fan curves from scratch, but it was worth it for the new features.

 

I notice v21 is now unable to read my GPU fan speed (the tile is still there, but always reads 0 RPM now). Previous versions could read (but not control) the fan on my RTX 2070. Any idea what might have caused GPU fan control to further regress?

Link to comment
Share on other sites

Link to post
Share on other sites

44 minutes ago, Leapo said:

Updated from a rather old version to latest today. Had to remake all of my fan curves from scratch, but it was worth it for the new features.

 

I notice v21 is now unable to read my GPU fan speed (the tile is still there, but always reads 0 RPM now). Previous versions could read (but not control) the fan on my RTX 2070. Any idea what might have caused GPU fan control to further regress?

I suspect this: https://github.com/LibreHardwareMonitor/LibreHardwareMonitor/commit/9a9d670ca795d94fe620014cce7bd9a436b64124#diff-f12a08b644d1d76acdd873f61f921401

Nvidia changed their fan API for newer gpus and that API is still non-public, so the support is hit and miss right now. 

Link to comment
Share on other sites

Link to post
Share on other sites

20 hours ago, Kujo1 said:

Oh I see. Well, in the end it's of course up to you.

Meanwhile I guess I could also just use Fan Control to, well, control the fans and Afterburner for monitoring.

Uuh...well nevermind, my Nvidia Card is not being recognized either. Bummer.

 

Rem0o, anything you can do to resolve Fan Control clashing with Afterburner? Anything I can do? 🤔

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, Rem0o said:

 

Hey friend, I'm from the Reddit thread I was the one who said you killed SpeedFan, anyways I decided to contact you here since you're probably more active on this forums, I updated to v21 and ran into a problem.

 

So the issue is, I link a control card to a speed card (CPU) and it reads the speeds of the fan, I link it to a curve card, but it doesn't change it, it always stays at around 50% speed, tried with different curves and graphs even the manual ones, doesn't work. My other speed card for GPU works fine which is weird why it wont recognize the CPU card, maybe the issue is the CPU fan is on a fan hub?

 

Anyways, rolling back to v19 seems to work perfectly I tried twice with v21 and no luck so I'm gonna stay on v19 but just a heads up about this issue.

Link to comment
Share on other sites

Link to post
Share on other sites

sorry pls delete 

Edited by Don_Francisco
double post pls delete
Link to comment
Share on other sites

Link to post
Share on other sites

12 hours ago, Don_Francisco said:

Anyways, rolling back to v19 seems to work perfectly I tried twice with v21 and no luck so I'm gonna stay on v19 but just a heads up about this issue.

From 19 to 21, I updated LibreHardwareMonitor. Maybe that's the issue. Keep the v19 libre dll arround for a while if this is the case. You can swap it in with the rest of V21 and it should work just fine.

 

But the fact that your CPU fan is on a fan hub would make me think it shouldn't work in the first place.

Link to comment
Share on other sites

Link to post
Share on other sites

Update 22

 

By popular demand....

  • Load and save multiple configs

UI will probably change. Might add a quick switch from the tray icon and other quality of life improvements.

 

Also,

  • Better error handling around the load/save process
  • Maximum control step 15 -> 25

image.png.833fc76e8aea380da3f566b76ddd79b4.png

 

Enjoy!

Link to comment
Share on other sites

Link to post
Share on other sites

Update 23

 

  • Save process rework, still in progress
  • Config change are now detected properly and a popup to ask for save was added
  • Last loaded config is now remembered at startup

Enjoy!

 

Also quick tip, set a different color for each config.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Rem0o said:

Update 23

 

  • Save process rework, still in progress
  • Config change are now detected properly and a popup to ask for save was added
  • Last loaded config is now remembered at startup

Enjoy!

 

Also quick tip, set a different color for each config.

hi, where is the source code for your frontend? The "Open" in the naming implies that it is open sourced but I can't find an archive or repo.

 

I have DC fans which won't power on unless set to 40 (!) percent. I want to modify your work to make my own build that allows me to set an offset to 40.

 

Thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

4 hours ago, Helios747 said:

hi, where is the source code for your frontend? The "Open" in the naming implies that it is open sourced but I can't find an archive or repo.

 

I have DC fans which won't power on unless set to 40 (!) percent. I want to modify your work to make my own build that allows me to set an offset to 40.

 

Thanks.

The word "Open" was put there because it uses OpenHardwareMonitor as a backend interface. The front-end itself is not. I will change the post name to avoid any further confusion.


As for your 40% offset, why not simply make a curve that starts at or above 40% and put 40% as an activation % for your DC fans? Could you detail me your wanted config/behavior? If it can't be done with the current features, I might make an update.

Link to comment
Share on other sites

Link to post
Share on other sites

Hey, as the save rework is still in progress, I'm sure you're aware of this, but I'll put it here just in case.

The "Save configuration as" option spits out an error, here are the logs:

15/05/2020 14:55:53: Unhandled exception in FanControl v1.0.0.0
15/05/2020 14:55:53: Object reference not set to an instance of an object.
15/05/2020 14:55:53:    at FanControl.MVVM.AsyncCommand.a.d()
--- 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)

A workaround I found was to copy the userConfig.json file, load the copy and edit that. Note that you can safely rename both the original and the copy/copies to keep things tidy and organized. In my case I made a "Normal" configuration for everyday use and a "100%" configuration for when I'm folding for F@H.

 

Any way, awesome work! Super friendly interface, and it all just works! Looking forward to being able to switch configs from the tray.

 

I tried using SpeedFan when I added my casefans as my motherboard doesn't allow to set a curve for those, but it didn't work the way it should have and the interface was just awful and bloated. I'm glad I spent so much time looking for alternatives and ended up here, it wasn't easy to find. I hope you'll get all the recognition you deserve for this awesome tool!

 

Link to comment
Share on other sites

Link to post
Share on other sites

59 minutes ago, Wizi said:

Hey, as the save rework is still in progress, I'm sure you're aware of this, but I'll put it here just in case.

The "Save configuration as" option spits out an error, here are the logs:


15/05/2020 14:55:53: Unhandled exception in FanControl v1.0.0.0
15/05/2020 14:55:53: Object reference not set to an instance of an object.
15/05/2020 14:55:53:    at FanControl.MVVM.AsyncCommand.a.d()
--- 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)

 

 

This one is annoying, it's when you press "Enter" instead of clicking on "Ok" in the file name dialog. Since there is no focus switch when you press Enter, the text doesn't get registered and you end up with an empty name, hence the nullref you got there. Yes I was aware but thank you anyway :)

Link to comment
Share on other sites

Link to post
Share on other sites

You sir.... are a legend 🕵️‍♂️

 

I have tinnitus and this helps me silence my fans : D

Link to comment
Share on other sites

Link to post
Share on other sites

Some time ago I fell in love with Argus Monitor, abused the free trial for as long as I could but in the end it wouldn't accept it anymore haha :)

Was hesitant to buy a licence so checked around, found this and it works really well! super easy to install as well, I really like it mate!

 

For fan control it is even better then Argus as we can save and load profiles, set multiple fans to the same curve, combine fan curves with sum/max etc etc... it is really awesome!

 

For the future I know you don't want to add too many features not connected to fan control but It would be nice to have some simple temperature monitoring graphs that show the temperatures over time, together with some fan speed over time graphs that would really help with fine tuning our fan setups! 

 

Thank you very much for the time and effort put into this free software! 
 

Link to comment
Share on other sites

Link to post
Share on other sites

Quick update:


image.png.0df42fd4d4dd7c1c45335df1db21698c.png
 

Profile switch IS coming, but I am busy with other stuff, weather is starting to be great, so I am not working on it as much as I'd like to.
Might be ready in a week or so.

Link to comment
Share on other sites

Link to post
Share on other sites

Thank you so much.. at first Asus AI Suite 2 (2018 update) was getting block by Faceit AC, then I tried Speedfan and found out Faceit has no problem with it and also managed to make it work using CPU Core 0 to controll my fans as the CPU Sensor was reading wrongly, after that I realized Speepfan was also getting block by Ubisoft AC therefore bugging out Speedfan ability to controll my fans.. And now I found this software, yea there are some flaws but at least it dosent get blocked by Anti Cheat Softwares..

Motherboard use: Asus Maximus IV Extreme-Z

BIOS Version: 3603

 

Improvement

UI? maybe?
Ability to sync using tempreture or using mix graph and tempreture sensor? eg: CPU fan curve (Graph) + GPU tempreture = Fan controll speed

Maybe allow us to freely move the graph to however we like instaed of a vertical line following the fan speed %

 

Oveall easy to use much less complicated compare to Speedfan. Keep up the good work

Thanks.

Capture.PNG

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


×