Skip to content

Add global compatibility configuration feature#3

Open
Ingan121 wants to merge 2 commits into
nbusseneau:masterfrom
Ingan121:master
Open

Add global compatibility configuration feature#3
Ingan121 wants to merge 2 commits into
nbusseneau:masterfrom
Ingan121:master

Conversation

@Ingan121

@Ingan121 Ingan121 commented Jan 31, 2021

Copy link
Copy Markdown

It is possible to set a global compatibility option by using an environment variable named __COMPAT_LAYER, so I added a feature to change it easily.

(The auto-generated comments of Strings.Designer.cs were changed to Korean because my system and VS language is Korean, and it seems there is no simple way to change them to English without completely replacing my VS language by installing the English language pack. I think doing a simple task with English VS will change that back to English.)

(Btw, I did this after seeing many articles saying 'there is no way to disable the fullscreen optimization globally after 1809'.)

@nbusseneau

Copy link
Copy Markdown
Owner

Thanks for the PR! I actually didn't know about __COMPAT_LAYER, otherwise I'd have done that in the first place!! :D
I don't think I will have time for a proper code review this week though, but I will try to have a look next weekend.

(Btw, I did this after seeing many articles saying 'there is no way to disable the fullscreen optimization globally after 1809'.)

Yep... Technically it's still the case, as setting __COMPAT_LAYER just makes it so that applications are automatically passed the "disable optimizations" flag, but it does not disable fullscreen optimizations globally.

I'm actually curious as to whether the environment variable overrides compatibility tab, or the other way around, I will have to play with it.

@nbusseneau nbusseneau self-assigned this Jan 31, 2021
@nbusseneau
nbusseneau self-requested a review January 31, 2021 21:50
@he3als

he3als commented Feb 6, 2022

Copy link
Copy Markdown

any updates on this?

@nbusseneau

Copy link
Copy Markdown
Owner

Sorry, I did not take the time required to properly test this PR nor integrate it. Is that feature something you'd need?

@he3als

he3als commented Feb 7, 2022

Copy link
Copy Markdown

it would be quite useful for a lot of people as i think that people just want to disable fullscreen optimisations globally instead of per application

@InternalxHD

Copy link
Copy Markdown

i agree, a global option would be great

@chestfindman

chestfindman commented Feb 24, 2026

Copy link
Copy Markdown

Environment variables can be set by the user manually.
Right click "This PC" -> Properties -> Advanced system settings (Right panel) -> Environment variables
(Under user variables) New -> __COMPAT_LAYER
And also value -> DISABLEDXMAXIMIZEDWINDOWEDMODE

While this is amazing, there is at least one game (Assassin's Creed 1) that crashes if FSO are disabled, so an exception would be nice? But even if not, it's just one game.

Edit: You can add "exceptions" using the "set" command, create a .bat file to launch the game, example:
set __COMPAT_LAYER=
start "" "AssassinsCreed_Dx10.exe"
(Credit goes to a user on a RustDesk GitHub issue thread I can't find right now)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants