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

laptop fan speed changes should be smoother #149

Closed
curiousercreative opened this issue Jan 19, 2021 · 8 comments · Fixed by system76/ec#190
Closed

laptop fan speed changes should be smoother #149

curiousercreative opened this issue Jan 19, 2021 · 8 comments · Fixed by system76/ec#190

Comments

@curiousercreative
Copy link

With my new galp5 i7-1165G7, fan will abruptly blare to 100% when under occasional load. Under consistent but varied loads, fan may jump between each fan point every so often. It would be nice to smooth these fan ramps out to avoid the unpleasant audible stepping in fan speeds.

@curiousercreative
Copy link
Author

@jackpot51
Copy link
Member

This code would only work with the proprietary EC, which shipped on previous models and was far worse.

@ZeddieXX
Copy link

ZeddieXX commented Feb 1, 2021

@jackpot51 - Will this be incorporated into the mainline code and be offered as an update through standard channels?

system76/ec#139

I am not comfortable compiling and flashing the firmware. Mainly, I don't know if this will break the mechanism that Pop!_OS uses to determine if your firmware version is out-of-date and needs an upgrade, since this will not be an official build of the firmware.

If I can still get official firmware updates flashing a custom firmware, users who aren't familiar with the process will need to know how to get @curiousercreative's version, compile it, and flash it.

The fan curve and it's rapid speed up/down as it currently stand is very jarring and obnoxious, and grabbing a lot of attention in my office.

@curiousercreative
Copy link
Author

curiousercreative commented Feb 1, 2021

@ZeddieXX I can't say whether this will be accepted upstream, but my guess is that the firmware updater won't care about what we're doing here. It seems that the flashing we're doing here isn't updating the firmware (which consists of multiple components) but just a single firmware component (the embedded controller). I was similarly hesitant to flash the EC, but it wasn't so bad.
These instructions for flashing from the doc for keyboard mapping is what I followed, but first you need to clone this repo and install the dependencies. Once you've got that going, you can fetch my branch, switch to it and flash your EC. Here's more of a step-by-step (no warranty!):

  1. Clone this repo
    git clone [email protected]:system76/firmware-open.git
  2. Install dependencies (they stalled at some point for me, but it installed enough)
    cd firmware-open
    ./scripts/deps.sh
    source ~/.cargo/env
  3. Fetch my branch and switch to it
    cd ec
    git fetch [email protected]:curiousercreative/ec.git galp5
    git checkout galp5
  4. Configure the build for our galp5, you can optionally add a custom keyboard mapping by editing this new "config.mk" file
    echo 'BOARD?=system76/galp5' > config.mk
  5. Now we can try flashing it. At this point, you can close all applications except your terminal. You'll be prompted for your password, your fans will go wild and it'll shutdown.
    make flash_internal
  6. After it shuts down, power it back up and your should have smoother fans.

Find me on https://chat.pop-os.org/ as curiouser if you need more help :)

@ZeddieXX
Copy link

ZeddieXX commented Feb 4, 2021

I have a problem with the very first line.

`zeddie@pop-os:~/temp$ git clone [email protected]:system76/firmware-open.git
Cloning into 'firmware-open'...
The authenticity of host 'github.com (140.82.114.4)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,140.82.114.4' (RSA) to the list of known hosts.
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
`

@curiousercreative
Copy link
Author

@kepelrs
Copy link

kepelrs commented Apr 14, 2021

Hi,

I own a lemp10 and share similar issues as @curiousercreative. While in my case the fan does not jump quite to 100%, it remains at 0% until the laptop reaches 70C, at which point the fan starts to repeatedly turn on and off. This all can be caused by very light usage (eg. browsing), and there's nothing I can do about it (power saver does not fix it).

I am of the opinion that everyone would benefit if system76 implemented a way for users to control the fan via the OS. A few points why I feel that way:

  1. Most people (even some power users) will be turned off by the work involved in having to flash their firmware multiple times in order to experiment with the fan curve
  2. Everyone has different needs and preferences, it is unlikely that system76 will design a fan curve that pleases every use case for each laptop model/configuration; therefore
  3. If the fan could be controlled at OS level:
    1. power users could design new or migrate their own fan scripts from other laptops, without having to flash repeatedly
    2. community could develop GUI tools to allow less code savy customers to adjust fan behavior to their liking

I read somewhere that system76 had plans in this direction, wondering if that is still the case?

@MilesBHuff
Copy link

@kepelrs There's an issue for it here: pop-os/system76-acpi-dkms#9

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 a pull request may close this issue.

5 participants