kphanipavan / PredatorNonSense

Clone of Acer's Predator Sense™ application for fan control on Linux
MIT License
36 stars 16 forks source link

How to setup an EC reader and debug the following output after execution? (desperately need fan control on ubuntu 22.02) #3

Closed shivaniraochepuri21 closed 3 weeks ago

shivaniraochepuri21 commented 1 year ago

Hi, I recently (a month ago) bought ACER predator helios neo 16, for some GPU-intense work on Linux, and installed Ubuntu 22.02. I have tried a lot of suggestions online, and none of them worked. I am worried as the laptop is heating up quickly, even when idle.

Please suggest how to get the values like the ones you provided in your Google doc (https://docs.google.com/document/d/1t4qgRKOp1AOsxOUDFZo9hASgen8Ea04nu9-PCp-KhYQ/edit?pli=1)

when I execute the following lines

Clone this repository cd ~/Desktop && git clone https://github.com/kphanipavan/PredatorNonSense.git Open the cloned repository cd PredatorNonSense Run the following: sudo chmod +x PNS.sh && sudo bash ./PNS.sh

command line output is the following:

For Jade Predator Helios 300 PH315-53-72W3 nohup: ignoring input and appending output to 'nohup.out'

output.log file says the following

FOUND 9 UNKNOWN VALUE FOUND EXITT at cpu box 9 => 84

please help Appreciate your support, thank you

kphanipavan commented 1 year ago

Hi, Shivani

Preface:

Devices like fans, keyboard lighting, etc are controlled by dedicated hardware called Embedded Controller, EC for short. Such hardware operates based on the values present in the EC's memory block. Most of the control software writes new values to EC to control the hardware, and so does Acer's Predator Sense software on Windows. Which means, manually editing EC's memory controls hardware directly, which is what this software is designed to do.

how to get the values like the ones you provided in your Google doc

I used a program called RW Everything on Windows to read the contents of EC. I have both the Predator Sense and RW Everything, change a setting in PredSense and observe where and what value changed only when I changed the setting in PredSense. I noted down the location and the value corresponding to the setting changed, resulting with that doc.

FOUND 9

As the laptop is new, the values for given configuration probably changed which is why it says so. The method I am using is not proper as the operation has to be bitwise, not byte wise, but on my laptop, it gets the job done.

So,

  1. Check if the program opens and works as is,

  2. else I suggest you follow NBFC's Guide to obtain EC Data and change the values in the files. You can optionally post them here so I help modify the program to make it work for your laptop.

  3. Make sure the intel GPU is set to primary in the Nvidia Xserver Settings, which puts the Nvidia GPU to sleep when idle, helps recude power consumption and heat output. Set it to On-Demand mode.