alou-S / omen-fan

Utility to control fans in Omen laptops
GNU General Public License v3.0
49 stars 5 forks source link

Question #1

Closed Diafwl closed 1 year ago

Diafwl commented 1 year ago

Hello, Recently i got Victus 16-d1xxx and looks like omen and victus using same EC and i tried your python script for adjusting fan speeds and working fine.

can you explain how can i change fan curve in your python script. i guess it is in omen-fand.py but i'm not sure

also Is there any problem if I write the project with golang? with looking your codes

alou-S commented 1 year ago

I have access to a Victus Laptop (for now) and yes the fan control works but the performance related register 0x95 doesn't seem to get the GPU to its max TGP of 80W for some reason.

Anyway related to the fan curves yes it set in the omen-fand.py script and can be controlled by the variables on lines 20 to 25.

There are two operation modes for the automatic fan control: Linear and Stepping. By default it uses linear scaling for which the UpThreshold array is used to decide the fan speed based on the SpeedCurve array.

In simple terms, UpThreshold[x] represents the temperature, and SpeedCurve[x] represents the corresponding fan speed in %. The program adjusts the fan speed linearly based on the current temperature. When the temperature is below the lowest value in the UpThreshold array, the fan speed is set to "Ambient." You can modify the arrays to change the behavior. After my end-semester examinations, I will implement the config command since many people seem to be using this script.

Finally you can use my code to write a Go alternative, but please ensure it complies with the GPL3 Licensing used in my project.

Diafwl commented 1 year ago

0x03 in 0x95 definitely power save mode for victus, i'm setting 01 for max performance and it's working perfectly

I tried to disable power cap on battery mod but it looks like ec/acpi does not play role on this, controller automatically checking battery mode.

i tried manipulating battery things and it can done (without AC linux is telling battery is charging) but for safety i did not dig further.