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

"Disable GameDVR" tweak causes Color Management to not get applied in Exclusive Fullscreen #1907

Closed
Luadih opened this issue May 1, 2024 · 10 comments

Comments

@Luadih
Copy link
Contributor

Luadih commented May 1, 2024

Describe the bug
Disabling GameDVR basically makes ICC Profiles or any Color Management done through Windows to not get applied while in Exclusive Fullscreen in games.

This can be kind of confusing with some games because when you start them it seems to get applied but if you alt tab and go inside the game again it doesn't.

To Reproduce

  1. Have some kind of Color Management applied through Windows (Different Brightness or Gamma is more noticeable)
  2. Disable GameDVR
  3. Open a Game
  4. Switch between window/borderless window and fullscreen modes
  5. Compare

Note: Alt+Tab also works but comparison its easier by switching display modes

Expected behavior
I won't say that disabling GameDVR should keep the colors applied while in Fullscreen (since I think it may be something with the way GameDVR does what it does), but I'm reporting it in case someone goes through the same pain of trying to troubleshoot why is it happening after using Winutil and not knowing that GameDVR is the cause.

For Winutil I would just say to add a note that it may cause this, or if it's just one of the registry keys that causes it to not change it if possible.

@Obegg
Copy link

Obegg commented May 1, 2024

This is what disabling gamedvr tweaks does:

winutil/winutil.ps1

Lines 10455 to 10505 in 2354645

"WPFTweaksDVR": {
"Content": "Disable GameDVR",
"Description": "GameDVR is a Windows App that is a dependency for some Store Games. I've never met someone that likes it, but it's there for the XBOX crowd.",
"category": "Essential Tweaks",
"panel": "1",
"Order": "a012_",
"registry": [
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_FSEBehavior",
"Value": "2",
"OriginalValue": "1",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_Enabled",
"Value": "0",
"OriginalValue": "1",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_DXGIHonorFSEWindowsCompatible",
"Value": "1",
"OriginalValue": "0",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_HonorUserFSEBehaviorMode",
"Value": "1",
"OriginalValue": "0",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_EFSEFeatureFlags",
"Value": "0",
"OriginalValue": "1",
"Type": "DWord"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\GameDVR",
"Name": "AllowGameDVR",
"Value": "0",
"OriginalValue": "1",
"Type": "DWord"
}
]
},

can you test and change each one and report back on any findings?

@Luadih
Copy link
Contributor Author

Luadih commented May 2, 2024

I can try it yeah, but I will only be able to notice the color problem

@Luadih
Copy link
Contributor Author

Luadih commented May 2, 2024

Restoring "GameDVR_DXGIHonorFSEWindowsCompatible" to its original value after the tweak is applied seems to fix the color management issue, but I believe I cannot test if it causes more problems when trying to open overlays

I tested with Counter Strike 2 (with and without vulkan just in case) and Rocket League. I think this is worth saying since there is "GameDVR_HonorUserFSEBehaviorMode" which has a really close name? though it may be for something completely different

Something I missed to note in the original issue, is that this doesn't apply to just color management but it also affects to how quickly alt+tab and changing display modes switch, which is really noticeable by me switching from borderless to exclusive fullscreen in Rocket League

@Obegg
Copy link

Obegg commented May 2, 2024

So what solves the alt+tab issue?

@Obegg
Copy link

Obegg commented May 2, 2024

According to this forum post:

If the GameDVR_FSEBehaviorMode DWORD value is 0 then fullscreen optimization is Enabled.
If the GameDVR_FSEBehaviorMode DWORD value is 2 then fullscreen optimization is Disabled

If so then why it's value is 1? @ChrisTitusTech

winutil/config/tweaks.json

Lines 2508 to 2514 in 2354645

{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_HonorUserFSEBehaviorMode",
"Value": "1",
"OriginalValue": "0",
"Type": "DWord"
},

@Obegg
Copy link

Obegg commented May 2, 2024

@Luadih
910b2880-8ec4-4c5e-8864-3e4e1fe9cee5

@Luadih
Copy link
Contributor Author

Luadih commented May 2, 2024

So what solves the alt+tab issue?

Sorry, I didn't make it really that clear. Both the alt+tab and Color Management problems are fixed with "GameDVR_DXGIHonorFSEWindowsCompatible" set to 0.

While setting "GameDVR_DXGIHonorFSEWindowsCompatible" to 0, fullscreen has the correct colors and the alt+tab speed is normal, it is possible to break it again just by going to each game and in its compatibility tab simply "disabling fullscreen optimizations" there.

So:

  • DXGIHonor Registry Key = 0 & Disable Fullscreen Optimizations (per program) = Unticked | Colors and alt+tab are fine
  • DXGIHonor Registry Key = 1 & Disable Fullscreen Optimizations (per program) = Unticked | Colors and alt+tab are broken
  • DXGIHonor Registry Key = 0 & Disable Fullscreen Optimizations (per program) = Ticked | Colors and alt+tab are broken

I also saw that last table but I don't know if another combination of registry keys would change anything for the better, so I didn't test further

@Obegg
Copy link

Obegg commented May 3, 2024

I'm curious now, after you fixed the issues, can you try and disable gamedvr using group policy (using the command below)?

Write-Host 'Computer Configuration > Administrative Templates > Windows Components > Windows Game Recording and Broadcasing > Disable' -ForegroundColor green -BackgroundColor black
if ((Test-Path -LiteralPath 'HKLM:\Software\Policies\Microsoft\Windows\GameDVR') -ne $true) { New-Item 'HKLM:\Software\Policies\Microsoft\Windows\GameDVR' -Force -ea SilentlyContinue }
New-ItemProperty -LiteralPath 'HKLM:\Software\Policies\Microsoft\Windows\GameDVR' -Name 'AllowGameDVR' -Value 0 -PropertyType DWord -Force -ea SilentlyContinue

Does this give you any issues?
What I'm looking for is to know if the fixes you applied is related to the group policy.

@Luadih
Copy link
Contributor Author

Luadih commented May 3, 2024

No, that doesn't give any issues. In fact I think I was already trying with "AllowGameDVR" set to 0.

I did play some games recently and didn't have any issues having it set up like this image:
image

@Luadih
Copy link
Contributor Author

Luadih commented May 11, 2024

I close this now, since the fix made for it in #1934 was merged in

@Luadih Luadih closed this as completed May 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants