fancontrol-rs

Fancontrol-RS

Windows fan control and monitoring for GPU, CPU and RAM activity, written in Rust.
PawnIO only, no WinRing0. Curves, profiles, AIO fans on motherboard headers.

Rust edition 2024 License MIT or Apache-2.0 Version 0.5.2 Backend: PawnIO Platform: Windows 10/11
Download latest release View source on GitHub
fancontrol-rs: temperature graph, GPU/CPU panels, Activity deck GPU panel: NVIDIA core temp, power, utilization, VRAM CPU panel: package power, temperature, load Curve editor: temperature-to-duty profiles

What it does

Fan control

Curves, profiles, live duty sliders, multi-sensor temperature graph. Case fans and AIO fans on motherboard headers (not a pump/RGB vendor app).

Activity deck

CPU load history and top processes (CPU % and RAM), filterable and sortable.

Security-first backend

PawnIO only for Super I/O / EC access. Never ships WinRing0 or other known-vulnerable ring-0 drivers.

Host sensors

NVIDIA GPU multi-metric via fixed-path nvidia-smi (temp, power, util, clocks, VRAM) plus CPU package watts and optional DDR5 DIMM temps. SSD/NVMe via native DeviceIoControl (no PowerShell).

Desktop UI

egui app, system tray, first-run write consent, 8 languages (en/fr/de/es/it/zh/ja/lb). When PawnIO needs elevation, a Restart as Administrator button shows the Windows UAC prompt (no silent elevation).

CLI

sample, list-sensors, list-controls, test-duty, sample-storage, and more.

Motherboard support

Every desktop board with a Super I/O / EC HWM path should work in principle: broad chip coverage (Nuvoton NCT668x, banked NCT679x, ITE IT87, and friends) is the goal via PawnIO. Boards are only marked certified once someone has actually sent logs.

Certified so farNCT6687D-class EC HWM · ASUS ROG STRIX B550-A GAMING (banked NCT / NCT6798-class), full read + PWM write on maintainer hardware
Help wantedAny other board (ASUS / MSI / Gigabyte / ASRock / …). Run detect + list-sensors + list-controls and open a hardware report.

Signing & distribution

Release binaries are built on windows-latest in GitHub Actions and published with a SHA256 checksum. They are not code-signed yet, so expect SmartScreen and occasional Defender heuristics, the same class of warning most tools that talk to Super I/O / EC hardware get.

No telemetry. No auto-update. fancontrol-rs does not phone home, does not poll for new versions in the background, and never downloads or installs updates by itself. The only optional network call is the in-app Check for updates button (Options): you click it, it queries GitHub's public Releases API, and shows a link if something newer exists. No babysitting - you decide when to upgrade.
Host sensors stay local: fixed-path nvidia-smi for GPU metrics, native storage IOCTLs for SSD/NVMe temps, and (when elevated with PawnIO) CPU package power via MSR modules - no PowerShell, no WMI for those paths.
Applying for free code signing from the SignPath Foundation

SignPath Foundation provides free Authenticode signing for qualifying open-source projects. fancontrol-rs meets the OSS licensing, active-maintenance, and no-telemetry criteria and is applying for coverage. See docs/SIGNING_AND_DISTRIBUTION.md for the full signing plan. This page will be updated with the standard SignPath attribution once a certificate is issued.

Docs & specs

specs/Spec-driven design: vision, architecture, hardware backend, UI, roadmap
SUPPORTED_HARDWARE.mdChip matrix, prerequisites, validation
SIGNING_AND_DISTRIBUTION.mdSigning options, release checklist, CI notes
SECURITY.mdReporting, CodeQL/audit, SHA256 verify, signing status
CONTRIBUTING.mdBugs, PRs, AI contribution policy