View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004529 | Spring engine | General | public | 2014-09-03 14:41 | 2014-09-11 22:42 |
| Reporter | Jools | Assigned To | abma | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | resolved | Resolution | no change required | ||
| Product Version | 97.0.1+git | ||||
| Summary | 0004529: Spring opens in secondary monitor | ||||
| Description | Spring always opens in secondary monitor, ie one without the taskbar and system tray showing. Only way to get it to the primary monitor is to enable windowed mode while in game, then send that window over to primary monitor, and then re-enable fullscreen mode. This has to be repeated each time the game is started and it breaks some visuals that do not rescale to new resolution. Other windows programs do not behave this way, they generally remember in which window they opened into last time, or you can make them do that. | ||||
| Steps To Reproduce | Start spring with dual monitors enabled | ||||
| Additional Information | Tested with Spring 97-360. | ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
| Checked infolog.txt for Errors | |||||
|
|
Even if this is maybe not directly caused by the spring engine, it is still an issue that in my opinion blocks the new engine release. People would just prefer the older one instead of this issue. And issue doesn't happen in spring 96 because it handles fullscreen differently. |
|
|
See also: http://stackoverflow.com/questions/52755/what-determines-the-monitor-my-app-runs-on |
|
|
does it work with WindowBorderLess=1 ? http://stackoverflow.com/questions/18728821/multiple-displays-in-sdl2 (=> sounds like a bug in SDL2) also i don't think that many people have two monitors, but idk. (no major bug because not few people are affected, also you already described a workarround) |
|
|
you can try to set the env var SDL_VIDEO_FULLSCREEN_HEAD=0 from here: http://stackoverflow.com/questions/19431170/fullscreen-modes-in-ubuntu-sdl-opengl "Modechanges are eeeeevil, especially in multi-display environments." you should use WindowBorderLess=1 |
|
|
I tried to set WindowBorderLess=1 in settings and the env var SDL_VIDEO_FULLSCREEN_HEAD to 0, but it didn't help. The problem is evident already at the game menu, the picture of the island with palms. If I move the window to my primary display (with win+shift+left arrow), it will retain the resolution of the secondary display. And when I give spring focus again it will move again to the secondary display. Something has to tell spring.exe where to open, I wonder if it's a registry value or something. I don't understand so much about SDL, but in SDL 1.2 it always opened where it was run last time. The obvious workaround is to not extend the display to secondary monitor, but that'a a very convenient thing to do as you can code and reload luaui at the same time without alt-tabbing. |
|
|
please run http://springrts.com/dl/buildbot/default/develop/97.0.1-368-g4f0a478/win32/ and paste infolog.txt here again! it contains a bit more info: https://github.com/spring/spring/commit/a66fada1be3bd805beba3c2d3d4a8920a773e764 with this info you should be able to configure spring that it runs on the second screen: set XResolution,YResolution,WindowPosX,WindowPosY to the data from the second screen and FullScreen=0, WindowBorderLess=1 |
|
|
Here is the infolog from 97-368 build. Spring runs on the display that is 1024*768 (it's a lcd TV) and I want it to run on the monitor with 1280*1024. I think it identifies the 1024*768 as display 2 and the 1280*1024 as display 1 correctly. |
|
|
to run it on a specific monitor, set: FullScreen=0 WindowBorderLess=1 and for monitor 1: XResolution=1280 YResolution=1024 WindowPosX=0 WindowPosY=0 monitor 2: XResolution=1024 YResolution=768 WindowPosX=1280 WindowPosY=0 please test and report back if this works! |
|
|
I can not set those parameters for monitor 1 and 2 separately, I have only 1 set of those parameters in springsettings.cfg. But if I set WindowPosX=0 then it does open up in monitor 1. So the way to control window placement is in fact with those parameters, that's the solution to this report. One thing, although minor, is that the mouse is not grabbed on the border between the two monitors, but it can be achieved by typing /grabinput. Has to be done each time though, although it can probably be made into a widget. |
|
|
But I consider the issue resolved, thank you very much. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2014-09-03 14:41 | Jools | New Issue | |
| 2014-09-03 14:41 | Jools | File Added: infolog.txt | |
| 2014-09-03 14:43 | Jools | Note Added: 0013588 | |
| 2014-09-03 14:52 | Jools | Note Added: 0013589 | |
| 2014-09-05 00:43 | abma | Note Added: 0013596 | |
| 2014-09-05 00:44 | abma | Note Edited: 0013596 | |
| 2014-09-05 00:46 | abma | Note Added: 0013597 | |
| 2014-09-05 00:50 | abma | Severity | major => minor |
| 2014-09-05 00:53 | abma | Note Edited: 0013596 | |
| 2014-09-05 01:06 | abma | Note Edited: 0013596 | |
| 2014-09-05 01:06 | abma | Status | new => feedback |
| 2014-09-05 01:12 | abma | Note Edited: 0013597 | |
| 2014-09-05 17:05 | Jools | Note Added: 0013599 | |
| 2014-09-05 17:05 | Jools | Status | feedback => new |
| 2014-09-06 03:12 | abma | Note Added: 0013600 | |
| 2014-09-06 03:12 | abma | Assigned To | => abma |
| 2014-09-06 03:12 | abma | Status | new => feedback |
| 2014-09-08 19:12 | Jools | File Added: infolog_368.txt | |
| 2014-09-08 19:14 | Jools | Note Added: 0013622 | |
| 2014-09-08 19:14 | Jools | Status | feedback => assigned |
| 2014-09-09 00:02 | abma | Note Added: 0013625 | |
| 2014-09-09 01:44 | abma | Note Edited: 0013625 | |
| 2014-09-09 03:05 | Jools | Note Added: 0013627 | |
| 2014-09-09 03:06 | Jools | Note Added: 0013628 | |
| 2014-09-11 22:42 | abma | Status | assigned => resolved |
| 2014-09-11 22:42 | abma | Resolution | open => no change required |