Lurkki14/tuxclocker

RX 7900 XTX Fan Curve control issues

Opened this issue · 4 comments

I've been trying to get the fans to work and have had no luck so far.

I've read through #79 and I'm at an impasse.

When I do cat /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve I get

0: 0C 0%
1: 0C 0%
2: 0C 0%
3: 0C 0%
4: 0C 0%
OD_RANGE:
FAN_CURVE(hotspot temp): 25C 100C
FAN_CURVE(fan speed): 20% 100%

When I then do the suggested echo commands I get this

0 50 15
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
1 50 15
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
2 50 15
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
3 50 15
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
4 50 15
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
c

Any advice would be greatly appreciated in solving this issue. Been trying for a couple days to get these fans working. Afraid to really put it through its paces on Linux without being able to control my fans in same way.

The third argument (fan speed) needs to be 20 - 100. What problem do you get with tuxclocker itself?

Oh sorry I wasn't clear about that, didn't realize that until you mentioned it. Inside tuxclocker the fan control has no effect. I've set Fan Speed to different settings including 100% (currently at 35%). The only option I have in Fan Mode is Automatic. The other Fan Speed does show fan speed when they do turn on for a few seconds. It is acting similar to Zero RPM mode on Windows once it hits a certain temp the fans ramp up and once it drops below the threshold they turn off again.

I may have entered this wrong (still new to Linux). I entered 20-100 and got

0 50 20-100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
1 50 20-100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
2 50 20-100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
3 50 20-100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
4 50 20-100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
c

After that I noticed the space and entered 20 - 100 and got

0 50 20 - 100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
1 50 20 - 100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
2 50 20 - 100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
3 50 20 - 100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
4 50 20 - 100
tee: /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve: Invalid argument
c
If this turns out to be something as simple as me not entering the commands right I'm sorry.

The string you're entering needs to be 0 50 20. Sounds like tuxclocker is successful in writing to the file though. Maybe the fan_minimum_pwm interface is needed to make the fan spin up earlier?

Okay I've entered 0 50 20 and don't get the invalid argument anymore

cat /sys/class/drm/card1/device/gpu_od/fan_ctrl/fan_curve now returns

OD_FAN_CURVE:
0: 50C 20%
1: 50C 20%
2: 50C 20%
3: 50C 20%
4: 50C 20%
OD_RANGE:
FAN_CURVE(hotspot temp): 25C 100C
FAN_CURVE(fan speed): 20% 100%

So progress! I don't know how to do the fan_minimum_pwm if we still need to do that.