Some users get DXGI_ERROR_NOT_CURRENTLY_AVAILABLE when starting in fullscreen mode.
This is the code that throws:
_swapChain.SetFullscreenState(PresentationParameters.IsFullScreen, null);
The docs say:
There are many reasons why a windowed-mode swap chain cannot switch to full-screen mode. For instance:
- The application is running over Terminal Server.
- The output window is occluded.
- The output window does not have keyboard focus.
- Another application is already in full-screen mode.
When this error is returned, an application can continue to run in windowed mode and try to switch to full-screen mode later.
I'm using MonoGame so I can make fixes to the source if I want to. But I have tried to handle the exception at the game level instead, by re-calling ApplyChanges() a few times when this error appears. That's what the docs suggested.