Skip to content
This repository has been archived by the owner on Jul 21, 2020. It is now read-only.

easy fan speed #7

Open
GloriousEggroll opened this issue Nov 3, 2018 · 6 comments
Open

easy fan speed #7

GloriousEggroll opened this issue Nov 3, 2018 · 6 comments
Labels
enhancement New feature or request need feedback Waiting on feedback

Comments

@GloriousEggroll
Copy link

GloriousEggroll commented Nov 3, 2018

unsure if you know, havent looked at the code to add it but here's how it works

fan speed is controlled like this:

enable manual mode:
echo 1 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1_enable

set speed (number 0-255) - think of 0 as 0% and 255 as 100%:
echo 128 > /sys/class/drm/card0/device/hwmon/hwmon0/pwm1

this also should work with pwm1_max(Target) and pwm1_min(Min) although it seemed I wasnt able to assign a value to those

@BoukeHaarsma23 BoukeHaarsma23 added the enhancement New feature or request label Nov 7, 2018
@BoukeHaarsma23
Copy link
Owner

I was checking this out, but if I am correct I have to write my own controller to close the loop to implement a wattman-like fan control. Any more documentation on this is usefull. For example: how does wattman behave exactly on Windows? (I have not used it so that is why)

@BoukeHaarsma23 BoukeHaarsma23 added the need feedback Waiting on feedback label Nov 12, 2018
@axipher
Copy link

axipher commented Nov 14, 2018

Trying to make your own fan controller that just adjusts the 'pwm1' speed based on 'temp1_input' temperature compared to 'temp1_crit'. Maybe allow the user to define their own critical temperature as well, you just have to make sure that you have a way to return the PWM control back to auto when your program closes, some sort of watchdog or something.

The last thing a user wants is for the fan speed to get stuck at something low while on the desktop, launch a game and the fan not speed up.

You could also only allow manual speed control since once you change pwm_enable to 1, but you are still stuck being liable now for a user forgetting to change it back to auto mode.

Maybe the fan controller could be part of a separate project until it is at a good point.

@Road-Drum
Copy link

On windows wattman fan control behaves a little bit weird where you can set the minimum acoustic limit (sounds strange but it's actually minimum frequency for fan to start spinning).

You can set minimum and target RPM too (afaik, and this is weird because...)

You also can set target temperature and max temperature (which is why i think it's weird in some use cases)

tbh I hate this kind of fan control. I know that it supposed to be smart but it maies some users went back to Afterburner or TRIXX where users can set a fan curve, sacrificing the per state OC functionality.

Personally I think it's better if we follow the fan curve route, assuming that it's allowed. if not let's just follow the good old way for now

@axipher
Copy link

axipher commented Nov 21, 2018

On windows wattman fan control behaves a little bit weird where you can set the minimum acoustic limit (sounds strange but it's actually minimum frequency for fan to start spinning).

You can set minimum and target RPM too (afaik, and this is weird because...)

You also can set target temperature and max temperature (which is why i think it's weird in some use cases)

tbh I hate this kind of fan control. I know that it supposed to be smart but it maies some users went back to Afterburner or TRIXX where users can set a fan curve, sacrificing the per state OC functionality.

Personally I think it's better if we follow the fan curve route, assuming that it's allowed. if not let's just follow the good old way for now

I agree that the current control system on the car using those RPM min/max and Temp and Acoustic Limits are weird.

On the flip side, using a fan curve in the program would require the program to always be running to read the current temperature, and constantly adjust the PWM speed based on the curve the user defines. This would be absolutely awesome and would work for most people who want manual fan control, but as I mentioned above, you would need to ensure you had a way to return the fan speed control to card automatic if the user closes WattmanGTK or it crashes/hangs for some reason.

@Road-Drum
Copy link

anyway here is wattman profile xml https://pastebin.com/cUuJGYXm

does the feature ID matches ppfeaturemask?

I'm planning to create a Python script that can read/write/modify XML that is also compatible for both wattman and wattmangtk.
Still trying to understand the xml module usage in Python since I'm new to Python.

@ghost
Copy link

ghost commented Feb 23, 2019

I found this recently for fan speed control if it's helpful to anyone.

https://github.com/dasunsrule32/radeon-scripts

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request need feedback Waiting on feedback
Projects
None yet
Development

No branches or pull requests

4 participants