-
Notifications
You must be signed in to change notification settings - Fork 61
easy fan speed #7
Comments
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) |
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. |
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. |
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. |
I found this recently for fan speed control if it's helpful to anyone. |
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
The text was updated successfully, but these errors were encountered: