https://github.com/wiiznokes/fan-control
Control your fans with different behaviors
https://github.com/wiiznokes/fan-control
fan-control fancontrol iced librefancontrol librehardwaremonitor libsensors linux pwm rust sensors
Last synced: 5 months ago
JSON representation
Control your fans with different behaviors
- Host: GitHub
- URL: https://github.com/wiiznokes/fan-control
- Owner: wiiznokes
- License: gpl-3.0
- Created: 2023-08-04T02:29:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2025-04-01T10:42:08.000Z (about 1 year ago)
- Last Synced: 2025-04-03T11:53:27.492Z (about 1 year ago)
- Topics: fan-control, fancontrol, iced, librefancontrol, librehardwaremonitor, libsensors, linux, pwm, rust, sensors
- Language: Rust
- Homepage:
- Size: 1.19 MB
- Stars: 205
- Watchers: 2
- Forks: 13
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Fan Control
## Features
- Display sensors data on real time
- Control fans based on custom behaviors
- Save configuration
- Multiplatform (Linux/Windows)

## Usage
- You can add items with the buttons on the right of the app.
- To save a configuration, write a name in the "Configuration name" field, and click on the `+`.
- To modify the value of a fan, you must select it in a `Control` item (the left column), select a `Behavior`, and activate the switch.
## Installation
### Windows
- Install Fan Control from [the release section](https://github.com/wiiznokes/fan-control/releases/latest)
- Install the [PawnIO driver](https://pawnio.eu/)
- Install the [.NET Runtime](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)
_The configuration files will be in [`C:\Users\wiiz\AppData\Roaming\wiiznokes\fan-control\config`](file:///C:\Users\wiiz\AppData\Roaming\wiiznokes\fan-control\config)._
### Flatpak (Linux)
1. [Install the required udev rules](./res/linux/udev_rules.md)
2. Install fan-control from [Flathub](https://flathub.org/apps/io.github.wiiznokes.fan-control)
_The configuration files will be in [`~/.var/app/io.github.wiiznokes.fan-control/config/fan-control/`](file://~/.var/app/io.github.wiiznokes.fan-control/config/fan-control/)._
To ensure the application detects the maximum number of sensors, follow these steps
1. Install `lm-sensors`
For Debian-based systems, run: `sudo apt install lm-sensors`
For Fedora-based systems, run: `sudo dnf install lm_sensors`
2. Run `sudo sensors-detect` to detect available sensors
## Troubleshooting
See [this file](./TROUBLESHOOTING.md).
## Repo structure
- [hardware](./hardware/README.md): define an abstraction around the hardware.
- [data](./data/README.md): define structures used in the app (Node, Config), and there logic. Depend on [hardware](./hardware/README.md)
- [ui](./ui/README.md): implement the UI. Depend on [data](./data/README.md) and [hardware](./hardware/README.md)
- the app: integrate all this crates in one executable
## Build
See instructions [here](./BUILD.md).
## Contributing
See [this file](./CONTRIBUTING.md).