a GTK3 (v3.18) application that creates a modifiable 2D curve of [temp, fanspeed] points that automatically controls a Nvidia GPU's fan speed according to the GPU's temp within a Linux environment.
- Download the zipped application file from the
dist
folder - Extract the application's folder from the zipped file and place it anywhere
- Open a terminal window and install the following dependencies:
I. Install python3:sudo apt-get install python3.6
II. Install pip3:sudo apt-get install python3-pip
III. Install matplotlib:python3 -mpip install matplotlib
IV. Install pyGTK:sudo apt-get install libgtk-3-dev
V. Install cairocffi:sudo apt-get install python3-cairocffi
VI. Install libcanberra-gtk3:sudo apt-get install libcanberra-gtk3-module
- Allow the Nvidia card's fan to be controlled:
sudo nvidia-xconfig --enable-all-gpus
andsudo nvidia-xconfig --cool-bits=28
- Reboot your computer for the GPU settings to take effect:
sudo reboot
- Open a terminal in the folder containing nvfcapp.py, then execute:
python3 nvfcapp.py
- Apply - Applies the curve to the GPU fan speed for the duration of the session.
- Disable - Disables GPU fan control.
- Enable - Enables GPU fan control for the duration of the session (on application startup, if available, this is enabled by default).
- Open - Allows a different curve configuration to be loaded for the duration of the session. See notes below for more information.
- Quit - Exits the application and gives fan control back to the driver.
- Reset - Updates the curve to default values (can be values from
default.csv
or a different loaded.csv
file). - Save - A "Save as" file dialog pops open. Simply input a name, click save, and it'll automatically add a .csv extension. See notes below for more information.
- Temperature - Current GPU temperature (°C)
- Fan Speed - Current GPU fan speed (%)
- Clock - Current GPU shader clock (MHz)
- Load - Current GPU load (%)
- Fan Speed - Current GPU fan speed (%)
- Memory - Current GPU memory usage (MiB)
- Power - Current GPU power draw (W)
- Temperature - Current GPU temperature (°C)
default.csv
file within the application's directory. If missing, it'll load a pre-configured curve.
.csv
extension (automatically applied, so no need to explicitly write it). When loading a configuration, it will only be used for the duration of the application session. Upon application reload, it'll look for and load a default.csv
if available.
- python3 (python3.6)
- matplotlib (python3-matplotlib)
- pip3
- pyGTK (libgtk-3-dev)
- cairocffi (python3-cairocffi)
- libcanberra-gtk3
- proprietary Nvidia driver
Based on the work of Luke Frisken and Mister Pup: