evga-icx/README.md
2025-01-31 22:24:47 -08:00

2.4 KiB

evga-icx

This program allows you to read temperature sensors off of supported EVGA 30-series iCX3 video cards, as well as control the fans individually.

Prerequisites

A supported EVGA 30-series iCX3 card. I have not done extensive testing but belive this is every model of their:

  • RTX 3060 Ti
  • RTX 3070
  • RTX 3070 Ti
  • RTX 3080
  • RTX 3080 Ti
  • RTX 3090
  • RTX 3090 Ti

The number of fans supported depends, of course, on your particular model.

Access to the /dev/i2c device files, which means either:

  • Run as root, or
  • Install udev rules to allow user access. If you have the OpenRGB udev rules installed to control the LEDs you already have this set up.

Dependencies

  • libi2c-dev

Building

make

Usage

Note that when controlling fans directly through iCX3 they will fall offline from the Nvidia driver and show as 0 RPM until you return them to automatic mode.

Available options:
--gpu N      : Control only GPU N instead of all supported cards
--fan SPEED  : Set all fans at once to SPEED (see below)
--fanN SPEED : Set fan N (0-3) to SPEED
    SPEED may be one of the following:
      'auto' to return the fan to its default control mode
      N to set the fan to that manual % speed
      [+/-]N to set that fan to an RPM offset from the GPU-controlled speed
--reset      : Reset all fans to their default mode
--sensors    : Print sensor readings even if setting a fan speed
--compact    : Print sensor reading in a compact one-line per card format

Examples:

Read sensors:

$ ./evga-icx
#0: EVGA GeForce RTX 3090 FTW3 Ultra v2 (/dev/i2c-3) @ c:00.0
Fan 0: 1934 RPM (64/0%, Auto)
Fan 1: 1930 RPM (64/0%, Auto)
Fan 2: 1944 RPM (64/0%, Offset)
Ext. fan: 0 RPM (0/0%, Offset)
GPU2: +64.1°C
MEM1: +62.2°C
MEM2: +58.2°C
MEM3: +62.2°C
PWR1: +54.3°C
PWR2: +59.4°C
PWR3: +66.0°C
PWR4: +64.3°C
PWR5: +57.6°C

Set external fan to follow Nvidia driver controlled speed with a -500 RPM offset:

evga-icx --fan3 -500

Set all fans to manual 100%

evga-icx --fan 100

Force all fans on card 0 to off except for fan1:

evga-icx --gpu 0 --fan1 0 --fan2 auto --fan3 0 --fan4 0

Return fans back to Nvidia driver control:

evga-icx --reset

Future capabilities

It appears to also be possible to read power and voltage sensors off of the K|NGP|N cards, and possibly even control the onboard OLED screen. If you have one of these and are willing to help test this please contact me!