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

Adjust fan curve to prevent constant toggling of fan #245

Closed
wants to merge 2 commits into from

Conversation

CourchesneA
Copy link

Should fix
system76/firmware-open#250
and possibly
#241

With the fan curve, if the CPU/GPU temp is oscillating between two curve points, the fan will constantly produce annoying sound when they start and stop. This PR adds another curve point to make a smoother transition.

This is only a quick fix, it is assuming that "20" is a valid fan speed. In the long term, it would be useful to have a more robust solutions such as temperature averaging , smooth startup, conditional stopping of the fans or exposing the parameters to the user.

Linked is a GIF of the issue that I am trying to solve
fan_recording

@jackpot51
Copy link
Member

jackpot51 commented Sep 29, 2021

20% is too low for the 17 inch oryx. Its fans have a minimum speed of 25%

@CourchesneA
Copy link
Author

@jackpot51 Thanks for the info. I modified the PR to only change the temp where the fan starts from 55 to 50. The fan would still start at 25%, but it would solve the issue since I haven't seen my CPU go below 51 °C. The fan would always be on, but it seems a much better option than the constant toggling.

@jackpot51
Copy link
Member

I have an oryp7 and will try this out, thanks

@curiousercreative
Copy link
Contributor

@jackpot51 might this not be solved by #190? My galp5 never saw a release with those changes I don't think

@jackpot51
Copy link
Member

@curiousercreative we released #190 as of the 2021-07-20 release, which is available for most devices including the galp5.

@CourchesneA
Copy link
Author

Hi @jackpot51, I think I have seen some commit around so I assume you have been looking into this. Do you have any update / ETA ? This issue is really annoying for us, and since this is a work laptop I am reluctant to reflash the BIOS with custom firmware. If I understand correctly though, the firmware on the Oryx is updated through system76-firmware-updater semi-automatically. Would I lose this functionnalyti if I try to flash a new firmware with my changes ? Would that be a complex / risky process ?

@jackpot51
Copy link
Member

@CourchesneA you will still get firmware updates if you flash this change. You will lose any changes you make to firmware of course if you apply a firmware update, but I would expect fan curve improvements to be part of the next Oryx update anyways.

@CourchesneA
Copy link
Author

Awesome. Thanks a lot !

@CourchesneA
Copy link
Author

In the end this pull request did not resolve the issue. It seems whatever the value I put in the fan curve, the fan will always reduce the temp of the CPU until it reaches the minimum value to trigger the fan, and the temperature will oscillate around that value, triggering the fan to go on and off continuously. I have tried multiple options including the CFLAGS+=-DBOARD_HEATUP, but the only way that I have found that was able to make the noise less annoying is by adding the fan point FAN_POINT(35, 25) to make the fan always active. One possible alternative that I can see would be raising the fan point high enough, but that is assuming that light operations do not raise the CPU temp enough to be dangerous or damageable. I do not know enough about CPUs to test this, so I will close the PR

@CourchesneA CourchesneA closed this Jan 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants