Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Couple of fan curve questions #2187

Closed
2 tasks done
fscottcopeland opened this issue Mar 9, 2024 · 8 comments
Closed
2 tasks done

Couple of fan curve questions #2187

fscottcopeland opened this issue Mar 9, 2024 · 8 comments
Labels

Comments

@fscottcopeland
Copy link

Rules

  • I made myself familiar with the Readme, FAQ and Troubleshooting.
  • I understand that, if insufficient information or no app logs will be provided, my issue will be closed without an answer.

What's wrong?

Hey :)

Config and logs attached below.

Two questions:

1 - I'm not sure whether G-Helper is ramping down fans properly.

As an example I have a fan curve to set CPU fan to 2600 RPM between 50c-60c. Then the curve is set to 3000 RPM between 60c-70c.

image

On the way up, that works fine - i.e. as soon as CPU temp hits 60c, the fan speeds up. However it seems to take some time for the fan to slow down, following the CPU temp dropping below 60c. See above screenshot where the CPU temp is less than 60c but it is still at 3000 RPM. Testing things, it seems the fan only slows down once the CPU gets to 56c.

Is there some sort of delay on the way down?

2 - Can the fan curve graphs be linear?

If you see the above screenshot, my fan curve graph has intervals of 2200, 2600, 3000, 3400, 4000, 4400, 4800, 5200, 5600, 6200.

Most graph intervals increment by 400 RPM, but there's two random 600 RPM increments. It makes it difficult to accurately / visibly set the appropriate curve. Certainly it's taken until today before I realised that my fan curve isn't actually how I intended it to be!

How to reproduce the bug?

1 - not sure, might be laptop specific. I suppose set a fan curve and closely monitor temps to see how it reacts.

2 - might be laptop specific also?

Logs

log.txt
config.json

Device and Model

Zephyrus Duo 2023 GX650PY

Additional information.

No response

Armoury Crate

Uninstalled

Asus Services

No response

Version

0.158.0 but issues existed on pervious versions too.

OS

Win 11 23H2

@seerge seerge added the answered label Mar 9, 2024
@seerge
Copy link
Owner

seerge commented Mar 9, 2024

@fscottcopeland hello, this was answered 100 of times here. G-Helper doesn't control your fans in Realtime anyhow.

It can only set a fan curve and even then BIOS would control them, based on it's own internal and not transparent algorithm.

BIOS may have intentional delays for ramping up fans, may override custom fan curves if it believes temps re to high for that mode, etc. I can't change absolutely anything about it, it's same as with AC.

@seerge seerge closed this as completed Mar 9, 2024
@fscottcopeland
Copy link
Author

That doesn't make sense though. I can re-apply the fan curve and it then gets set properly. In fact the curves I'm setting are more aggressive than stock, so it can't be an issue with the temp/min fan not being sufficient.

As re-applying the fan curve then sets it properly rather than having a delay, surely there's a work-around to repeatedly keep applying it, to ensure that the correct values are always set?

@fscottcopeland
Copy link
Author

Also, you didn't comment on my second question. Let me know about that, thanks.

@seerge
Copy link
Owner

seerge commented Mar 9, 2024

@fscottcopeland under the hood fan curve is set in some abstract asus-% (you can click on Y-axis to toggle %)

2 - Can the fan curve graphs be linear?

If you see the above screenshot, my fan curve graph has intervals of 2200, 2600, 3000, 3400, 4000, 4400, 4800, 5200, 5600, 6200.

Most graph intervals increment by 400 RPM, but there's two random 600 RPM increments. It makes it difficult to accurately / visibly set the appropriate curve. Certainly it's taken until today before I realised that my fan curve isn't actually how I intended it to be!

You can set fan curve to whatever you want using the chart tool :) please keep in mind that for BIOS only points matter, not the lines. So most probably until temp reaches next point, fan speed won't change. So there is no reason in such finetuning

@seerge
Copy link
Owner

seerge commented Mar 9, 2024

@fscottcopeland what do you understand under "reapplying" ?

When you uncheck fan curve , app would set mode only (and not followed by curve command)

If you check fan curve - app would set mode AND fan curve command.

There is NO difference between clicking Apply Custom Fan curve and just selecting mode in the UI where those curves are already set.

That doesn't make sense though. I can re-apply the fan curve and it then gets set properly. In fact the curves I'm setting are more aggressive than stock, so it can't be an issue with the temp/min fan not being sufficient.

@fscottcopeland
Copy link
Author

I don't know. But all I know is it just doesn't seem to be applying the fan curves correctly. It holds the RPM too high, for too long. If I unselect the fan curve and let the standard ASUS curve take over, it's far more responsive. Shame really. I don't think I ever had these issues when I just used atrofac on its own.

@seerge
Copy link
Owner

seerge commented Mar 9, 2024

@fscottcopeland thanks for your message.

But all I know is it just doesn't seem to be applying the fan curves correctly.

By swiftly comparing your screenshot and app log, I see that fan curve is being applied correctly and according to your setting

2024-03-09 13:02:56: Mode = 0 : OK
2024-03-09 13:02:56: FanCPU = 28-32-3C-46-50-55-5A-5F-14-14-1E-28-32-3C-46-50 : OK
2024-03-09 13:02:56: FanGPU = 28-32-37-3C-41-46-4B-50-14-14-1E-28-32-3C-46-50 : OK

Endpoints and way to set them, are same for all devices. If you believe otherwise, please feel to contribute and create a Pull Request with adjustments

It holds the RPM too high, for too long. If I unselect the fan curve and let the standard ASUS curve take over, it's far more responsive.

The observed is due to the differences in the algorithms built-in into the BIOS. It's not unusual when default fan behavior is different from the one with custom fan curve (ie. "Manual mode" in AC). Manual curve algorithm can have a increased hysteresis for example.

Shame really. I don't think I ever had these issues when I just used atrofac on its own.

Both Atrofac and G-Helper applications are open-source. And by literally comparing what they do in order to set a custom fan curves - you can see that they do exactly same. Specifically send 3 commands to ATKACPI driver.

DEVS [0x00120075] [MODE_ID]
DEVS [0x00110024] [8 BYTES OF TEMPS][8 BYTES OF CPU FAN %]
DEVS [0x00110025] [8 BYTES OF TEMPS][8 BYTES OF GPU FAN %]

After all, you are free to use any software on your computer that you want to.

@seerge
Copy link
Owner

seerge commented Mar 23, 2024

@fscottcopeland Hello, if you are interested you can try an experimental build with actual "manual" fan control #2272 . Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants