A small and lightweight POSIX script for using a custom fan curve in Linux for those with an Nvidia GPU.
You are probably wondering why I have chosen to write this script in ~~Bash~~ Shell Script. The reason is very simple; I wanted a script with the minimum number of dependencies possible. To get this script up-and-running you technically only need the
temp.shfile, and the
The current version of the script is version 19.4.
This script is currently set up for Celsius. However, it can easily be modified for other temperature scales.
If you need any help configuring my script or don't know how to make it start automatically check the USAGE.md file.
nvidia glx driverversion greater than 304
nvidia-settingsfor controlling the GPU(s)
procps- you can comment out the function
check_already_runningif you don't have it
CoolBitsis enabled (see USAGE.md)
sh temp.sh(or any compatable shell) or
./temp.shfor a foreground process. Run with the option
-D(case sensitive) for a background process (i.e.
./temp.sh -D). Note that using
./will automatically use your default shell.
git clone https://github.com/nan0s7/nfancurve
Replace NFANCURVE_PATH with the nfancurve path. Move or copy the nfancurve.service file to /etc/systemd/user/nfancurve.service then enable and start the service with:
systemctl --user daemon-reload systemctl --user start nfancurve.service systemctl --user enable nfancurve.service
nvidia-settingsapp (for headless support)