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

Perf Mode Support for Vivobook Pro 16X 2023 (K6604) #1089

Closed
satellitemx opened this issue Aug 15, 2023 · 11 comments
Closed

Perf Mode Support for Vivobook Pro 16X 2023 (K6604) #1089

satellitemx opened this issue Aug 15, 2023 · 11 comments
Labels
question Further information is requested

Comments

@satellitemx
Copy link

satellitemx commented Aug 15, 2023

Is your feature request related to a problem? Please describe.
Clicking on Silent/Balanced/Turbo mode switch doens't change the power limit and the fan profile.
G-Helper reports that custom fan curve is also rejected by ASUS BIOS.

Describe the solution you'd like
G-Helper is able to change the performance mode like in MyASUS.

Describe alternatives you've considered
Intel XTU. It is able to change the CPU PL but it seems overkill and I'm not comfortable messing with BIOS defaults.
MyASUS. It does work but it's too bloated and must have all ASUS services running.

Additional context
Specific model is K6604JV sold in Australia. Intel i9-13980HX + NVIDIA RTX 4060 Laptop.
ASUS System Control Interface verson: 3.1.17.0
ASUS BIOS version: 300

Thanks for the amazing work. I'm happy to run diagnostics and other tests required.

@seerge
Copy link
Owner

seerge commented Aug 15, 2023

@satellitemx hello, does your Vivobook support performance modes in a first place? Via asus software

@seerge seerge added the question Further information is requested label Aug 15, 2023
@satellitemx
Copy link
Author

satellitemx commented Aug 15, 2023

@satellitemx hello, does your Vivobook support performance modes in a first place? Via asus software

Thanks for the reply!
Yes it does. 3 modes are available.
It is labeled as Fan Profile in MyASUS. Switching the option also applies different power limits.
"Performance mode" option allows up to 150W for CPU+GPU.

Screenshot of MyASUS: https://imgur.com/PFDBZ7H

@seerge
Copy link
Owner

seerge commented Aug 15, 2023

@satellitemx can you post a log from g-helper ?

And also upload a DSL dump as explained in #38

@satellitemx
Copy link
Author

satellitemx commented Aug 15, 2023

@satellitemx can you post a log from g-helper ?

And also upload a DSL dump as explained in #38

G-Helper log:

15/08/2023 8:00:24 PM: ------------
15/08/2023 8:00:24 PM: App launched: Vivobook_ASUSLaptop K6604JV_K6604JV :0.110.0.0zh-CN
15/08/2023 8:00:24 PM: NVIDIA GeForce RTX 4060 Laptop GPU
15/08/2023 8:00:25 PM: CPU: -1 - 13th Gen Intel(R) Core(TM) i9-13980HX - Intel64 Family 6 Model 183 Stepping 1
15/08/2023 8:00:25 PM: AutoSetting for Online
15/08/2023 8:00:26 PM: Input device not found
15/08/2023 8:00:26 PM: Mode = 0 : 0
15/08/2023 8:00:26 PM: Eco flag : -65536
15/08/2023 8:00:26 PM: Mux flag : -65536
15/08/2023 8:00:26 PM: M34WQ:DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL: \.\DISPLAY5
15/08/2023 8:00:26 PM: BatteryLimit = 90 : OK
15/08/2023 8:00:26 PM: BatteryLimit = 90 : OK
15/08/2023 8:00:26 PM: Found external screen: M34WQ:DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL
15/08/2023 8:00:26 PM: Changed Lid Action to 0
15/08/2023 8:00:26 PM: Engaging Clamshell Mode
15/08/2023 8:00:26 PM: Monitor Power On
15/08/2023 8:00:27 PM: Design Capacity: 90005mWh, Full Charge Capacity: 91575mWh, Health: 1.017443475362479862229876118%
15/08/2023 8:00:28 PM: Latest version 0.110.0.0
15/08/2023 8:00:30 PM: Mode = 1 : 0
15/08/2023 8:00:30 PM: Power Mode ded574b5-45a0-4f42-8737-46345c09c238:OK
15/08/2023 8:00:30 PM: Mode = 0 : 0
15/08/2023 8:00:30 PM: Power Mode 00000000-0000-0000-0000-000000000000:OK
15/08/2023 8:00:31 PM: Mode = 2 : 0
15/08/2023 8:00:31 PM: Power Mode ded574b5-45a0-4f42-8737-46345c09c238:OK
15/08/2023 8:00:32 PM: Mode = 1 : 0
15/08/2023 8:00:34 PM: Mode = 0 : 0
15/08/2023 8:00:34 PM: Power Mode 00000000-0000-0000-0000-000000000000:OK
15/08/2023 8:00:48 PM: Mode = 1 : 0
15/08/2023 8:00:48 PM: Power Mode ded574b5-45a0-4f42-8737-46345c09c238:OK
15/08/2023 8:00:56 PM: GET GPU CLOCKS: 0, 0
15/08/2023 8:00:58 PM: Mode = 1 : 0
15/08/2023 8:00:58 PM: FanCPU = 14-3F-44-48-4C-50-54-62-11-1A-22-29-34-43-51-5A : 0
15/08/2023 8:00:58 PM: FanGPU = 14-3F-44-48-4C-50-54-62-16-1F-26-2D-39-47-55-5F : 0
15/08/2023 8:00:58 PM: ASUS BIOS rejected fan curve, resetting mode to 1
15/08/2023 8:00:58 PM: Reset Mode = 1 : 0
15/08/2023 8:00:58 PM: GET GPU CLOCKS: 0, 0
15/08/2023 8:00:59 PM: Mode = 1 : 0
15/08/2023 8:00:59 PM: GET GPU CLOCKS: 0, 0

What I did is open G-Helper, click on 3 modes a few times, and open Fan+Power panel and check "Apply custom fan curve".

DSL Dump using method 1:

60023 : ffffffffffff0004 (-65532)
60024 : 9d2e8086 (2637070470)
60026 : 0 (0)
60059 : ffffffffffff0000 (-65536)
60061 : 0 (0)
60068 : ffffffffffff0000 (-65536)
60069 : ffffffffffff0000 (-65536)
60078 : ffffffffffff0000 (-65536)
60079 : 1 (1)
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 : 15 (21)
110014 : 14 (20)
110015 : ffffffffffff0000 (-65536)
110016 : ffffffffffff0000 (-65536)
110019 : 2060000 (33947648)
11001f : ffffffffffff0000 (-65536)
120057 : 880000 (8912896)
120061 : ffffffffffff0000 (-65536)
12006d : 0 (0)
120078 : ffffffffffff0000 (-65536)
130041 : 0 (0)

Thank you.

@seerge
Copy link
Owner

seerge commented Aug 15, 2023

@satellitemx hello,

It's indeed not accepting neither mode command

15/08/2023 8:00:26 PM: Mode = 0 : 0

Nor fan curves

15/08/2023 8:00:58 PM: FanCPU = 14-3F-44-48-4C-50-54-62-11-1A-22-29-34-43-51-5A : 0
15/08/2023 8:00:58 PM: FanGPU = 14-3F-44-48-4C-50-54-62-16-1F-26-2D-39-47-55-5F : 0

Can you do a DSL dump with second method ? that one is much more important :)

As default mode endpoint (the one switches them) doesn't seem to exist on vivobook 120075

@satellitemx
Copy link
Author

@satellitemx hello,

It's indeed not accepting neither mode command

15/08/2023 8:00:26 PM: Mode = 0 : 0

Nor fan curves

15/08/2023 8:00:58 PM: FanCPU = 14-3F-44-48-4C-50-54-62-11-1A-22-29-34-43-51-5A : 0
15/08/2023 8:00:58 PM: FanGPU = 14-3F-44-48-4C-50-54-62-16-1F-26-2D-39-47-55-5F : 0

Can you do a DSL dump with second method ? that one is much more important :)

As default mode endpoint (the one switches them) doesn't seem to exist on vivobook 120075

Thanks for the instruction. Please find the files attached.

I downloaded iasl-win-20230627.zip from Intel website.
Ran acpidump.exe -b and many .dat files were generated. Those are included in acpidump.zip.
Ran iasl.exe dsdt.dat and a file dsdt.dsl was generated. It is included in dsdt.dsl.zip.

acpidump.zip
dsdt.dsl.zip

@seerge
Copy link
Owner

seerge commented Aug 15, 2023

@satellitemx oke, looking at your "my asus" screenshot it says "fan profile". Does it also change max power for every fan profile?

The default endpoints controlling modes (that exist for ALL other devices currently supported by the app) don't seem to exist on vivobook.

But I have spotted following ... "line" mentioning FAN

        If ((IIA0 == 0x00110019))
        {
            FANL (IIA1)
            Return (One)
        }

Try to run following command in powershell as admin and use 0, 1, 2 as parameter (last digit), does it have any impact on your device ?

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

@satellitemx
Copy link
Author

@satellitemx oke, looking at your "my asus" screenshot it says "fan profile". Does it also change max power for every fan profile?

The default endpoints controlling modes (that exist for ALL other devices currently supported by the app) don't seem to exist on vivobook.

But I have spotted following ... "line" mentioning FAN

        If ((IIA0 == 0x00110019))
        {
            FANL (IIA1)
            Return (One)
        }

Try to run following command in powershell as admin and use 0, 1, 2 as parameter (last digit), does it have any impact on your device ?

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

I ran CinebenchR23 (CPU) and FurMark (GPU) for an extended amount of time.
CPU power was read from Intel Power Gadget, GPU power was read from TechPowerUp GPU-Z.

In MyASUS settings:
Perfomance mode
CPU + GPU load: 50W CPU + 100W GPU
CPU only: 157W CPU and gradually reduced due to thermal throttling
Loudest fan noise

Standard mode
CPU + GPU load: 50W CPU + 75W GPU
CPU only: 80W sustained
Moderate fan noise

Whisper mode
CPU + GPU load: 25W CPU + 80W GPU
CPU only: 50W sustained
Slightly more quiet than Standard mode

After running the PS command:
(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00110019, 0)
Power and fan noise are the same as Standard mode.

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00110019, 1)
Power and fan noise are the same as Whisper mode.

(Get-WmiObject -Namespace Root/WMI -Class AsusAtkWmi_WMNB).DEVS(0x00110019, 2)
Power and fan noise are the same as Performance mode.

The command will work with or without ASUS services running.
If ASUS services are running, MyASUS will not display the correct mode if PS command overrides it.
If services are not running, starting the services will change it back to the selected option in MyASUS.

Thank you!

@seerge
Copy link
Owner

seerge commented Aug 15, 2023

@satellitemx ok, thanks for checking.

So 0x00110019 is your endpoint then :)

Do I understand correctly that you don't have neither custom fan curves nor custom power limits anywhere in MyASUS ? just 3 predefined modes?

@seerge
Copy link
Owner

seerge commented Aug 15, 2023

@satellitemx this build should set new endpoint for your device (as a fallback for a normal one used for all others)
GHelper.zip

@satellitemx
Copy link
Author

@satellitemx ok, thanks for checking.

So 0x00110019 is your endpoint then :)

Do I understand correctly that you don't have neither custom fan curves nor custom power limits anywhere in MyASUS ? just 3 predefined modes?

I can confirm MyASUS doesn't provide custom fan curve and power settings.

@satellitemx this build should set new endpoint for your device (as a fallback for a normal one used for all others) GHelper.zip

Thank you very much for your time and effort!

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

2 participants