How to disable FSO in w10?

Discussion in 'Operating Systems' started by klunka, Nov 8, 2020.

  1. klunka

    klunka Member

    Messages:
    32
    Likes Received:
    6
    GPU:
    1080ti / 11gb
    Disabling fullscreen optimizations is not working for several games on my 1909 installation.

    I already tried the following:
    -Disabling the traditional way (right click on .exe - compatability - disable fullscreen optimizations)
    ^Works for some games but not all (I think it only works for 32bit application)
    -Setting correct values in HKEY_CURRENT_USER\System\GameConfigStore\
    ^Did nothing
    -Changing flags in HKEY_CURRENT_USER\System\GameConfigStore\Children\*key coressponding to your game*
    ^this works but other games have no entry under Children so you're out of luck
    -Running this script by @AveYo https://pastebin.com/1twn8geB
    ^Doesn't seem to work anymore

    Do you know of another way to disable FSO, for specific games or in general, lmk!
     
  2. Caesar

    Caesar Maha Guru

    Messages:
    1,412
    Likes Received:
    564
    GPU:
    GTX 1070Ti Titanium
  3. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,713
    Likes Received:
    9,710
    GPU:
    GF RTX 2070 Super
    @klunka
    It can be that in some games you can`t disable FSO.
     
    AveYo likes this.
  4. klunka

    klunka Member

    Messages:
    32
    Likes Received:
    6
    GPU:
    1080ti / 11gb
    @mbk1969
    In my case, I installed a game(apex), disabled FSO by changing flags value in HKEY_CURRENT_USER\System\GameConfigStore\Children\*name of apex key* and it worked perfectly.
    After playing for a long time without FSO I eventually reinstalled the game. Tried the same fix, but the key under children was missing so I couldn't disable it that way.
    So I'm positive it is doable for this game, but I have no idea how to workaround the missing reg entries.
     

  5. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,713
    Likes Received:
    9,710
    GPU:
    GF RTX 2070 Super
    @klunka

    That should teach you to back up registry keys before messing with them.

    Also you could elaborate on which registry value is responsible for disabling FSO in mentioned key(s).
     
  6. klunka

    klunka Member

    Messages:
    32
    Likes Received:
    6
    GPU:
    1080ti / 11gb
    What? You obviously didn't understand what I wrote.

    There is no point backing up registry before changing a single value....even more so when you can just delete said value and it will repopulate with default value once you start the game.
    What's causing the problem is the reinstallation, which did not create the reg entries like it did before....nothing to do with me changing a value.

    Also I wrote exactly what I changed: A dword called "Flags" and I changed it to 211 hex. It's located in HKEY_CURRENT_USER\System\GameConfigStore\Children\*keyname* -the name of the key in wich "Flags" is located" is different for every installation, it's string of numbers and letters.
     
  7. Marctraider

    Marctraider Member

    Messages:
    17
    Likes Received:
    6
    GPU:
    670GTX
    From my own Live Post-install script:

    # Enable/Disable Full Screen Optimizations (All to 0 is On)
    $Path = "HKCU:\System\GameConfigStore"; if(-not (Test-Path -Path $Path)){ New-Item -ItemType String -Path $Path }
    New-ItemProperty -Path $Path -Name "GameDVR_DXGIHonorFSEWindowsCompatible" -PropertyType Dword -Value 1 -Force
    New-ItemProperty -Path $Path -Name "GameDVR_EFSEFeatureFlags" -PropertyType Dword -Value 0 -Force
    New-ItemProperty -Path $Path -Name "GameDVR_FSEBehavior" -PropertyType Dword -Value 2 -Force
    New-ItemProperty -Path $Path -Name "GameDVR_FSEBehaviorMode" -PropertyType Dword -Value 2 -Force
    New-ItemProperty -Path $Path -Name "GameDVR_HonorUserFSEBehaviorMode" -PropertyType Dword -Value 1 -Force

    This is on LTSC 1809, not sure if it still works like this on new builds.

    Remember that FSO is only ment for DX9~11 games, so it has no use trying to enable or disable this for Vulkan/DX12 based games. (Not sure about OpenGL?)
     
    AveYo likes this.
  8. AveYo

    AveYo Member

    Messages:
    43
    Likes Received:
    48
    GPU:
    8800GS 384MB
    If you don't want any trace of FSO, there's no other choice but staying on 1607 (LTSB-variety).
    But we all know how outdated that version is in most other areas. It's not worth using just for the sake of no-FSO, unless playing some competitive fps games where every little thing helps.

    If accepting the reality of inevitable FSO, other than the convenient script to toggle it off automatically instead of hunting launchers and executables manually, there is not much else to do without breaking windows.

    It might not be immediately obvious, but disabling FSO should be paired with disabling the GameBar.
    And it's not enough to just toggle it in the settings, you must disable GamebarPresenceWriter as well since it's influencing DWM!

    Modernized my script doing just that since 2017, download or copy-paste in powershell directly:
    ToggleGameBar-properly.bat

    edit: haven't played anything in an eternity, so just tested CS:GO, DOTA on 20H1 - disabling FSO works as advertised; while RE2 blocks FSO itself, so I guess it's a matter of how good the game devs were. Some games call borderless as Fullscreen in the video settings and exclusive fullscreen that you want, as something else.
     
    Last edited: Nov 9, 2020
    Smough and disq like this.
  9. mbk1969

    mbk1969 Ancient Guru

    Messages:
    11,713
    Likes Received:
    9,710
    GPU:
    GF RTX 2070 Super
    Or you didn`t understand what I wrote.
    You said that you got in trouble after you changed registry value and re-installation of game did not create registry key with that value. (Question is when and by who this key was deleted.)
    I said that if you create a reg-file (a backup) with needed registry keys (and values) before modifications, then you do not need to re-install game to re-create registry keys and/or revert registry values to default state because you have original state of keys/values in reg-file.

    Btw, the problem with those "HKEY_CURRENT_USER\System\GameConfigStore\Children" subkeys can be in Windows - it can be that not the game creates needed subkey, but Windows creates the subkey as a part of FSO changes made by MS team.

    Now you did, but earlier - "disabled FSO by changing flags value" - you did not.
     
    Last edited: Nov 9, 2020
  10. disq

    disq Member Guru

    Messages:
    166
    Likes Received:
    132
    GPU:

  11. AveYo

    AveYo Member

    Messages:
    43
    Likes Received:
    48
    GPU:
    8800GS 384MB
    I can confirm an issue with the way I called reg_own snippet, fixed now.
    (I'm used to call it as batch, but here had to call it as powershell, with "," between arguments).
    My bad. Thanks for the detailed report!
     
  12. disq

    disq Member Guru

    Messages:
    166
    Likes Received:
    132
    GPU:
    Same behavior still on my machine @AveYo

    If i remember correctly i've already used another script by you in the past - disable_gamebarpresencewriter.bat - maybe that has something to do with it

    But it's still reporting it as being ON so idk
     
  13. AveYo

    AveYo Member

    Messages:
    43
    Likes Received:
    48
    GPU:
    8800GS 384MB
    yeah it's that script that I've updated
    damn, then it's something else and I can't see it. for me it works, even tested it in two vm's
    no biggie, you can do it manually in regedit:
    Take ownership of
    Code:
    HKLM\SOFTWARE\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.GameBar.PresenceServer.Internal.PresenceWriter
    Then change ActivationType to 0
    Repeat for
    Code:
    HKLM\SOFTWARE\WOW6432Node\Microsoft\WindowsRuntime\ActivatableClassId\Windows.Gaming.GameBar.PresenceServer.Internal.PresenceWriter
    And the pesky GamebarPresenceWriter will stop loading and mess with GameConfigStore and DWM
     
    Caesar and disq like this.
  14. disq

    disq Member Guru

    Messages:
    166
    Likes Received:
    132
    GPU:
    Thanks for that! I've already used some "tweaks" in this OS install so yep, it could be because one of those, so no need to waste more time debugging that

    I'm sure it works as intended. Love your scripts btw, simple and clean :)

    PS: i assume this new "ToggleGameBar-properly.bat" replaces the old "disable_gamebarpresencewriter.bat", right?!
     
  15. klunka

    klunka Member

    Messages:
    32
    Likes Received:
    6
    GPU:
    1080ti / 11gb
    Sorry for late reply..

    I've managed to get the registry key in HKEY_CURRENT_USER\System\GameConfigStore\Children back.
    You need to enable gamebar, start the game, press WIN+G and the tick the box to remember this as a game. Now you have the Children entry back.
    In the past when you changed the "Flags" key to 211 hex, it would disable FSO for apex, but seems like it's not working anymore.

    @AveYo
    Thanks for chiming in here, appreciate it! I disabled GamebarPresenceWriter and tried again, but volume bar overlay etc. still showing for apex legends. It works fine for other games like csgo though.

    Come to think of it.....another game that is forcing FSO is valorant. For both games you can't change priority via taskmanager, presumably because of their anticheat system. Maybe the same mechanism preventing priority change also prevents the disabling of FSO.
    edit: nvm the valorant thing....looks like I just didn't tick the right exe
     

  16. AveYo

    AveYo Member

    Messages:
    43
    Likes Received:
    48
    GPU:
    8800GS 384MB
    apex legends is on source 2 engine so it should support dx9, dx11 and vulkan, but it is most likely customized to not expose a choice in the matter; so you could use launcher (steam or whatever) to pass launch options to the game, such as -fullscreen and -dx11 or -d3d11 or -d3d10
    and if the game does something lame like running as admin you could toggle fso off the usual way but for all users and see if that sticks
    never found the incentive to download a 50GB+ multiplayer game to try it myself

    as for valorant, the automatic toggle script should have helped with that, since it does it for all executables lanched, so you don't have to browse library folders and check executables by hand
     
  17. klunka

    klunka Member

    Messages:
    32
    Likes Received:
    6
    GPU:
    1080ti / 11gb
    @AveYo
    Tyty! I tried the commands for different dx but the game always uses dx11(checked with msi afterburner thingy). -fullscreen and disabling FSO for all users is something I've tried before, the game still ignores it and runs in independent flip mode.

    What I tried now is disabling DWM (delete dwm.exe and use rundll32.exe as placeholder; delete sihost, delete Windows.UI.Logon.dll Windows.UI.Logon.dll; delete explorer.exe). Then I started the game with cmd. It kept minimizing and maximizing and did not load. So I tried different game and it worked flawlessly. Next I tried turning ON fso for that second game, and the result was it started in windowed mode and refused to switch to fullscreen.
    TLDR if the game has FSO enabled, killing dwm will make it impossible to launch the game or force windowed mode with 10 fps.
     

Share This Page