Skip to content

FanControl 1.2.0 —— 黑苹果主板风扇调速(Nuvoton NCT679x)

Choose a tag to compare

@glassecho glassecho released this 10 Oct 02:50
· 6 commits to main since this release

首个公开版本。

给主板 Super I/O 芯片 Nuvoton NCT679x 补上 SMC 写能力,让黑苹果也能按温度曲线调速。

下载哪个?

文件 给谁用
FanControl-1.2.0.dmg 普通用户装这个 —— 双击即可
FanControl-1.2.0.pkg 同上,也可以用命令行装
FanControl-1.2.0-src.zip 想自己编译的人

没有 Apple 开发者签名(作者没有证书),Gatekeeper 会拦。
右键点安装包 → 打开 → 再点一次「打开」即可。

适用条件(三条硬门槛,缺一不可)

  • Hackintosh —— 能改 OpenCore 的 config.plist。真 Mac 装不了第三方 kext
  • 主板 Super I/O 是 Nuvoton NCT679x —— NCT6790D…NCT6798D、NCT679BD,或 NCT6779D
  • Intel 机器 —— kext 编译为 x86_64,Apple Silicon 上无法加载

macOS 13 / 14 / 15 / 26 均可。

功能

  • 六种控制模式 —— 安静 / 标准 / 性能 / 全速 / 手动 / 自定义曲线
  • CPU + GPU 温度曲线 —— CPU 可选「8 核取最热」或「封装 TC0P」;两条可同时勾选,取较热者
  • 水泵通道硬锁 —— 不参与调速,界面上明确标出
  • 只读显卡监控 —— 转速 / 占空比 / 温度 / 功耗 / 核心频率 / 显存频率 / 占用率
  • 权限隔离 —— 界面不提权,只有 fanctl 需要 root;/etc/sudoers.d/fancontrol 只授权 fanctl 的五个子命令,删掉即撤销

⚠️ 装完必须做两件事

  1. 把 SMCSuperIO.kext 放进 EFI —— 不做这个无法调速。
    注意它必须排在 VirtualSMC.kext 之后(OpenCore 按顺序注入,依赖没就位的会被静默跳过)
  2. 确认水泵通道 —— 默认 ch6 是作者本机 ASUS 的布局,换机器必须核对,否则可能把真水泵当普通风扇调速

详见仓库 README 与 移植说明.md。

求测试

首次公开发布,作者手上只有一台机器(ASUS 主板 + NCT679BD),
特别希望有不同主板、不同芯片的朋友帮忙一起测。

欢迎到 Issues 反馈:芯片型号(ioreg -l -w0 | grep ChipName)、
自检结果(zsh /usr/local/sbin/fancontrol-check)、能不能调速、水泵通道是几号、遇到的问题。

已知限制

  • 显卡风扇只能看、不能调 —— macOS 没有对外开放的写入接口
  • 真 Mac、Apple Silicon 不适用
  • 没有代码签名,需要手动放行

SHA-256

2e69ec1abea30a720ca062fe981d3b15ad4840f37a58451072af2e3885464288  FanControl-1.2.0.pkg
baedc66a8e433e688bf7588d8a64eedd862cf2f7148d46b744d3f08c030697b0  FanControl-1.2.0.dmg
cc7a7172c09aa271f17c8e0b974c437995b00f9f450a9c9554b922939b22b7ee  FanControl-1.2.0-src.zip