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

Vivobook S15 OLED (K3502) - No OLED / colour profile settings #2342

Closed
2 tasks done
Strong361 opened this issue Mar 31, 2024 · 30 comments
Closed
2 tasks done

Vivobook S15 OLED (K3502) - No OLED / colour profile settings #2342

Strong361 opened this issue Mar 31, 2024 · 30 comments
Labels
question Further information is requested

Comments

@Strong361
Copy link

Rules

  • I made myself familiar with the Readme, FAQ and Troubleshooting.
  • I understand that, if insufficient information or no app logs will be provided, my issue will be closed without an answer.

What's wrong?

I have a Vivobook S15 K3502ZA and I can't see any OLED features like FlickerFree or even the colour gamut and colour profile settings on the latest public build.

How to reproduce the bug?

Open latest version of G-Helper on Vivobook S15 K3502ZA

Logs

log.txt

Device and Model

Asus Vivobook S15 K3502ZA

Additional information.

No response

Armoury Crate

Uninstalled

Asus Services

None

Version

0.164.0

OS

Windows 11

seerge added a commit that referenced this issue Mar 31, 2024
@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 hello, I have added models starting with K350 to list of OLEDs so you should see dimming option

GHelper.zip

As for Visual Modes / Gamuts - did you have them in MyASUS in a first place ?

@seerge seerge added the question Further information is requested label Mar 31, 2024
@Strong361
Copy link
Author

@seerge Yeah they are in MyASUS and they definitely work.
myasus

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 ok. Does the dimming work in the linked build ?

As for Gamuts - if you want you can check how MyASUS sets them


  1. Download and launch https://learn.microsoft.com/en-us/sysinternals/downloads/procmon
  2. Go to filters in it and add 2 filters as on screenshot (with green checkbox)
    Screenshot 2024-03-06 223624
  3. Click on [CAPTURE] icon
  4. Launch MyASUS and change Gamut settings few times
  5. Check what Process Monitor captured ?

@Strong361
Copy link
Author

Strong361 commented Mar 31, 2024

@seerge Dimming works as expected thanks

I've checked with procmon and I can see how MyASUS is changing the profiles, color temperature, etc. Here is procmon capture:

procmonsplendid

So basically, to change color gamut, MyASUS is launching AsusSplendid.exe with some arguments, same with other things like color temperature or eye care. I've captured the events in order compared to how they appear in MyASUS for clarity, so from top to bottom and in parenthesis the arguments used by AsusSplendid.exe:
-Native (200 0 0)
-sRGB (200 0 1)
-DCI-P3 (200 0 3)
-Display P3 (200 0 4)
These 4 are the color gamut modes

-Normal (1 0)
-Vivid (2 0)
-Manual (6 0 x, slider from 0 to 100 in 3rd argument) Color Temperature
-Eye Care (7 0 x, slider from 0 to 4 in 3rd argument) Blue light reduction

I tried to execute some of these commands in cmd, for example: C:\Windows\System32\DriverStore\FileRepository\asussci2.inf_amd64_c2532b63de827d3d\ASUSOptimization\AsusSplendid.exe 1 0
And they do what you would expect, with ASUS services disabled they work too.

Let me know if you need me to check anything else.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 great, Gamut setting seem to be same as for ROG / TUF devices.

But to set gamuts, Splendid needs to use existing color profile.

For ROG / TUF G-Helper checks if C:\ProgramData\ASUS\GameVisual folder exists (where profiles are stored for Splendid), and if it is - shows dropdowns.

Can you run in powershell

C:\Windows\System32\DriverStore\FileRepository\asussci2.inf_amd64_c2532b63de827d3d\ASUSOptimization\AsusSplendid.exe 200 0 1 fd

So extra fd param on the end. It will output a very verbose log, probably mentioning where it takes ICC profile. Can you upload that log here, so I can add a check for that (other) folder as well ?

@Strong361
Copy link
Author

log.txt

Folder is C:\ProgramData\ASUS\ASUS System Control Interface\ASUSOptimization\Splendid if I'm not wrong.

seerge added a commit that referenced this issue Mar 31, 2024
@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 ok, can you check if this build shows dropdowns correctly ?

GHelper.zip

@Strong361
Copy link
Author

@seerge I'm not seeing anything extra, no dropdowns or anything extra compared to the other build, so not working.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 can you try this one instead, and if it doesn't show anything post a log ?

GHelper.zip

@Strong361
Copy link
Author

@seerge Now it is showing correctly, and the functionality works, this is what it shows:

ghelper1

ghelper2

ghelper3

There is only one issue, when changing from SDR to HDR, if I am coming from sRGB or P3, display gets undersaturated from what it should be, changing manually to Native while in HDR fixes it. With MyASUS, when you change to HDR, saturation is automatically correct regardless of which gamut you had in SDR. Not a big deal as you can toggle Native gamut and fix it, just worth mentioning and I don't know if it's expected behaviour from the software in other laptops.

Thanks for the job!

@Strong361
Copy link
Author

Strong361 commented Mar 31, 2024

@seerge My guess is that MyASUS is changing to native gamut automatically when engaging HDR, sometimes it takes like 2 seconds to restore proper saturation, it starts being undersaturated and then in 2 seconds saturation is correct, then when going from HDR to SDR, it probably restores the gamut profile you had, same thing, it starts oversaturated (probably Native gamut) and in about 2 seconds it applies the gamut profile you had automatically.
For what is worth, gamut settings are locked out in MyASUS when in HDR.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 hmm, actually there is an HDR detection in the app, and if it sees HDR - it should hide visual modes completely.

Can you set HDR on your device in windows while g-helper is running, then open it's window and check if it hides modes ? and post a log after?

@Strong361
Copy link
Author

Strong361 commented Mar 31, 2024

log.txt

18:38 is when I changed to HDR, I can still change gamut modes and they change the gamut too, it doesn't hide modes.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 ok, i see. You have some trickly 8-bit HDR, unlike others ...

Problem that there is this tricky windows setting https://github.com/seerge/g-helper/wiki/FAQ#my-display-colors-seem-off-even-if-i-set-visual-mode-to-default that when ON also reports to windows api as HDR. and it confuses G-Helper (and Armoury Crate as well) on HDR detection

Check if this build detects HDR better in your case, and if that setting actually does not trigger FALSE HDR
GHelper.zip

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

Btw, what's wrong with border color around 120Hz button in your case? Do you use some tricky windows theming app or so ? It's supposed to be grey ...

Check if this build fixes that
GHelper.zip

@Strong361
Copy link
Author

Strong361 commented Mar 31, 2024

@seerge Yeah I did something to hide or modify borders, something in winaero tweaker iirc so that when I watch videos in VLC in windowed mode there are no borders to minimize burn in, don't mind that.

Ok so something was wrong with drivers or config because I remember in the past I was getting 10-bit HDR and now indeed it showed HDR as interpolated 8-bit, so I reinstalled Intel driver in clean mode and it's fixed, HDR now shows as 10-bit and HDR is detected properly by G-Helper, gamut modes are now locked up and gamut between SDR -> HDR and HDR -> SDR is handled correctly... except when I toggle HDR with win + alt + B, which is a shortcut to toggle between SDR and HDR, if I do it with this shortcut, gamut is not handled properly, but G-Helper is detecting HDR is enabled/disabled, gamut settings are locked out, it's just that display is undersaturated in HDR and then oversaturated again in SDR, but when I toggle HDR/SDR with this shortcut and then open display settings, then gamut is handled correctly, so if I toggle with the shortcut and do nothing else, gamut is not handled properly, as soon as I open display settings, gamut correction is applied and all is good, both in SDR -> HDR and HDR -> SDR.

So If I toggle HDR from display settings, all works fine, if I toggle HDR with the win + alt + B shortcut, it doesn't make the gamut change, only as soon as I open display settings. With Asus Optimization service enabled it works with the shortcut, with or without G-Helper running, very weird.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 can you try to catch with a procmon if asus apps actually set gamut again via Splendid when HDR is changed ?

Cause to be honest ,I don't want to add that, as app just hides UI when sees HDR atm, it doesn't reapply any gamuts. And doing so in each unclear situation can cause more harm than good ....

seerge added a commit that referenced this issue Mar 31, 2024
@Strong361
Copy link
Author

Strong361 commented Mar 31, 2024

@seerge Yeah unfortunately it does.

sdrhdrprocmon

First is when I enable HDR, second is when I disable HDR.

That happens with Asus Optimization service enabled. If I disable the service and toggle HDR with the shortcut and then open display settings to correct the gamut, it's not executing those commands even though the correction is happening. Also, it's not as simple as just opening display settings and keep that window minimized, if it's minimized and you toggle HDR again with the shortcut, it still doesn't apply gamut correction, when I maximize it, it applies gamut correction.

So it would seem these commands need to be executed, but then if opening display settings applies the gamut correction without these commands...

Maybe you could add it as an experimental setting "fix for HDR shortcut on some laptops" that has a toggle that does this with a red warning?

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 ok, it's 2 new params actually

  • What does 1 2(?) do ? 1 is Default mode, but 2 ? can you test what does 1 0, 1 1 , 1 2 , etc change?
  • What does 8 2 do ?

So it would seem these commands need to be executed, but then if opening display settings applies the gamut correction without these commands...

So who is executing those commands if AsusOptimization is not running ?

@Strong361
Copy link
Author

Strong361 commented Mar 31, 2024

@seerge I've seen no change between 1 2, 1 3, 1 1 and 1 0 or between 8 2, 8 3, 8 1 and 8 0, so the second argument is not variable probably. Here is the info of 1 2 and 8 2 when executing the command:

12.txt

82.txt

I've tried with procmon to find with different filters to see if, when opening display settings, another process executes command line containing C:\Windows\System32\DriverStore\FileRepository\asussci2.inf_amd64_c2532b63de827d3d\ASUSOptimization\AsusSplendid.exe, by disabling other filters and only using command line contains, I get a lot of results when manually changing between gamuts in G-Helper, but nothing when in HDR and opening display settings. tried to see if a path containing C:\ProgramData\ASUS\ASUS System Control Interface\ASUSOptimization\Splendid is used, etc, with no luck, nothing happens.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 there is a good chance that windows or GPU drivers just remember separate settings per HDR / SDR. So there is no switching as soon as gamuts are set once.

8 is probably a special mode for HDR

Can you check if params for Splendid call (from Asus Services) change if you set (not-default mode) i.e. "sRGB" or "Vivid" and switch to HDR ?

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361

G-Helper, but nothing when in HDR and opening display settings. tried to see if a path containing C:\ProgramData\ASUS\ASUS System Control Interface\ASUSOptimization\Splendid is used, etc, with no luck, nothing happens.

G-Helper is not setting anything in HDR intentionally :) as on other models , setting mode in HDR screws up colors ...

Also it can be very problematic even to try to add some automatic settings on HDR/SDR switch, as I currently don't monitor that moment. App just checks for HDR status when you actually show it's main window, and only to hide UI

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

And honestly all this logic looks quite tricky and not transparent. I would just leave everything as is.

But keep AsusOptimization service running if you really often switch between HDR / SDR and use custom Gamuts at the same time, to handle automation for you ...

@Strong361
Copy link
Author

@seerge Parameters don't change regardless of the gamut mode selected when in SDR.

It's ok no big deal, can either using asus optimization service or just open display settings or keep the window maximized.

Thanks for this app!

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361

Ok, can you check if this build (it includes all changes I did for Vivobooks) works correctly again?

GHelper.zip

If so I will include it in next release.

Btw, do I understand correctly that if you switch HDR from Windows -> Settings -> Display Settings , it switches correctly ? (even w/o any commands being run) Cause it seems more like some strange windows/driver hiccup that asus service tries to optionally "fix".

@Strong361
Copy link
Author

@seerge The build works correctly.

I'm checking again this HDR toggle behavior, I disabled some Intel services and maybe that's the issue, now it's working properly with all Intel services enabled, I will restart and try again to confirm.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 ok. great. I'm closing this as completed than. Thanks for testing :)

@seerge seerge closed this as completed Mar 31, 2024
@Strong361
Copy link
Author

@seerge It wasn't the Intel services, after restarting, same issue happens.

To clarify, if I press HDR switch from Windows -> Settings -> Display Settings, it works correctly, it's when I press win + alt + b shortcut that it doesn't work, and I have to open, yes just open, Display Settings window, and then correct gamut is applied just by opening the window. If I leave Display Settings window open and then use win + alt + b shortcut, it works too, so it's like the window being open by itself is doing the magic lol.

Maybe it's something in my system though, just don't bother, especially if no one else reports this same issue.

@seerge
Copy link
Owner

seerge commented Mar 31, 2024

@Strong361 it's something to do with windows resetting gamma when you open Display Settings.

Look here #2056 (reply in thread) . When I was only exploring on how to implement Flicker-Free dimming, Display Settings were resetting it out of the blue.

So that's the reason.

When you do hotkey, windows just forgets to reset settings :\

@Strong361
Copy link
Author

@seerge Yeah I understand, when I execute those commands (8 2, 1 2) manually, it indeed changes the gamut, ASUS probably did this so that people don't complain about HDR shortcut messing with colors I guess.

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