github markusressel/fan2go 0.12.0

5 hours ago

Noteworthy changes

Curve value format

  • Curve step values can now be specified as percentages (e.g. 40: 20%)
  • The previous integer range [0..255] is still supported; old configs should be migrated to
    floats (40: 20.0) or percentages (40: 20%)

Behavior changes

pwmMap expansion now uses step interpolation:

  • A key k with value v means: use hardware PWM v for all internal values ≥ k up to the
    next key. Previously, fan2go used nearest-neighbor (transitioning at the midpoint between
    adjacent keys).
  • Example — {0:0, 64:128, 192:255}: previously switched at ~32 and ~128; now switches exactly
    at 64 and 192.
  • If you have a sparse pwmMap, verify it still behaves as intended after upgrading.

Curve value → fan speed mapping has changed:

  • 0 / 0% → stop (PWM 0), unless neverStop: true, then → MinPwm
  • 1 / 1% → MinPwm (regardless of neverStop)
  • 255 / 100% → MaxPwm
  • Values in [1..255] / [1%..100%] are linearly scaled to [MinPwm..MaxPwm]
  • Verify your setup after upgrading; adjust curve values if behavior has changed

sanityCheck.fanModeChangedByThirdParty is now disabled by default:

  • Previously, fan2go re-asserted manual PWM mode on every control cycle (effectively always on)
  • It is now opt-in (enabled: false by default) and throttled (default: every 10 seconds when enabled)
  • Enable it if a buggy BIOS or third-party software keeps overwriting fan2go's fan mode setting:
    sanityCheck:
      fanModeChangedByThirdParty:
        enabled: true
        throttleDuration: 10s  # optional, default

New options

useUnscaledCurveValues (fan config, default: false):

  • When true, disables [MinPwm..MaxPwm] scaling; curve values are passed through almost
    unchanged (assuming a standard 1:1 pwmMap)
  • neverStop: true still clamps values below MinPwm up to MinPwm

--assume-pwm-map-identity flag for fan2go fan init:

  • Skips automatic detection of setPwmToGetPwmMap during fan initialization; assumes a 1:1 mapping
  • Worth trying if fan init produces wrong or unexpected results — particularly on fans that don't
    immediately report back the last-set PWM value during the measurement sequence
  • If your fan's auto-generated pwmMap is incorrect after initialization, configure it manually
    using the pwmMap fan config option

Changelog

🚀 Features and ✨ Enhancements

🐛 Bugfixes

Don't miss a new fan2go release

NewReleases is sending notifications on new releases.