AUTOMATICALLY Disable Fullscreen Optimizations and set other AppCompatFlags, 3rd edition.

Discussion in 'Windows 10' started by AveYo, Oct 28, 2018.

  1. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    #1 AveYo, Oct 28, 2018
    Last edited: Mar 9, 2020
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    Absolute madman (and last I've checked, highly intoxicated) crafts concept script to automatically set AppCompatFlags, specifically
    DISABLEDXMAXIMIZEDWINDOWEDMODE
    /thread
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    Hmm... I remember that FSO was causing issues in the first Creator's Update, but so far in the latest 1809 I do not get any issues, although I did use NTLite to eradicate Game Explorer .BIN that bites onto game .exe files and all that Game Mode stuff. The issue with FSO is that disabling prevents ReShade and/or ENB from functioning in some games.
     
  4. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    Are you implying games should not use post-processing?

    I tested LTSC 1809 and disabled via .exe or .exe hortcut properties FSO for all game, game stores (Stem, UPlay, etc.), game store UI/Overlay, and video playback exetcutable files. So far so good - no issues anywhere.

    BTW, any chance you can figure out how to disable DWM (Desktop Window Managere) entirely like in Windows 7 ? It was impossibleto do so in Win8/8.1, and all versions of Win10.
     
  6. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    You can't without a kernel driver, and that would mean running unsecured (test mode boot). But I'm not ruling out an easier path than that.
    I too spotted some disturbing activity injected via dwm. 1809 just feels weird on multiple fronts, not what one would expect from a LTSC moniker.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    BTW, does your FSO/FSE tweak work on the DWM itself? I just realized that you can't right-click on DWM.EXE or any .EXE in System32 directory to adjust compatibility. It can only be done via registry.

    Do you know of any other cool tweaks that are rare and awesome? For example, these de-couple certain driver-service filters from actual driver-services. In other words, it makes services that depend on each other NOT depend on each other - magical stuff! It break the HEX itself! I bet I could sell them on eBay, but with my kind heart I'm giving it up for free :D

    It must be in this specific REG-CMD/BAT-REG-CMD/BAT sequence or you'll get the fatal error and afterwards - reboot, go into Device Manager and uninstall/remove all the filthy worthless ENUMERATOR and other drivers with exclamation marks:

    Perhaps there are more of those filters I can disable? Any idea how to disable Security Accounts Manager service in LTSC 1809 without it causing a very long startup delay (30+ seconds) ???
     
  8. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    Seriously, what are you trying to achieve there? Nothing good can come out of so much crippling in the end, might as well run under some winpe project or even go for a tiny linux distribution.
    Btw decoupling is no secret, I use it all the time (my windows_update_toggle does it for wuauserv - only easier via service configurator sc.exe, not that "opaque" registry hex dump).
    There is another thread talking gaming in general that's more suitable for such discussion, this one is meant strictly for AppCompatFlags.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    OK, well, I can't get your magic stuff to work. I get this:

    C:\Windows>
     
  10. pf100

    pf100 Duct Tape Coder

    Oct 22, 2010
    2,069
    3,449
    90
    This project will come in very handy on my anemic dual core gaming boxen with a video card that's way better than the CPU.
     
  11. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    That's what the pastebin link is for - you just hit the download button there and you get the unaltered and complete source.
    Or you pay more attention when doing copy paste as to not omit stuff. It's a a hybrid batch-powershell script for convenience, so syntax matters! specifically the <# :: #> markers.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    Thanks - I got it! How to know for sure that it's working though? I use NTLite and it allows removal of very specific components, including Game Mode, GameDVR, etc. It removes files, registry entries, and all related material quite well, BUT I don't think GameDVR/Mode is related to FSO. Hell, nobody even knows for sure WHAT FSO does and how it does it.
    Does it prevent the game from entering true FSE? The last versions of Windows 10 that had true FSE was 14393-1607 and entering FSE either in video game settings or in MPC-HC for playback would result in the usual 2-3 second delay. With introduction of FSO in Creator's Update, that delay was reduced, but there were issues with some games, madVR + MPC-HC, and even ReShade/ENB. So what was it doing? Forcing the game to run in Borderless Mode? Through some overlay? Adding lag/latency?
     
  13. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    They've opened a backdoor hook into directx to intercept what should be non-intercepting drawing in total disregard of what "exclusive" should stand for.
    It's actually a bloody unstable hack adjusted manually for specific games that do not play well with the generic hook.
    And yes, all that crippling of OS files and configurations you are doing should disable this too,
    but this topic is addressed more to users not willing to risk reinstalling their OS or worse, and instead just do this safe, official method to turn it off via appcompatflags.
    Will delve more into it once 1809 is finally re-released.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    Thank you for a prompt reply!
     
  15. z110110

    z110110 MDL Junior Member

    Apr 15, 2017
    54
    12
    0
    I also like to use Ntlite, I do not play games, I also feel very good.

    Thank you for your sharing.

    No need to care about what others say, feel good and share with others is enough.
     
  16. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    Additionally to all that, the KnownGameList.bin file should be removed from at least 2 directories - Windows and Use GameDVR because that is the file DWM uses to identify whether the running .exe is one of the .exe that needs that FSO. There are also some related HEX-encrypted parent and child registry directories that I think are also related to that list.

    Finay, NTLite, even the FREE veraion can cleanly get rid of all game/Game-Mode/GameDVR-related DLL files in Windiws\System32 directory. Once all that is gone, I would run some thorough registry cleaning software, revoot, and get back to playing games
     
  17. v72dd

    v72dd MDL Senior Member

    Nov 20, 2016
    445
    77
    10
  18. MonarchX

    MonarchX MDL Expert

    May 5, 2007
    1,732
    313
    60
    #18 MonarchX, Dec 21, 2018
    Last edited: Dec 21, 2018
    Far Cry 5 won't launch for me when this script is active. I have to disable it for Far Cry 5 exe each time I want to play the game... How do I make a permanent exception for Far Cry 5 exe file or shortcut?

    Edit: The script already set Disable FSE flag for all installed games, so I disabled it in Autoruns and that prevented Far Cry 5.exe flag fromfbeing reset after each restart and each game exit.

    It would be cool if more knowledgeable people could take a look as to what makes Far Cry 5 exe file or the game itself act that way. After all, it worked fine without the FSE in Win10 builds that had no FSE, like LTSB 1607...

    Are there specific layer files or driver files or some dll dynamic libraries that force FSE? I removed all that was possible with NTLite in regards to Game Mode and Xbox UI, etc. The KnownGamesList bin file or KnownGameList bin file are also gone.

    I think without that KnownGameList file, Windows 10 cannot apply any special attributes to game .exe since it cannot recognize them as known game exe files.

    All in all, there is no stutter with or without FSE and I checked LatencyMon, which showed no latency difference.
     
  19. AveYo

    AveYo MDL Expert

    Feb 10, 2009
    1,836
    5,694
    60
    #19 AveYo, Sep 29, 2019
    Last edited: Sep 29, 2019
    (OP)
    Update 2019.09.29:
    - this old gem had the check for admin with HKU\S-1-5-20 and that fails on systems with a missing network service profile; HKU\S-1-5-19 on the other hand can never fail
    - switched to using script blocks (I'm starting to like this format for powershell admin scripts)
    - fixed parsing bug from 2019.09.28 update; made the clear existing manual definitions not default
    - added notice about being able to skip specific programs by manually setting another flag - for example the Override DPI option
    Better late than never :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. pf100

    pf100 Duct Tape Coder

    Oct 22, 2010
    2,069
    3,449
    90
    I'm using your script on my gaming machine on LTSC 1809 and it's working great. I'm wondering if it would be a good idea to make it pop up a screen or dialog for a couple of seconds that disappears on its own while a game starts that says "Fullscreen Optimizations disabled by BAU" (or add or replace text with whatever choice was made in the script) or something along those lines. I know that's not really necessary, it's just a thought.