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

Always disable exclusive full-screen on Windows #4485

Merged
merged 2 commits into from
Nov 25, 2024
Merged

Always disable exclusive full-screen on Windows #4485

merged 2 commits into from
Nov 25, 2024

Conversation

doitsujin
Copy link
Owner

So far we're always letting the driver decide whatever it wants to, but since Windows doesn't seem to give drivers any sort of low-level access to anything more modern than D3D9-level presentation APIs we just end up in a situation that sucks for everyone anyway, so migth as well disable it and at least have a slim chance of things like alt+tab actually working.

Should also fix #4465 and related issues, I can't be arsed to add hundreds of app profiles for this garbage.

@Blisto91
Copy link
Contributor

Touches issue
#2640
#3963
And maybe or maybe not
#3819
#1694
#4147

@qinlili23333
Copy link
Contributor

qinlili23333 commented Nov 25, 2024

Approve for short term until we can find some better way to handle FSE. Compatibility is more important than performance.

Actually these days I'm also considering about detecting WS_SYSMENU flag and only enable DSE for those without this flag. I tested variety of games including normal AAA titles and AVG with different engines. I found that those games cannot work well under FSE all have WS_SYSMENU flag even under fullscreen while most AAA titles like UE3 titles usually remove this flag when entering fullscreen. I'm not sure whether we can detect this flag and do sth better, so I approve we should disable FSE globally until we have developed sth better.

Edit:I tried to make an experimental FSE selection based on WS_SYSMENU. qinlili23333@2a0e98a

I have tested locally and it works well, but I'm not sure whether it will break sth else.

Tested games:
9-nine- series(Kirikiri Z, with top menu bar): FSE auto disabled
NEKOPARA vol.3 (CatSystem2, with top menu bar): FSE auto disabled
Fragile Ball (Normal game without top menu bar): FSE auto enabled
Cars (Normal game without top menu bar): FSE auto enabled
Time Leap Paradise SUPER LIVE! (game with top menu bar but d3d in child view while WS_SYSMENU only on parent): FSE auto enabled (Unexpected)

Sadly it seems WS_SYSMENU is still not a good idea.

@doitsujin
Copy link
Owner Author

doitsujin commented Nov 25, 2024

Meh. I want to avoid fucking around with window flags / messages at all costs. I also just don't want keep wasting time on annoying Windows quirks that simply do not exist on other platforms. If this fixes the problem then that's good enough.

@doitsujin doitsujin merged commit d7bd3cd into master Nov 25, 2024
8 checks passed
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

Successfully merging this pull request may close these issues.

3 participants