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

Screen Overdrive GUI Report Mismatch on Start Up #2166

Closed satandidnowrong closed 6 months ago

satandidnowrong commented 6 months ago

Rules

What's wrong?

Screen overdrive setting in gui mismatches setting Either it is not being set correctly or not being reported correctly?

How to reproduce the bug?

Restart pc Load g-h

Logs

05 Mar 2024 13:44:42: ------------ 05 Mar 2024 13:44:42: App launched: ROG Strix G733ZW_G733ZW :0.151.0.0en-US 05 Mar 2024 13:44:43: NVIDIA GeForce RTX 3070 Ti Laptop GPU 05 Mar 2024 13:44:44: CPU: -1 - 12th Gen Intel(R) Core(TM) i9-12900H - Intel64 Family 6 Model 154 Stepping 3 05 Mar 2024 13:44:44: AutoSetting for Online 05 Mar 2024 13:44:44: Mode = 4 : OK 05 Mar 2024 13:44:44: FanCPU = 14-1E-28-32-3C-41-46-64-00-06-1B-44-64-64-64-64 : OK 05 Mar 2024 13:44:44: FanGPU = 14-1E-28-32-3C-41-46-64-00-06-0E-37-64-64-64-64 : OK 05 Mar 2024 13:44:44: Eco flag : 0 05 Mar 2024 13:44:44: Mux flag : 0 05 Mar 2024 13:44:44: GET CLOCK LIMIT: 0 05 Mar 2024 13:44:44: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:44:44: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:44:44: ScreenOverdrive = 0 : OK 05 Mar 2024 13:44:44: GET GPU CLOCKS: 0, 0 05 Mar 2024 13:44:44: USB 19B6|64: 5A-41-53-55-53-20-54-65-63-68-2E-49-6E-63-2E 05 Mar 2024 13:44:44: Input: \?\hid#vid_0b05&pid_19b6&col04#6&19e2ad7&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} 05 Mar 2024 13:44:44: BatteryLimit = 60 : OK 05 Mar 2024 13:44:44: BatteryLimit = 60 : OK 05 Mar 2024 13:44:44: Init 19B6: 5D-B9 05 Mar 2024 13:44:44: Init 19B6: 5D-41-53-55-53-20-54-65-63-68-2E-49-6E-63-2E 05 Mar 2024 13:44:44: Init 19B6: 5D-05-20-31-00-1A 05 Mar 2024 13:44:44: USB 19B6: 5D-BD-01-CF-17-BB-BB-FF 05 Mar 2024 13:44:44: AuraMode: AuraRainbow 05 Mar 2024 13:44:44: USB 19B6: 5D-B3-00-03-FF-FF-FF-EB-00-00-FF-FF-FF-00-00-00-00 05 Mar 2024 13:44:44: USB 19B6: 5D-B5-00-00-00 05 Mar 2024 13:44:44: USB 19B6: 5D-B4 05 Mar 2024 13:44:44: Monitor Power On 05 Mar 2024 13:44:45: PowerLimit A3 = 80 : OK 05 Mar 2024 13:44:45: PowerLimit A0 = 80 : OK 05 Mar 2024 13:44:45: Auto 19B6: 5D-BA-C5-C4-01 05 Mar 2024 13:44:45: PowerLimit C0 = 25 : OK 05 Mar 2024 13:44:45: PowerLimit C2 = 75 : OK 05 Mar 2024 13:44:53: Unable to load DLL 'atiadlxx.dll' or one of its dependencies: The specified module could not be found. (0x8007007E) 05 Mar 2024 13:44:53: Hibernate after 2147483647 05 Mar 2024 13:45:19: BatteryLimit = 60 : OK 05 Mar 2024 13:45:57: ------------ 05 Mar 2024 13:46:00: App launched: ROG Strix G733ZW_G733ZW :0.151.0.0en-US 05 Mar 2024 13:46:00: NVIDIA GeForce RTX 3070 Ti Laptop GPU 05 Mar 2024 13:46:01: CPU: -1 - 12th Gen Intel(R) Core(TM) i9-12900H - Intel64 Family 6 Model 154 Stepping 3 05 Mar 2024 13:46:01: AutoSetting for Online 05 Mar 2024 13:46:01: Mode = 4 : OK 05 Mar 2024 13:46:01: FanCPU = 14-1E-28-32-3C-41-46-64-00-06-1B-44-64-64-64-64 : OK 05 Mar 2024 13:46:01: FanGPU = 14-1E-28-32-3C-41-46-64-00-06-0E-37-64-64-64-64 : OK 05 Mar 2024 13:46:01: Eco flag : 0 05 Mar 2024 13:46:01: Mux flag : 0 05 Mar 2024 13:46:01: GET CLOCK LIMIT: 0 05 Mar 2024 13:46:01: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:46:01: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:46:01: GET GPU CLOCKS: 0, 0 05 Mar 2024 13:46:01: ScreenOverdrive = 0 : OK 05 Mar 2024 13:46:01: USB 19B6|64: 5A-41-53-55-53-20-54-65-63-68-2E-49-6E-63-2E 05 Mar 2024 13:46:01: BatteryLimit = 60 : OK 05 Mar 2024 13:46:01: Input: \?\hid#vid_0b05&pid_19b6&col04#6&19e2ad7&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} 05 Mar 2024 13:46:01: BatteryLimit = 60 : OK 05 Mar 2024 13:46:01: Init 19B6: 5D-B9 05 Mar 2024 13:46:02: Init 19B6: 5D-41-53-55-53-20-54-65-63-68-2E-49-6E-63-2E 05 Mar 2024 13:46:02: Init 19B6: 5D-05-20-31-00-1A 05 Mar 2024 13:46:02: USB 19B6: 5D-BD-01-CF-17-BB-BB-FF 05 Mar 2024 13:46:02: AuraMode: AuraRainbow 05 Mar 2024 13:46:02: USB 19B6: 5D-B3-00-03-FF-FF-FF-EB-00-00-FF-FF-FF-00-00-00-00 05 Mar 2024 13:46:02: USB 19B6: 5D-B5-00-00-00 05 Mar 2024 13:46:02: USB 19B6: 5D-B4 05 Mar 2024 13:46:02: Monitor Power On 05 Mar 2024 13:46:02: PowerLimit A3 = 80 : OK 05 Mar 2024 13:46:02: PowerLimit A0 = 80 : OK 05 Mar 2024 13:46:03: Auto 19B6: 5D-BA-C5-C4-01 05 Mar 2024 13:46:03: PowerLimit C0 = 25 : OK 05 Mar 2024 13:46:03: PowerLimit C2 = 75 : OK 05 Mar 2024 13:46:11: Design Capacity: 90005mWh, Full Charge Capacity: 80663mWh, Health: 0.896205766346314093661463252% 05 Mar 2024 13:46:13: Unable to load DLL 'atiadlxx.dll' or one of its dependencies: The specified module could not be found. (0x8007007E) 05 Mar 2024 13:46:13: Hibernate after 2147483647 05 Mar 2024 13:46:42: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:46:42: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:46:42: Screen = 240Hz : OK 05 Mar 2024 13:46:42: ScreenOverdrive = 1 : OK 05 Mar 2024 13:46:42: Display configuration changed. 05 Mar 2024 13:46:45: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:46:45: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:46:45: Screen = 240Hz : OK 05 Mar 2024 13:46:45: ScreenOverdrive = 0 : OK 05 Mar 2024 13:47:03: ------------ 05 Mar 2024 13:47:03: App launched: ROG Strix G733ZW_G733ZW :0.151.0.0en-US 05 Mar 2024 13:47:03: NVIDIA GeForce RTX 3070 Ti Laptop GPU 05 Mar 2024 13:47:04: CPU: -1 - 12th Gen Intel(R) Core(TM) i9-12900H - Intel64 Family 6 Model 154 Stepping 3 05 Mar 2024 13:47:04: AutoSetting for Online 05 Mar 2024 13:47:04: Mode = 4 : OK 05 Mar 2024 13:47:04: FanCPU = 14-1E-28-32-3C-41-46-64-00-06-1B-44-64-64-64-64 : OK 05 Mar 2024 13:47:04: FanGPU = 14-1E-28-32-3C-41-46-64-00-06-0E-37-64-64-64-64 : OK 05 Mar 2024 13:47:04: Eco flag : 0 05 Mar 2024 13:47:04: Mux flag : 0 05 Mar 2024 13:47:04: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:47:04: GET CLOCK LIMIT: 0 05 Mar 2024 13:47:04: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:47:04: ScreenOverdrive = 0 : OK 05 Mar 2024 13:47:04: GET GPU CLOCKS: 0, 0 05 Mar 2024 13:47:04: BatteryLimit = 60 : OK 05 Mar 2024 13:47:04: BatteryLimit = 60 : OK 05 Mar 2024 13:47:04: USB 19B6|64: 5A-41-53-55-53-20-54-65-63-68-2E-49-6E-63-2E 05 Mar 2024 13:47:04: Input: \?\hid#vid_0b05&pid_19b6&col04#6&19e2ad7&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} 05 Mar 2024 13:47:04: Init 19B6: 5D-B9 05 Mar 2024 13:47:04: Init 19B6: 5D-41-53-55-53-20-54-65-63-68-2E-49-6E-63-2E 05 Mar 2024 13:47:04: Init 19B6: 5D-05-20-31-00-1A 05 Mar 2024 13:47:04: USB 19B6: 5D-BD-01-CF-17-BB-BB-FF 05 Mar 2024 13:47:04: AuraMode: AuraRainbow 05 Mar 2024 13:47:04: USB 19B6: 5D-B3-00-03-FF-FF-FF-EB-00-00-FF-FF-FF-00-00-00-00 05 Mar 2024 13:47:04: USB 19B6: 5D-B5-00-00-00 05 Mar 2024 13:47:04: USB 19B6: 5D-B4 05 Mar 2024 13:47:04: Monitor Power On 05 Mar 2024 13:47:05: PowerLimit A3 = 80 : OK 05 Mar 2024 13:47:05: PowerLimit A0 = 80 : OK 05 Mar 2024 13:47:05: Auto 19B6: 5D-BA-C5-C4-01 05 Mar 2024 13:47:06: PowerLimit C0 = 25 : OK 05 Mar 2024 13:47:06: PowerLimit C2 = 75 : OK 05 Mar 2024 13:47:06: Unable to load DLL 'atiadlxx.dll' or one of its dependencies: The specified module could not be found. (0x8007007E) 05 Mar 2024 13:47:06: Hibernate after 2147483647 05 Mar 2024 13:49:11: Unable to load DLL 'atiadlxx.dll' or one of its dependencies: The specified module could not be found. (0x8007007E) 05 Mar 2024 13:49:11: Hibernate after 2147483647 05 Mar 2024 13:49:13: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:49:13: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:49:13: Screen = 240Hz : OK 05 Mar 2024 13:49:13: ScreenOverdrive = 1 : OK 05 Mar 2024 13:49:13: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:49:13: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:49:13: Screen = 240Hz : OK 05 Mar 2024 13:49:13: ScreenOverdrive = 0 : OK 05 Mar 2024 13:49:14: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:49:14: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:49:14: Screen = 240Hz : OK 05 Mar 2024 13:49:14: ScreenOverdrive = 1 : OK 05 Mar 2024 13:49:14: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED 05 Mar 2024 13:49:14: \?\DISPLAY#BOE0A69#5&2f35d5b2&0&UID4354#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7} \.\DISPLAY1\Monitor0 05 Mar 2024 13:49:14: Screen = 240Hz : OK 05 Mar 2024 13:49:14: ScreenOverdrive = 0 : OK

Device and Model

ROG Strix G733ZW

Additional information.

Quick lag spike first time toggling option from start up, not after with repeated toggles

Animation

Armoury Crate

Installed

Asus Services

0

Version

0.151

OS

11 build 22000

satandidnowrong commented 6 months ago

image

Seems as if the gui is misrepresending the information as it is set to 0 correctly on start up?

seerge commented 6 months ago

@satandidnowrong GUI (title) shows current status of your display (i.e. refresh rate and if overdrive is ON or OFF) So your device has booted up in 240Hz and overdrive was turned on by default by hardware.

Buttons below let you select desired setting.

When app starts it doesn't override current refresh rate, unless Auto is selected.

If you would click 240Hz button it would set desired setting w/o overdrive.

If you would select Auto it would automatically set refresh rate / overdrive based on plugged / unplugged state.

P.S. I would not advice to turn off overdrive for 240hz in a first place, as it doesn't harm anyhow. Unless you have a very specific usecase for that.

satandidnowrong commented 6 months ago

The setting is set in extras to disable over drive. When booting, the gui displays that od is active. In log, it shows that od is not active.

This is the bug.

Extras -> Other -> Disable Screen Overdrive (True) G-H Gui -> Laptop Screen: 240Hz + Overdrive

seerge commented 6 months ago

@satandidnowrong it could be that overdrive status reading on your device, doesn't report correct value.

Try this build, it should set UI label correctly based on checkbox status only GHelper.zip

satandidnowrong commented 6 months ago

Is there a way out side of AC to check status of overdrive? We can pinpoint the issue with this information; if the issue is with reporting from device or app. If it is reporting incorrectly from the device, changing the gui to report based on setting will not fix the issue, only compound it. Is there a difference bw the gui display setting and the od toggle?

seerge commented 6 months ago

@satandidnowrong the only way to check that is check with BIOS via ACPI. But knowing how things are done there, they could report wrong value or just 0 :) it depends if asus has implemented reading or not

Lots of settings can't be read at all (for example power limits or currently active mode). But can be written.

I assume if Overdrive command sets 0, it works and turns it off. Log is from running actual command.

05 Mar 2024 13:49:13: ScreenOverdrive = 0 : OK

Does the build I linked work correctly for you ?

seerge commented 6 months ago

You can set overdrive status via following powershell command (as admin)

Invoke-CimMethod (Get-CimInstance -Namespace root/wmi -ClassName AsusAtkWmi_WMNB) -MethodName DEVS -Arguments @{Device_ID=0x00050019; Control_status=1}

You can try to "read" it's status as (and deduct 655636 from result)

Invoke-CimMethod (Get-CimInstance -Namespace root/wmi -ClassName AsusAtkWmi_WMNB) -MethodName DSTS -Arguments @{Device_ID=0x00050019}
satandidnowrong commented 6 months ago

image

so I installed ac (unfortunately) and the disable od toggle does not seem to affect ac's idea of what is going on. meaning that the gui toggle does not seem to toggle od? ac reports od independent of g-h setting

seerge commented 6 months ago

@satandidnowrong AC may not read it at all in a first place. Just write.

It does that for all other things as well.

satandidnowrong commented 6 months ago

hmm ok i want to under stand what's going on with this internally

seerge commented 6 months ago

@satandidnowrong w/o debugging bios - you won't :)

I assume that applying (setting overdrive status) works. As all this endpoints are universal for ALL asus devices. With the build I linked - your UI should behave correctly (you never responded on that). Right ?

satandidnowrong commented 6 months ago

@satandidnowrong w/o debugging bios - you won't :)

I assume that applying (setting overdrive status) works. As all this endpoints are universal for ALL asus devices. With the build I linked - your UI should behave correctly (you never responded on that). Right ?

i meant want to under stand the internals of the app plus- get this weirdness:

before i installed ac, I created a restore point, be cause ew ac virus.

i restored after you had informed that ac does not report, only sets options

now, using 0.151, the overdrive toggle functions and so does the ui. i have tested on multiple restarts and i have tested on both on and off od.

shrug, man. thanks a lot for engaging.

did ac install some thing that got left behind in system that restore did not reverse? idk.

seerge commented 6 months ago

@satandidnowrong ok, great.

I could be that from cold start, even after setting Overdrive to OFF, reading would return a wrong value, cause it happens almost immediately after setting.

Anyway, the fix I have provided here will make sure you see correct UI all the time.