-
Notifications
You must be signed in to change notification settings - Fork 80
Smooth fan speed changes #190
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
Conversation
|
@jackpot51 new PR for fan smoothing here. By default this will:
With build flag |
|
I'm running a build from this on a dGPU galp5 and all is working as expected. |
Config changes are from @curiousercreative's personal file. Commit requires system76#190 to be merged in order to work.
|
@curiousercreative This is still breaking CPU temperature detection on the oryp7: |
|
@MilesBHuff I only have a galp5 and don't observe such behavior. Hopefully S76 can reproduce and debug, but you may be able to help with the following:
|
It looks like PECI is reporting in the 40s instead of the 3000s now. Which is honestly probably more correct. I'm guessing The fan smoothing definitely works, though -- so that's good at least! :) |
|
@MilesBHuff you know, I actually observe the same behavior as you, but I am able to obtain the PECI temperature via coretemp rather than system76_acpi. In this screenshot, the lower "CPU temp" that reads 0C is from acpi and notably, there's an acpi reading for GPU temperature as well, but it's always been 0C and I've kept it hidden. I'm using a pSensor Ubuntu .deb from the pop store FWIW. |
|
@MilesBHuff I might play with this in a day or two, but this is my guess as to where we need to update the interpretation of sensor readings: https://github.com/pop-os/system76-acpi-dkms/blob/master/system76_acpi.c#L503-L542 |
Yep! That's what I'm using right now, as well. Fun fact: coretemp has always been different from system76_acpi, so this may be a long-standing bug that was just exacerbated by this PR. |
|
I am looking into this. If I find fixes for what @MilesBHuff found can I push them to your PR's branch directly? |
|
@jackpot51 of course, edit freely for any reason :) |
|
@curiousercreative it should be a pretty simple fix, modify this line to not shift anymore: https://github.com/system76/ec/blob/master/src/board/system76/common/acpi.c#L97 |
2cba8f6 to
3b6d6db
Compare
|
@jackpot51 brilliant, works like a charm! My GPU temp as reported by ACPI is still 0C if I'm in "compute" graphics mode, but otherwise did the trick! Also rebased with the latest master. |
Commit requires system76#190 to be merged in order to work.
|
@curiousercreative @jackpot51 Confirmed fixed on my oryp7! 🎉 |
|
@curiousercreative Confirmed GPU temperature is broken with |
|
Behavior is the same previously, not a regression.
|
Oh, that's great news! I was literally just about to hit "enter" to flash my EC with the old code to compare. |
|
You're welcome to confirm, I think there is an issue open on firmware-open repo.
|
|
I am unable to find such an issue there, despite looking at all open or closed issues with "GPU" or "compute" in their name in https://github.com/system76/firmware-open. A websearch for "system76 github gpu temperature is 0 with compute mode" also turned up nothing. |
|
Thanks, @jackpot51. I didn't think that was the issue, since there was no mention of "compute" graphics. I'll go ahead and post my screenshot there. |
1e199a0 to
bec5cb9
Compare
|
@crawfxrd sorry, I rebased on master and it dismissed your review :/ I'll let you all rebase on master or merge master in going forward I think. |
|
Any updates? :) |
|
(dummy comment so people can 🎉 react -- the code is merged! 😄) |
|
Do you guys have an rough guess of when this might be released in an official BIOS update? |
|
After the gaze16 work is done. |
|
We will likely release production firmware for these new products including these changes at the same time we release these changes for prior products, to simplify the updates and keep all products in sync. |
I see the gaze16 is now available to configure. Does this mean the firmware will be released soon for all other laptops? Would love to see this in the production firmware as an official update. Thanks! |
@jackpot51 is the gaze16 already out? If so, when is the new firmware with these merges be officially released and sent out as an update via the built-in firmware updater in Pop!_OS? |
|
@ZeddieXX You will receive a notification when the firmware is released. Testing is still ongoing, there is no guaranteed timeline. If you don't want to wait, you are welcome to flash updated firmware yourself by installing Rust nightly and then running these commands: |
Thank you for this. I am not an expert at this, being a Windows user. The readme got to the build, but not how to flash. And even then I needed rust installed apparently. This is why I was asking about the released version, but if I can download, compile, and flash it myself, I'll do it. When the official firmware comes out, will I still get notifications since I'll be using a non-release firmware? |
Once you flash a custom version, you'll actually start receiving notifications immediately, as the released version would be an available "update" from your custom version as far as the firmware manager is concerned. You can switch back to released firmware at any time by following the normal update process, before or after the new firmware is released. (You will see the new version show up in the firmware manager's changelog once it's released.) I still don't have an estimate on the new firmware release, but there was a model-specific issue (unrelated to the fan changes) that was discovered during testing, which is on the tail end of being resolved. |
Got it flashed! Immediate difference in fan and noise, so thank you for this! |




I wrote this for my new galp5 to address a common complaint of the fans jumping from 0 to 100 and back abruptly. The configuration value of
SMOOTH_FANS_UPandSMOOTH_FANS_DOWNsets the number of fan speed event loops that a 0 - 100 speed ramp should be smoothed across. Effectively, this determines the maximum fan speed adjustment for each event loop to prevent audible stepping. A high number yields a slower and smoother ramp while a low number yields a fast response.This PR adds support for new build flags:
SMOOTH_FANSboolean, defaults to1for enabled, set to0for disablingSMOOTH_FANS_UPsets the fan smoothing (as described above) for the fan speed increases. Defaults40, about 11 secondsSMOOTH_FANS_DOWNsets the fan smoothing (as described above) for the fan speed decreases. Defaults to100, about 25 secondsSMOOTH_FANS_MINsets the minimum fan speed (in percent) that should be smoothed. Defaults to 0 (smooth all fan speed changes), but set to 25 for oryp6/7Attempts to fix system76/firmware-open#149, see prior PR for more history: #139