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

LastDisplayDevice being overridden on game startup in Borderless and Fullscreen modes, based on the window position and size from Windowed mode #6134

Open
koloml opened this issue Jan 14, 2024 · 0 comments

Comments

@koloml
Copy link

koloml commented Jan 14, 2024

While playing osu!lazer, I noticed that it will always start up on the second display, no matter what display was selected in the settings.

After some testing, I was able to find approximate window size and position needed to reproduce it. It might have something to do with WindowedSize and WindowedPositionX, causing LastDisplayDevice detection to consider that game is not on the first screen.

Related specs:

  • OS: Windows 11 Prom 23H2;
  • Displays: Two displays, placed horizontally, primary on the left and secondary on the right;

Steps to reproduce:

  • Delete the framework.ini file;
  • Run the game and switch screen mode to "Windowed";
  • Resize the window to minimal possible width (example: 640x768);
  • Move the window in between of two screens, moving closer to the second display; window should automatically jump to the second display when mouse button released;
  • After that, move the window all the way to the right corner of the second display and switch the screen mode to Borderless or Fullscreen;
  • Restart the game, switch display to the first one;
  • Restart the game; game will open on the second display.

Reproduction of the issue on video: https://1drv.ms/v/s!Aj9Bqk9SLvd5go43ndrVQYQ0oshKsA?e=quD4Pt

Example of framework.ini file with the issue present:

ShowLogOverlay = False
WindowedSize = 640x768
ConfineMouseMode = Fullscreen
ExecutionMode = MultiThreaded
WindowedPositionX = 1.5
WindowedPositionY = 0.516
LastDisplayDevice = First
AudioDevice = 
VolumeUniversal = 0.05
VolumeMusic = 1.0
VolumeEffect = 1.0
HardwareVideoDecoder = Any
SizeFullscreen = 9999x9999
MinimiseOnFocusLossInFullscreen = True
FrameSync = Limit2x
WindowMode = Fullscreen
Renderer = Automatic
ShowUnicode = False
Locale = 
MapAbsoluteInputToWindow = False
IgnoredInputHandlers = 
CursorSensitivity = 1.0

Notice that LastDisplayDevice is correctly saved to the First when I change the settings and exit the game. Once game is started again, LastDisplayDevice is immediately being changed to the Second.

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

1 participant