All Projects → nan0s7 → Nfancurve

nan0s7 / Nfancurve

Licence: gpl-3.0
A small and lightweight POSIX script for using a custom fan curve in Linux for those with an Nvidia GPU.

Programming Languages

shell
77523 projects
bash
514 projects

Projects that are alternatives of or similar to Nfancurve

Fancontrol.releases
This is the release repository for Fan Control, a highly customizable fan controlling software for Windows.
Stars: ✭ 768 (+326.67%)
Mutual labels:  gpu, temperature, speed
Libmali
The Mali GPU library used in Rockchip Platform
Stars: ✭ 128 (-28.89%)
Mutual labels:  graphics, gpu
Nvapiwrapper
NvAPIWrapper is a .Net wrapper for NVIDIA public API, capable of managing all aspects of a display setup using NVIDIA GPUs
Stars: ✭ 105 (-41.67%)
Mutual labels:  nvidia, gpu
Tensorrt Utils
⚡ Useful scripts when using TensorRT
Stars: ✭ 136 (-24.44%)
Mutual labels:  nvidia, gpu
Deko3d
Homebrew low level graphics API for Nintendo Switch (Nvidia Tegra X1)
Stars: ✭ 103 (-42.78%)
Mutual labels:  nvidia, graphics
Nvidia p106
NVIDIA P106 GPUs
Stars: ✭ 106 (-41.11%)
Mutual labels:  nvidia, gpu
Gpu monitor
Monitor your GPUs whether they are on a single computer or in a cluster
Stars: ✭ 133 (-26.11%)
Mutual labels:  nvidia, gpu
Deep Learning Boot Camp
A community run, 5-day PyTorch Deep Learning Bootcamp
Stars: ✭ 1,270 (+605.56%)
Mutual labels:  nvidia, gpu
Citro3d
Homebrew PICA200 GPU wrapper library for Nintendo 3DS
Stars: ✭ 143 (-20.56%)
Mutual labels:  graphics, gpu
Difftaichi
10 differentiable physical simulators built with Taichi differentiable programming (DiffTaichi, ICLR 2020)
Stars: ✭ 2,024 (+1024.44%)
Mutual labels:  graphics, gpu
Rainbowminer
GPU/CPU Mining script with intelligent profit-switching between miningpools, algorithms, miners, using all possible combinations of devices (NVIDIA, AMD, CPU). Features: actively maintained, uses the top actual miner programs (Bminer, Ccminer, Claymore, Dstm, EnemyZ, Sgminer, T-rex and more) easy setup wizard, webinterface, auto update.
Stars: ✭ 158 (-12.22%)
Mutual labels:  nvidia, gpu
Nyuziprocessor
GPGPU microprocessor architecture
Stars: ✭ 1,351 (+650.56%)
Mutual labels:  graphics, gpu
Nvfancontrol
NVidia dynamic fan control for Linux and Windows
Stars: ✭ 93 (-48.33%)
Mutual labels:  nvidia, gpu
Cuml
cuML - RAPIDS Machine Learning Library
Stars: ✭ 2,504 (+1291.11%)
Mutual labels:  nvidia, gpu
Citro2d
Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
Stars: ✭ 88 (-51.11%)
Mutual labels:  graphics, gpu
Libcudacxx
The C++ Standard Library for your entire system.
Stars: ✭ 1,861 (+933.89%)
Mutual labels:  nvidia, gpu
Vulkancore
Vulkan 1.0 graphics and compute API bindings for .NET Standard
Stars: ✭ 162 (-10%)
Mutual labels:  graphics, gpu
Nplusminer
NPlusMiner + GUI | NVIDIA/AMD/CPU miner | AI | Autoupdate | MultiRig remote management
Stars: ✭ 75 (-58.33%)
Mutual labels:  nvidia, gpu
Waifu2x Ncnn Vulkan
waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan
Stars: ✭ 1,258 (+598.89%)
Mutual labels:  nvidia, gpu
Benchmarks
Comparison tools
Stars: ✭ 139 (-22.78%)
Mutual labels:  gpu, speed

nfancurve

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.sh file, and the config file.

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.

Features

  • comes with a more aggressive fan curve than the nvidia default (lower temps, louder noise)
  • uses nvidia-settings commands
  • automatically enables/disables GPU fan control (but not CoolBits)
  • very lightweight
  • multiple GPU control with individual fan controller support
  • makes use of a config file with explanations for each setting
  • POSIX compliant

Prerequisites

  • a POSIX compliant shell; tested with recent versions of bash and dash
  • nvidia glx driver version greater than 304
  • nvidia-settings for controlling the GPU(s)
  • coreutils
  • procps - you can comment out the function check_already_running if you don't have it

How to install

GitHub

  • Download the .zip file straight from the GitHubs
  • Extract it somewhere, and open a terminal to that directory
  • Make sure CoolBits is enabled (see USAGE.md)
  • Run sh temp.sh (or any compatable shell) or ./temp.sh for a foreground process. Run with the option -D (case sensitive) for a background process (i.e. ./temp.sh -D). Note that using sh or ./ will automatically use your default shell.

git

  • Choose a folder you want to download/install the script in
  • git clone https://github.com/nan0s7/nfancurve
  • Follow the last two steps under the GitHub guide area

Arch Linux

There are unofficial AUR packages:

Using the systemd service

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

Honourable mentions

  • @aryonoco, for being my multi-GPU guinea pig
  • @civyshk, for making a Python fork
  • @zJelly, for working on an AMD-GPU supporting fork
  • @dpayne, for adding useful script parameters
  • @Scrumplex, for adding check to avoid errors when config is missing, and initialising the AUR packages
  • @stefmitropoulos, for greatly improving the way config files are loaded
  • @mklement0, (stackoverflow) for a POSIX implimentation of resolving file symlinks
  • @xberg, for finding and fixing a bug with the multi-GPU side of the script
  • @edave, for helping test the initial implimentation of multi-fan GPU support
  • @louissmit, for helping test the final multi-fan GPU feature implimentation
  • @D3473R, for adding an example systemd service file
  • @ReneHollander, for maintaining and improving the stable AUR package
  • @kenbeese, for making me aware of a multi-GPU bug
  • @BryanHitchcock, for fixing an issue with single GPU, multi-fan configurations
  • @mooninite, for fixing a couple of bugs

TODO

  • make sure that "CoolBits" is enabled - not really the scope of this script
  • possibly check the currently installed driver version - earlier versions used the GPUCurrentFanSpeed command
  • add in a really detailed guide of how the script works
  • add nouveau support (once they fix Pascal)
  • add AMD support?
  • make fans controllable without needing to use the nvidia-settings app (for headless support)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].