Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zenbook Pro 14 Performance mode & MUX support #1301

Closed
bunyan-k opened this issue Sep 12, 2023 · 12 comments
Closed

Zenbook Pro 14 Performance mode & MUX support #1301

bunyan-k opened this issue Sep 12, 2023 · 12 comments
Labels
question Further information is requested

Comments

@bunyan-k
Copy link

First of all, thank you for your wonderful app.

Performance mode selection seems to be working on my Zenbook pro 14 OLED since Vivobooks are added to the support. But on my laptop there's actually 4 performance modes: Whisper (i.e. Slience), Standard, Performance, and Full Speed (not ultimate, still hybrid on the GPU side). There are set in Asus's Proart Creator Hub app.

So I read #1089 and try ran this command with different values:

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00110019, 1)

and these are the values corresponding to different modes, in order of performance and fan noise:

slience = 1
standard = 0
performance = 2
Full speed =3

Would be great if these can be implented to the app. I think proart laptops might benefit from this as well.

=======

Next is the MUX switch. Currently Ghelper cannot detect my laptop has it.
It can be triggered in myASUS app with a reboot.

I ran scan-atkacpi on hybrid GPU mode and ultimate mode. Endpoint 90026 seems to be the only value that is changing.
hybird mode = 1, ultimate = 0
(110014 and 110013 changed too but the values are weird, not sure what are they.)

//hybird mode
60023 : ffffffffffff0004 (-65532)                                                                                       
60024 : 51ec8086 (1374453894)                                                                                           
60026 : 0 (0)                                                                                                           
60059 : 0 (0)                                                                                                           
60061 : 0 (0)                                                                                                           
60068 : ffffffffffff0000 (-65536)                                                                                       
60069 : ffffffffffff0000 (-65536)
60078 : 20001 (131073)
60079 : ffffffffffff0000 (-65536)
600b1 : ffffffffffff0200 (-65024)
80041 : ffffffffffff0000 (-65536)
80042 : 0 (0)
80043 : ffffffffffff0000 (-65536)
80044 : ffffffffffff0000 (-65536)
90026 : 1 (1)
100023 : 0 (0)
100054 : ffffffffffff0000 (-65536)
100063 : 1 (1)
110013 : 14 (20)
110014 : ffffffffffff0000 (-65536)
110015 : ffffffffffff0000 (-65536)
110016 : ffffffffffff0000 (-65536)
110019 : 2060001 (33947649)
11001f : ffffffffffff0000 (-65536)
120057 : 880000 (8912896)
120061 : ffffffffffff0000 (-65536)
12006d : 0 (0)
120078 : ffffffffffff0000 (-65536)
130041 : 0 (0)
//ultimate mode
60023 : ffffffffffff0004 (-65532)                                                                                       
60024 : 51ec8086 (1374453894)                                                                                           
60026 : 0 (0)                                                                                                           
60059 : 0 (0)                                                                                                           
60061 : 0 (0)                                                                                                           
60068 : ffffffffffff0000 (-65536)                                                                                       
60069 : ffffffffffff0000 (-65536)
60078 : 20001 (131073)
60079 : ffffffffffff0000 (-65536)
600b1 : ffffffffffff0200 (-65024)
80041 : ffffffffffff0000 (-65536)
80042 : 0 (0)
80043 : ffffffffffff0000 (-65536)
80044 : ffffffffffff0000 (-65536)
90026 : 0 (0)
100023 : 0 (0)
100054 : ffffffffffff0000 (-65536)
100063 : 1 (1)
110013 : 14 (20)
110014 : 13 (19)
110015 : ffffffffffff0000 (-65536)
110016 : ffffffffffff0000 (-65536)
110019 : 2060001 (33947649)
11001f : ffffffffffff0000 (-65536)
120057 : 880000 (8912896)
120061 : ffffffffffff0000 (-65536)
12006d : 0 (0)
120078 : ffffffffffff0000 (-65536)
130041 : 0 (0)

Not sure what to do next, Happy to help with further tests.

FYI, my system spec:
Zenbook pro 14 OLED UX6404VV 2023
i9-13900H
RTX4060

@seerge
Copy link
Owner

seerge commented Sep 12, 2023

@bunyan-k hello,

Does FullSpeed mode have only different fan curve, or also different power limits ?

Also it would be good to know if it's specific only to high-end 2023 models or to other ones as well (i don't want to add extra buttons / overload UI for the rest)

As for MUX switch try to run it by yourself

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090026, 1)
(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090026, 0)

And reboot after setting it to 1 or 0 . And check in windows settings what GPU runs internal screen (it should change if it's indeed a MUX)

Thanks

P.S.

110013 : 14 (20)
110014 : 13 (19)

Are you (current) fan speed readings :)

@seerge seerge added the question Further information is requested label Sep 12, 2023
@bunyan-k
Copy link
Author

In short burst, performance and full speed performs pretty much the same (~105w). But both mode hit throttling temp in seconds and bring it down to ~80w, with full speed performing better becauce of fan speed. So whether both modes share the same power limit, or whether they reach the throttle limit at the same time is unknown.

Custom fan curve does not work (BIOS rejected) so can't test the two modes with the same fan curve. You might need people with the 16 inch variant for a better answer.

I think these 4 modes exist in all trims of this year's Pro14 and Pro16x. I agree that an extra button for just a few rare models might be too much. Hide it in the fan curve page maybe?

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090026, 1)
(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00090026, 0)

These are working as intended. No iGPU activity for value=0.

Thanks.

@seerge
Copy link
Owner

seerge commented Sep 12, 2023

@bunyan-k oke, thanks for checking.

I will add "fallback" to Ultimate mode using your endpoint then. Just need to modify UI logic a bit, as it also expects Eco to exist.

Does you device have anything like Eco mode on ROG/TUF (when dGPU is disabled completely) in Proart Creator Hub / MyAsus ?

@bunyan-k
Copy link
Author

Nope, no eco mode.

@seerge
Copy link
Owner

seerge commented Sep 12, 2023

@bunyan-k for FullSpeed mode you can try to set it in config actually (w/o any changes in the app code)

  1. Create a new custom mode based on Turbo (by pressing + under fans+power)
  2. Quit app
  3. Open%appdata%\ghelper\config.json and set following parameter to 3 (it will be 2 there) "mode_base_3" : 3,
  4. Save config, and start app.

To clarify

"mode_base_<id>" : <value>,
  • <id> is just a numeric ID of a custom mode (if you have 5 custom modes it will be 3,4,5,6,7 .. etc)
  • <value> - is actual param that is being sent to 0x00110019 endpoint (so it should be 3 for FullSpeed as you have discovered by yourself)

@bunyan-k
Copy link
Author

This works well, thank you!

@seerge
Copy link
Owner

seerge commented Sep 12, 2023

@bunyan-k try this build for Ultimate / Standard switch
GHelper.zip

@bunyan-k
Copy link
Author

@bunyan-k try this build for Ultimate / Standard switch GHelper.zip
Untitled

The buttons are showing the correct mode, but the function itself is not working.

@seerge
Copy link
Owner

seerge commented Sep 13, 2023

@bunyan-k can you try this build instead, and post a log after trying to switch in each situation ?

GHelper.zip

@bunyan-k
Copy link
Author

bunyan-k commented Sep 13, 2023

@bunyan-k can you try this build instead, and post a log after trying to switch in each situation ?

GHelper.zip

It's working now! Related logs for your reference:

// standard to ultimate

9/13/2023 6:17:47 PM: GPUMux = 0 : 0
9/13/2023 6:17:47 PM: GPUMuxVivo = 0 : OK
9/13/2023 6:17:49 PM: BatteryLimit = 80 : OK
9/13/2023 6:23:07 PM: ------------
9/13/2023 6:23:07 PM: App launched: Zenbook UX6404VV_UX6404VV :0.123.0.0en-US.
9/13/2023 6:23:07 PM: NVIDIA GeForce RTX 4060 Laptop GPU
9/13/2023 6:23:08 PM: CPU: -1 - 13th Gen Intel(R) Core(TM) i9-13900H - Intel64 Family 6 Model 186 Stepping 2
9/13/2023 6:23:08 PM: AutoSetting for Online
9/13/2023 6:23:09 PM: Input device not found
9/13/2023 6:23:10 PM: Mode = 2 : 0
9/13/2023 6:23:10 PM: VivoMode = 1 : OK
9/13/2023 6:23:10 PM: Eco flag : -65536
9/13/2023 6:23:10 PM: Mux flag : 0
9/13/2023 6:23:10 PM: GET CLOCK LIMIT: 0
9/13/2023 6:23:10 PM: \\?\DISPLAY#SDC4190#5&33fd72dc&0&UID4355#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED
9/13/2023 6:23:10 PM: \\?\DISPLAY#SDC4190#5&33fd72dc&0&UID4355#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \\.\DISPLAY1\Monitor0
9/13/2023 6:23:10 PM: GET GPU CLOCKS: 0, 0
9/13/2023 6:23:10 PM: BatteryLimit = 80 : OK
9/13/2023 6:23:10 PM: Monitor Power On
9/13/2023 6:23:46 PM: Latest version 0.123.0.0
//ultimate to standard
9/13/2023 6:24:56 PM: GPUMux = 1 : 0
9/13/2023 6:24:56 PM: GPUMuxVivo = 1 : OK
9/13/2023 6:24:58 PM: BatteryLimit = 80 : OK
9/13/2023 6:25:52 PM: ------------
9/13/2023 6:25:52 PM: App launched: Zenbook UX6404VV_UX6404VV :0.123.0.0en-US.
9/13/2023 6:25:52 PM: NVIDIA GeForce RTX 4060 Laptop GPU
9/13/2023 6:25:54 PM: CPU: -1 - 13th Gen Intel(R) Core(TM) i9-13900H - Intel64 Family 6 Model 186 Stepping 2
9/13/2023 6:25:54 PM: AutoSetting for Online
9/13/2023 6:25:55 PM: Input device not found
9/13/2023 6:25:55 PM: Mode = 2 : 0
9/13/2023 6:25:55 PM: VivoMode = 1 : OK
9/13/2023 6:25:55 PM: Eco flag : -65536
9/13/2023 6:25:55 PM: Mux flag : 1
9/13/2023 6:25:55 PM: \\?\DISPLAY#SDC4190#4&1462d0b4&0&UID8388688#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL
9/13/2023 6:25:55 PM: GET CLOCK LIMIT: 0
9/13/2023 6:25:55 PM: GET GPU CLOCKS: 0, 0
9/13/2023 6:25:55 PM: BatteryLimit = 80 : OK
9/13/2023 6:25:55 PM: Monitor Power On
9/13/2023 6:26:29 PM: Latest version 0.123.0.0

Performance modes working as intended too. I think we can call this case closed. Thanks.

@seerge
Copy link
Owner

seerge commented Sep 13, 2023

@bunyan-k great, I will include it in next release then.

@seerge seerge closed this as completed Sep 13, 2023
barsikus007 pushed a commit to barsikus007/g-helper that referenced this issue Sep 21, 2023
@satellitemx
Copy link

satellitemx commented Sep 21, 2023

In short burst, performance and full speed performs pretty much the same (~105w). But both mode hit throttling temp in seconds and bring it down to ~80w, with full speed performing better becauce of fan speed. So whether both modes share the same power limit, or whether they reach the throttle limit at the same time is unknown.
I think these 4 modes exist in all trims of this year's Pro14 and Pro16x.

I can confirm that on K6604 (Vivobook Pro 16X OLED 2023), fan speed does goes to maximum on mode 3.

Mode 2 and 3 does have different power limit on GPU (RTX 4060 Laptop) as checked via nvidia-smi
2 (Performance) 125W
3 (Fullspeed) 130W

As for CPU, it seems they are the same on my machine. When Mode 1 is enabled, CPU already has unlimited PL and is mainly constrained by the cooling. During load, fans will ramp up to maximum regardless since core temp is so high.

Thanks for finding out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants