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

DirectX 9 fullscreen - no input and no way to exit #104

Open
SlowRichard opened this issue Aug 2, 2022 · 4 comments
Open

DirectX 9 fullscreen - no input and no way to exit #104

SlowRichard opened this issue Aug 2, 2022 · 4 comments

Comments

@SlowRichard
Copy link

Under Beebem v4.18 on Windows 11, if I enter fullscreen mode with the following settings (I believe these are the defaults) then there appears to be no way to exit fullscreen except signing out or shutting down.

Display Renderer: DirectX9
DirectX Full Screen Modes: 640x480
Method: either Alt+Enter or View-Full Screen menus

Changing the DirectX Full Screen Mode to Current Screen Resolution "fixes" this issue.

I hope this helps.

Thanks,
Richard

@chrisn
Copy link
Collaborator

chrisn commented Aug 15, 2022

Thanks, I don't have Windows 11 to test with, I'll see if I can reproduce this on Windows 10.

@SlowRichard
Copy link
Author

Hi,

Thanks for looking into this but I have tried to reproduce it myself just now with the same settings and everything seems to be working fine now!

I know it happened consistently before, I'm not sure what else has changed on my system (no graphics drivers updates, a couple of Windows cumulative updates) but something seems to have sorted it...

Thanks again,

Richard

@SlowRichard
Copy link
Author

Hi,

Sorry I spoke to soon, I tried one more time after posting and of course it crashed like before.

For what it's worth, I just tried installing Beebem on my laptop (Intel with Xe integrated graphics) and couldn't reproduce it. The desktop/mini PC I was using has a Ryzen with Radeon integrated graphics, so it could just be a driver issue... Anyway, it's easily fixed by setting the fullscreen resolution to match the desktop.

Thanks,
Richard

@chrisn
Copy link
Collaborator

chrisn commented Jan 14, 2023

Sorry for the delay in replying.

On my laptop, with DirectX9 selected, and any screen mode other than "Current Screen Resolution", entering full screen causes BeebEm to enter a loop continually resetting the screen mode. It seems to be caused by a D3DERR_DEVICELOST error, handled here:

ResetDX();

There's info on this error here: https://learn.microsoft.com/en-us/windows/win32/direct3d9/lost-devices

chrisn added a commit that referenced this issue May 30, 2024
BeebEm would revert to GDI rendering after the host PC
resumes from being suspended and, as reported in
issue #104 could in some case enter a loop continually
resetting the screen mode on entering full screen.

This commit adds handling for D3DERR_DEVICELOST
errors from IDirect3DDevice9::Present().
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

No branches or pull requests

2 participants