seerge / g-helper

Lightweight Armoury Crate alternative for Asus laptops and ROG Ally. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models
https://seerge.github.io/g-helper/
GNU General Public License v3.0
6.83k stars 247 forks source link

XG Mobile Fan #301

Closed privacyonly closed 1 year ago

privacyonly commented 1 year ago

Is your feature request related to a problem? Please describe. I only saw 2 fan cpu and gpu for my flow z13, can we have XG mobile fan?

Describe the solution you'd like gpu temperature and fan display for XG mobile.

Describe alternatives you've considered

Additional context

seerge commented 1 year ago

I don't own neither Z/X series laptop nor XG Mobile so can't test / discover how fan is controlled there, if you do know - i can add it of course :)

KamistixX commented 1 year ago

+1 that would be neat, as I find mine turning on a bit too often/easily (RTX 3080 model)

Get this man an XGM!

privacyonly commented 1 year ago

I also found able to control the XG mobile fan but did not display the current fan speed. https://github.com/JamesCJ60/Armoury-Control/commits/master

Samer1FL commented 1 year ago

Can you refer back to Armory Control? He referred back to your project too :)

also can you advise the Bios settings

https://github.com/JamesCJ60/Armoury-Control#readme

seerge commented 1 year ago

@privacyonly @KamistixX @Samer1FL You can check this build , it should allow setting XG Mobile fan curve if it's connected.

Keep in mind : default fan curve that you see for XGM is not a read one (i'm not aware if it's even possible to read it), it's just a template

GHelper.zip

Samer1FL commented 1 year ago

It didn’t adjust anything for me, sometimes when i adjust the CPU fan boost while I’m plugging XGM it also doesn’t adjust anything, i have to restart or reconnect the XGM.

seerge commented 1 year ago

@Samer1FL how do you check if fan curve is adjusted or not? What is "cpu fan boost" ?

And in general, it would be good if you would attach an app log from %appdata%/ghelper here, cause I have lost my telepathic skills :)

Samer1FL commented 1 year ago

I set the fan on max but nothing change you literally can hear the XGM fan noise 2 block away LOL, what i meant by CPU fan boost is the CPU Boost option, i dunno why i wrote fan. I will share you the Logs ASAP, is just i feel like adjustments are made after rebooting or reconnecting XGM. I dunno if that is because AtlasOS somehow or Bloat and Debloate files are shouldn’t work for XGM

seerge commented 1 year ago

@Samer1FL it sends fan curve to XGM, when you adjust in editor / or click apply. XGM has to be connected ofc.

moritzbeck13 commented 1 year ago

Seems to work for me!

moritzbeck13 commented 1 year ago

I spoke too soon: The selected fan curve doesn't actually get applied. I chose a too generic one to test.

privacyonly commented 1 year ago

I can confirm it doesn't work, like not being applied log.txt

few bugs xg mobile fan xg mobile fan 2 xg mobile fan can goes up to 7780rpm(not confirmed)

seerge commented 1 year ago

@privacyonly your log doesn't contain anything, you seem to be trimming it for some reason.

Please check this build and post a full log.

GHelper.zip

privacyonly commented 1 year ago

nope I just delete %appdata%/ghelper and start running new ghelper as to not pollute new log. log.txt edit: still not working

seerge commented 1 year ago

@privacyonly well, it clearly finds device and sends payload.

Try this one then GHelper.zip

privacyonly commented 1 year ago

@privacyonly well, it clearly finds device and sends payload.

Try this one then GHelper.zip

this one is clearly changing the fan speed but... can you display the fan speed for XG Mobile?

seerge commented 1 year ago

@privacyonly i don't know how to do that

moritzbeck13 commented 1 year ago

Since the fan speed is calculated in Armoury Crate, you would probably have to do something like this: lower = point[temp-1] upper = point[temp+1] speed = ceil(lower.speed + ((temp - lower.temp) / (upper.temp - lower.temp)) * (upper.speed - lower.speed), 100)

privacyonly commented 1 year ago

just an idea, find out the gpu temperature and display the speed based on fan curve?

edit: xg mobile gpu temperature is not the one that GHelper is displaying.

seerge commented 1 year ago

@moritzbeck01 what i meant, i'm not aware about how to read current fan speed from XG Mobile :) But Does last build here work for you?

@privacyonly Showing "incorrect" fan speed based on curve is a bad idea (keep in mind that 'default' curve is just a hardcoded template that i took from my G14 and not "actual" curve even).

moritzbeck13 commented 1 year ago

@moritzbeck01 what i meant, i'm not aware about how to read current fan speed from XG Mobile :)

Yeah I don't think it's possible, that's what the formula does. It's basically what @privacyonly suggested in pseudo code. I agree that it's not the best idea and doesn't work if no custom fan curve is set, but better than nothing imo.

Will test later.

seerge commented 1 year ago

@moritzbeck01 it is possible to read (cause armoury does read it somehow :) I don't posess XG Mobile at all, so can't debug and discover that anyhow.

If someone knows correct "payload" to query & get temp readings - let me know :) May be via Nvidia API? Does HWInfo show temps / fan speeds there?

I won't be adding fake RPMs, as app also doesn't know XGM temp. Whole reason of that readings - is to be able to verify if curve is working or not :)

privacyonly commented 1 year ago

@moritzbeck01 what i meant, i'm not aware about how to read current fan speed from XG Mobile :) But Does last build here work for you?

@privacyonly Showing "incorrect" fan speed based on curve is a bad idea (keep in mind that 'default' curve is just a hardcoded template that i took from my G14 and not "actual" curve even).

Yes it works, ok.

@moritzbeck01 it is possible to read (cause armoury does read it somehow :) I don't posess XG Mobile at all, so can't debug and discover that anyhow.

If someone knows correct "payload" to query & get temp readings - let me know :) May be via Nvidia API? Does HWInfo show temps / fan speeds there?

I won't be adding fake RPMs, as app also doesn't know XGM temp. Whole reason of that readings - is to be able to verify if curve is working or not :)

XGM Temp is showing at GPUZ, HWINFO, also I don't know how you do the CPU GPU FAN speed but... No the fan speed is not read by HWINFO.

edit: also the fan speed for xg mobile is 7700rpm+ currently your curve shows 6400

moritzbeck13 commented 1 year ago

I'm pretty sure Armoury Crate also calculates the fan speed.

seerge commented 1 year ago

@moritzbeck01 its possible to read fan speeds for all other fans, why would it calculate.

Does the last build in this thread work for you as well? If so i will push it into next release and consider fan thing completed :)

privacyonly commented 1 year ago

is this for fan? https://github.com/KastB/asus_wmi

moritzbeck13 commented 1 year ago

The fan speed for the XG Mobile in Armoury Crate seems to fluctuate a lot more than the others and doesn't represent the actual speed very well. It also isn't rounded to the next 100 RPM.

seerge commented 1 year ago

@privacyonly

is this for fan? https://github.com/KastB/asus_wmi

It contains standard fan endpoints, same as I use.

seerge commented 1 year ago

Closing as completed, as fan contol seem to work now.

Wolper321 commented 1 year ago

@privacyonly well, it clearly finds device and sends payload.

Try this one then GHelper.zip

The latest version of G-helper 0.69 doesn't change LED status on my XG Mobile 6850M XT and doesn't change fan curve. But the version uploaded here works as intended

seerge commented 1 year ago

@Wolper321 but they are the same :) Can you you try again zip version and 0.69 and upload a log here?

Wolper321 commented 1 year ago

log.txt I have tried 0.67, 0,69 and the released 0.66 and they all don't change the fan curve and LED for XG mobile. I came back to the one you posted here and... it's working again.

Wolper321 commented 1 year ago

Also on the other versions CPU curve are working fine. And if I switched to the 0.66 posted here it showed me XG Mobile was on default curve.

seerge commented 1 year ago

@Wolper321 can you try this one ?

GHelper.zip

or just 0.70 https://github.com/seerge/g-helper/releases/tag/v0.70 (that has same changes) ?

Wolper321 commented 1 year ago

@Wolper321 can you try this one ?

GHelper.zip

or just 0.70 https://github.com/seerge/g-helper/releases/tag/v0.70 (that has same changes) ?

This one works! Both LED and fan curves! Thx a lot

seerge commented 1 year ago

@Wolper321 great :)

seerge commented 1 year ago

@Wolper321 can you post a log here (from 0.70) ? i wanted to double check something ...

Wolper321 commented 1 year ago

log.txt Sure thing!

seerge commented 1 year ago

@Wolper321 ok, thanks. Can you check if this version still works ? (led / fans / etc) GHelper.zip

Wolper321 commented 1 year ago

@Wolper321 ok, thanks. Can you check if this version still works ? (led / fans / etc) GHelper.zip

This one also seems to be fine. Log just in case. log.txt

seerge commented 1 year ago

@Wolper321 good :) Just in a previous log I have noticed 2 devices that were looking like XGM, and now I have narrowed them down to 1