1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Compatibility flags utility

Discussion in 'Operating Systems' started by mbk1969, Nov 3, 2017.

  1. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Ok, I have discovered where Windows stores compatibility flags for exe-files.

    It is done:
    https://www.mediafire.com/file/1v972wz1j9rrw93/Compatibility_util.zip

    Purpose of this utility is just to simplify the setting of compatibility flags for exe-files - those from "Compatibility" tab in Properties dialog of exe-files.

    Features:
    1. Searching for exe-files in folder (and its subfolders) user specified.
    2. Flags available to edit are:
    - Run this program as an administrator;
    - Disable full screen optimizations;
    - Run this program in compatibility mode for: {versions of Windows}.
    3. More than one cell in checkbox columns can be selected by standard means with keyboard (press Up or Down holding Shift) or with mouse (click any cells holding Ctrl or click first and last cells in range holding Shift) and then toggled by Space.
    4. Jump to file location by double click on the cell with exe-file path.
    5. Preserving last searched folder between utility launches.
    6. All compatibility flags are saved for the current user only.
    Update: 7. Searching in registry (for current user) for already configured exe-files (button "Check registry").

    When done with editing just need to click button "Apply".

    To start a search just type folder in the edit box at toolbar - it will give suggestions just like address bar in explorer, and then click button "Search files".

    PS Utility is built with .Net Framework 4.5
    Elevated execution is not needed but I only tried it with administrator account.
     
    Last edited: Nov 10, 2017
    intrud3r, Back37, akbaar and 3 others like this.
  2. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,300
    Likes Received:
    196
    GPU:
    .
    Are you sure it is a good idea to bypass the Windows Runtime applications' manifest?
    Any practical example of benefits you encountered with real application having issues hearing their own manifest settings?
    I am asking this because I use very few third party applications from the Windo.. Microsoft Store.

    ..As for admin privileges, the Store environment is mostly meant to not run any application with admin rights.
     
    Last edited: Nov 4, 2017
  3. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    I don`t understand what are you talking about. This utility is for gamers (in first place) who want to turn on "Disable full screen optimizations" compatibility option for games not in explorer finding their exe-files one by one (and firing properties dialog up) but in one place.

    If my phrase "where Windows stores compatibility flags for exe-files" leads you to "MS store applications" I am sorry, I did not think it can imply MS store. I found where Windows saves compatibility flags for exe-files.
     
  4. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,300
    Likes Received:
    196
    GPU:
    .
    My bad, I was tired and I read "Windows Store" instead of "Windows stores".

    As for the fullscreen optimizations issues, they came back since they upgraded the WDDM in the last version of Windows 10, probably there are some bugs in the current video drivers (like it was in the first months of the first version of Windows 10).
     

  5. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Yeah. Most of programmers are lazy but since I already have the utility which searches for exe-files I just decided to borrow existing code and attach new functionality.
    It will be ready soon.
     
  6. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,300
    Likes Received:
    196
    GPU:
    .
    If you are looking for an "historical" database of the compatibility flags, you can also look at the "windows application compatibility toolkit" (included in the "Windows Assessment and Deployment Kit" for Windows 10). Having such utility with a database for old titles would be really sweet. Most of those titles should be detected by the compatibility assistant service by reading the executable requires libraries, but I am not sure that every flags could be setted properly just analysing the metadata for very old titles...
     
  7. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Thanks. But I hope to limit the usage to Win10 since namely Win10 introduced troubles which can be "solved" by these compatibility flags.
    PS And I only support three flags without touching others.
     
    Last edited: Nov 4, 2017
  8. Bloodred217

    Bloodred217 Master Guru

    Messages:
    356
    Likes Received:
    1
    GPU:
    2x GTX 1080 G1 Gaming 8GB
    This does sound like a nice & useful application. I suppose you would've already thought about it, but I think it would be nice to be able to point the utility at multiple folders and have it disable FSO on executables it recursively finds under those destinations, so you can specify multiple locations without potentially applying it system-wide or partition-wide (multiple game folders, multiple Steam libraries, libraries from different digital distributors, etc.).

    Another thing, just yesterday I noticed that disabling FSO on Fall CU can break games too. I booted up Borderlands 2 after not touching it for years and the game straight-up fails to start at all if FSO is disabled, runs entirely fine with FSO enabled. In that vein it might be nice to allow us to provide a list of exceptions (just .exe names) which would be ignored even if they're encountered under a search path. We could re-enable FSO manually of course, but it doing so may become a pain in the end.
     
  9. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    It is done... Description in OP.
     
  10. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Utility doesn`t apply change of compatibility flags automatically. It just searches the folder (recursively), shows exe-files and gives user full freedom in changing those flags - individually or in bulk.
    And ofc if exe-file already has compatibility flags set utility will show it.
     
    Last edited: Nov 4, 2017

  11. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Active testing is needed. And may be in earlier versions of Windows 10 (well and Windows 8 too).
     
  12. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    I can add another compatibility flag "Override high DPI scaling behaviour: Application, System, System (Enhanced)" but I am not aware what it does. Being minimalist I did not add it, but if anybody wants to be able to set it, I can add it.
     
  13. lucidus

    lucidus Ancient Guru

    Messages:
    11,859
    Likes Received:
    1,369
    GPU:
    GTX 1070
    Does this apply to 14393? Problems really began with 15063 afaik.
     
  14. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,300
    Likes Received:
    196
    GPU:
    .
  15. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Out of three flags only one is new (creators update?), other two was there for a many generations of Windows. I don`t think that setting "Disable fullscreen optimizations" in earlier versions will bring problems because most probably Windows will just ignore flags it doesn`t understand.
     
    Last edited: Nov 5, 2017

  16. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    Btw, under "active testing" I just mean setting flags in utility and then checking them in Properties dialog (Compatibility tab).
     
  17. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
  18. lucidus

    lucidus Ancient Guru

    Messages:
    11,859
    Likes Received:
    1,369
    GPU:
    GTX 1070
    Yeah it seems to be a 1703+ thing. Yay, I'm immune :p

    https://www.reddit.com/r/Windows10/comments/645ukf/windows_10_cu_fullscreen_optimizations/

    I'll keep this in my toolkit in case I upgrade to a newer version of win10.
     
  19. Alessio1989

    Alessio1989 Maha Guru

    Messages:
    1,300
    Likes Received:
    196
    GPU:
    .
    It would be interesting to see what graphics cards and drivers are suffering such options and in what scenarios (specific games, specific display modes, specific presentation modes, other things like EVR rendering etc..).
    Actually I only had issues with WMC (which should not officially installed on W10 btw...), using a r9 380x with last amd drivers...
    As for the full-screen optimization idea, removing the "exclusive" mode is generally a good idea since it makes the behaviour of the DXGIK calls like the DX12 fullscreen (which is quite like a borderless fullscreen window with only a couple of kernel calls, but it doesn't have pre-emption against DWM and requires less kernel calls compared to the old classic fullscreen true exclusive mode... al this should lower the latency and increase a lil bit the performance).
    Unfortunately the Windows SDK gives developers a lot of tools to interact with the swap-chain, some of them should be never used outside specific area or debugging, but unfortunately a lot of titles ignore the Microsoft recommendation to obtains specific behaviours, mostly to make things to work with third parti middleware of notorious gfx bugs discovered by the development of the game/application).
    So Microsoft didn't do all the thing wrong, but a global flags which could be turned on or off by the user would be a better solution, at least until al potential drivers and runtime bugs are corrected.
     
    Last edited: Nov 6, 2017
  20. mbk1969

    mbk1969 Ancient Guru

    Messages:
    7,357
    Likes Received:
    3,877
    GPU:
    GeForce GTX 1070
    dr_rus answered me about MS "replacing" exclusive mode with new borderless one, but since I don`t know where he got this info and whether he is game programmer or not, I will take such statements with grain of skepticism. Did you find any documents concerning this moment? How user can check whether the game runs in borderless mode instead of exclusive?

    PS Btw I managed to "cure" old game Mass Effect 3 which started to demonstrate (after update to FCU) stuttering during one specific (but frequently shown) cutscene by turning this "disable fullscreen optimizations" on. And I am not even sure it uses DX11.
     
    Last edited: Nov 6, 2017

Share This Page