Skip to content

Releases: foucault/nvfancontrol

Release 0.5.1

26 May 23:08
0.5.1
Compare
Choose a tag to compare

Changes since 0.5.0

This is a bugfix release over 0.5.0

  • Fans now will not be automatically reset once nvfancontrol exits. By default the Drop trait of NVFanManager will reset control of the fans back to automatic. This can cause a problem with monitor mode as the fan curve itself might be managed from a third-party tool. By resetting the fan back to automatic this will force the third-party tool to be set back to automatic mode and therefore follow the GPU firmware when it comes to fan management. This change moves the monitor functionality into NVFanManager and Drop will only reset to automatic only if monitor mode is not enabled. If you are only using nvfancontrol to manage your fans this change will not affect you.

  • [Unix] A bug was fixed where the driver version could not be queried when a card was attached to an XScreen other than 0 causing nvfancontrol to crash during startup.

Release 0.5.0

24 Nov 18:28
0.5.0
Compare
Choose a tag to compare

Changes since 0.4.1

Major addition to v0.5.0 is the fan flicker prevention courtesy of Thomas Otto who worked on it. You can now specify a speed zone where the speed of the fan is lowered slowly instead of abruptly. This addresses a common flickering of the fans at low speeds, when transition from off to on (and vice versa). This is managed with the -r of --fanflicker option, which by default is off, and specifies a range. For instance -r 11,38 means that below 11% the fan always flickers but above 38% it behaves normally. Between those two values speed changes are done slower: -1% or +2% every 2 seconds.

Several bugs have been addressed including one that would lead to the program crashing with multipart version numbers. Additionally package versions have been stabilised instead of using wildcard crate numbers. Hopefully this will ensure some reproducibility with the builds.

RTX support on Windows is still iffy although progress has been done on the rtx branch for the braves to try.

Release 0.4.1

25 Jun 19:17
0.4.1
Compare
Choose a tag to compare

Changes since 0.4.0

This is a bugfix release over 0.4.0

Unix specific

Fixed issue #10 where the global configuration file in /etc/xdg would not be loaded even if a user specific one was not found.

Release 0.4.0

19 May 10:36
0.4.0
Compare
Choose a tag to compare

Changes since 0.3.2

General

  • We now properly support multiple independent coolers. If there are more than one independently controlled fans available nvfancontrol will apply the custom response curve to all of them. This should be the case for newer GPUs.

  • Added a new option, -g, to allow users to select the GPU nvfancontrol will run on. GPUs are indexed from 0 as they are shown in nvidia-settings or by using the -p option (see below).

  • Added a new option, -p. Using that option nvfancontrol will print all available GPUs with their coolers. This might help when specifying GPU with the -g option.

  • [dev] Function signatures have been rewritten to properly communicate whether supplied IDs refer to GPUs or coolers. This was not explicit before.

  • [dev] Replaced deprecated ATOMIC_BOOL_INIT with AtomicBool::new. For that we now require Rust 1.34 or newer.

Unix specific

  • [dev] Added support for XNVCTRLQueryTargetBinaryData to nvctrl. This allows to detect many GPU features, as coolers used by GPU, thermal sensors used by GPU, enabled X displays etc.

Known issues

  • GPUs with multiple coolers have not been properly tested on Windows. There might still be bugs present.

  • RPM reporting on GPUs with multiple coolers on Windows is limited to one cooler or it might be completely incorrect as the public version of NVAPI does not provide an option to specify a cooler when calling NVAPI_GPU_GetTachReading. There is no way around that unless support is added to NVAPI. Speed reporting and adjustment should still work properly.

nvfancontrol 0.3.2

28 Dec 12:40
0.3.2
Compare
Choose a tag to compare

Changes since 0.3.1

This release deals with compilation errors arising from updates to the log crate. From now on release versions will have pinned versions of the dependent crates instead of using a wildcard version to ensure a degree of reproducibility.

nvfancontrol 0.3.1

13 Aug 00:34
0.3.1
Compare
Choose a tag to compare

Changes since 0.3

Unix specific

This is a bugfix release over 0.3. There was a bug in the unix code of nvctrl that caused nvfancontrol to fail with Invalid MIT-MAGIC-COOKIE-1 keyError: cannot open display ':0'. This happened because nvctrl naively tried to open display :0 by default. So instead of hardcoding the display number the argument of XOpenDisplay was changed to NULL which according to the X11 spec causes XOpenDisplay to load the display number from the $DISPLAY environment variable.

nvfancontrol 0.3

04 Mar 01:03
0.3
Compare
Choose a tag to compare

Changes since 0.2

General

  • The output of nvfancontrol can now be parsed either via stdout (option -j) or via a TCP service (option -t). In both cases the program will dump a JSON representation of the current data including temperature, fan speed and a timestamp. When the TCP option is used nvfancontrol will dump the JSON data upon connection (default port is 12125) and immediately terminate it. This can be very useful for third party programs that might want to parse the data, for example to graph the data, or provide a graphical interface. The JSON serialisation means that now the minimum rustc version is 1.15 to make use of macros 1.1.

  • All the NVidia adapters are now enumerated during startup although the fan curve applies only to the first one (for now at least).

  • Documentation has been added for nvctrl.

Unix specific

  • The Unix implementation of the nvctrl crate is now entirely free of C code. Previously a C library has been used as a glue between the program and XNVCtrl. Now we bind directly to it using the Rust FFI facility.

  • libXNVCtrl can now be linked dynamically by passing the --features=dynamic-xnvctrl argument to cargo build.

  • Added support for the XNVCTRLQueryTargetCount function of XNVCtrl which allows among other things to query for the number of connected adapters.

Windows specific

  • A single GPU handle is now allocated when the library is initialised instead of allocating handles every time an NVAPI function is called.

  • Minimal support for cooler policies in Windows. For now all policies except for Manual map to Auto.

nvfancontrol 0.2

19 Feb 19:42
0.2
Compare
Choose a tag to compare

This version includes experimental Windows support.

nvfancontrol 0.1

04 Dec 00:40
0.1
Compare
Choose a tag to compare
Alpha 0.1 release