Closed Disk1of5 closed 8 years ago
hey @gdrewb-valve what are the chances that if this is a SDL issue this bug is also related to https://github.com/ValveSoftware/steam-for-linux/issues/3520 where big picture also launches on the incorrect monitor?
It's certainly possible given the similarity in the problem but it's hard to say with any certainty. If it turns out to be an SDL issue and gets fixed I can let the Steam team know, then they might update their SDL. That's down a long chain of "if's" so who knows what will happen.
@SHOTbyGUN, I believe I have a fix for a minor part of the problem where going from DF fullscreen to windowed switches monitors. That will ship in a future update. That doesn't address the larger problem of starting on the wrong monitor, though.
@gdrewb-valve
OK, so the problem is not in monitor identification and location, that at least rules that out. If you use a plain non-fullscreen window that's smaller than your monitors, say 1280x720, does -sdl_displayindex 0 put the window on the right screen? Does -sdl_displayindex 1 have any effect in that case?
So I started to play in windowed mode "almost at the full screen resolution" and I noticed this behavior: Dota and Dota Reborn in windowed mode will start with launch parameters: -novid -w 1910 -h 1020 (primary monitor) -novid -w 1910 -h 1030 (secondary monitor) repeated test multiple times... the few pixels missing from height is the taskbar. eg. if window does not fit primary screen with taskbar, it gets thrown in secondary screen?!? regardless of what -sdl_displayindex is.
Reborn doesn't make any checks for whether a window will fit, it just tries to center in the screen as given by sdl_displayindex. It's possible your window manager is overriding that (that's why I was asking about WM's before).
I think there is somewhat related issue with chat wheel, each time I bring chat wheel up my mouse is moved to the right side. I think it's trying to reset my mouses coordinates to the center of the screen, but I have 2 monitors so it just "centers" my mouse to the right side of the left monitor where the game is.
I can make separate issue for this if needed.
Issue #198 covers chat wheel issues but had been fixed. I'll reopen and you can comment there.
I'm also getting the same problem where it starts on the wrong window (non-primary).
WM: Gnome 3.16.3 OS: Archlinux
I can also confirm that Reborn starts on wrong monitor (not-Reborn starts correctly). -sdl_displayindex also fails to work. Ubuntu GNOME 15.04, AMD graphics driver.
@sekjun9878, what video mode are you running in? If you're running a borderless window at the desired monitor's resolution does it help to switch to desktop-friendly fullscreen?
Also if you use a window smaller than your monitor(s) do things start on the right display and does -sdl_displayindex work to control which monitor is used?
@gdrewb-valve
@gdrewb-valve
Please let me know if there's anything more to test. Would love to get this fixed.
We'll need to work with the SDL devs to try and see what's going on.
The behavior where a borderless window that's monitor-sized gets moved by the window manager is presumably by-design for the window manager and not something Reborn is doing. Assuming you want fullscreen-like behavior hoosing desktop-friendly fullscreen is the right video option, provided that we can find out why that uses the wrong monitor.
I can confirm, at least on the Cinnamon desktop environment, that it appears to be an issue with either cinnamon or its windows manager: Muffin
Windowed, the game will always go to the correct monitor.
Fullscreen/borderless/desktop-friendly will go to the wrong monitor.
HOWEVER, setting the cinnamon panel to auto-hide will allow Dota to start on the primary monitor in all modes. The same results happen when adding an additional panel to the secondary display and setting both panels to "always show".
@gdrewb-valve, As you mentioned earlier, this is likely a problem with the WM handling the game. It's curious however that the previous source 1 Dota didn't suffer from this.
Edit: as with others below "-sdl_displayindex 2" fixes the issue.
@gdrewb-valve I tweeted out to Ryan C. Gordon @rcgordon (on github) a few weeks ago a and he is aware of this bug has valve tried working with him to resolve this?
@Disk1of5 if you set your Cinnamon panel to auto-hide, does this correct the behavior?
@ase1590 doing that trick does startup full screen on the correct monitor.
I switched to debian and currenly using Xfce desktop environment with lightdm display manager. No dual monitor issues are present here... Also mousegrab works as intended.
This issue sounds like that SDL devs and Linux Mint devs have to solve this together. https://github.com/linuxmint/muffin
I'm quite sure the issue is as follows:
You have two resolutions:
Then:
I think this is not really WM issue. How is it handled on Windows? You have auto-hiding/static start menu bar there too.
One way to fix it would be to:
Note the two separate steps. Probably works as long as you don't initialize the window with max resolution.
This should work because you can already do that using these steps:
You can't fix it in all the WMs and you can't tailor solution for every setup because titlebars and other elements can have any size and position. But most WMs have a way to switch windows to full-screen mode.
I found a fix! I'm using Cinnamon on Arch. In launch options set -sdl_displayindex 2
@nullv0id have you even tried to read the comments?
@CommanderAlchemy Yeah I have. They all suggest trying 0 (primary) or 1 (secondary), no mention of trying "2". Maybe you should take your own advice and "try to read the comments", or try what I'm suggesting or maybe even stop shitposting. Frankly I don't care.
No good deed goes unpunished indeed.
@nullv0id Then instead of getting mad you would see that the index number correlates to your monitor. I have 3 monitors and tried using from 0 and 1 ie (0-2, 1-3) and game would launch on same monitor no matter what. (0x0).
@CommanderAlchemy Yes, the number obviously correlates to the monitor as I and many others already pointed out, but thanks for the reminder..? So it doesn't work for you, but it works for me and multiple people have said they tried 0 and 1, but not 2, so I suggested trying 2 since it worked for me.
Then you posted your useless reply while I was trying to help people out. I don't understand why you had to be a jerk in the first place nor do I really care. I was trying to actually contribute, but apparently you feel this place is better suited for shitposting.
Can confirm that -sdl_displayindex 2 works on a dual monitor setup, left monitor primary, Cinnamon Debian Jessie. Thanks @nullv0id!
Yea using 2 works when using with 2 monitors. Seems like the index starts with 1 and not 0.
@CommanderAlchemy try using 3.
EDIT: I'm actually using Gnome 3, not Cinnamon.
I can also confirm that -sdl_displayindex 2 works. I'm using Fedora 21 with Gnome 3, two Dell 23" monitors connected with DP, on an Intel HD 4600.
Also confirming that "-sdl_displayindex 2" works for me on Linux Mint 17.2 with Cinnamon (2 monitors), thanks
I tried -sdl_displayindex -1, 0, 1, 2, 3... but Reborn still launches on my left monitor, whereas my primary monitor is on the right. :( Running Mint 17.2 with MATE 1.10.2.
I think it's time to split this issue as we have a few different things going on. For those of you where -sdl_displayindex 2 works and you only have two monitors can you try the SDL display info test?
sudo apt-get install libsdl2-dev
wget https://hg.libsdl.org/SDL/raw-file/9f0a0c7de41a/test/testdisplayinfo.c
gcc testdisplayinfo.c pkg-config --cflags --libs sdl2
./a.out
Does it show two monitors or three? Hopefully it shows three and then this is an SDL problem with identifying monitors.
For the cases where the window manager appears to be moving windows between monitors when they can't fit I have opened issue #556.
I'll close this issue in favor of the more-specific issues once we have more-specific issues opened.
So I'm one of those for whom -sdl_displayindex 2
parameter fixes the issue.
Here's the output from testdisplayinfo
:
maiku / tmp maiku gcc testdisplayinfo.c $(pkg-config --cflags --libs sdl2)
maiku / tmp maiku ./a.out
INFO: Using video target 'x11'.
INFO: See 2 displays.
INFO: 0: "DELL U2410 24"" (1920x1200, (0, 0)), 12 modes.
INFO: CURRENT: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: DESKTOP: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 0: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 1: fmt=SDL_PIXELFORMAT_RGB888 w=1600 h=1200 refresh=60
INFO: MODE 2: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=75
INFO: MODE 3: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=60
INFO: MODE 4: fmt=SDL_PIXELFORMAT_RGB888 w=1152 h=864 refresh=75
INFO: MODE 5: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=75
INFO: MODE 6: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=60
INFO: MODE 7: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=75
INFO: MODE 8: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=60
INFO: MODE 9: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=400 refresh=70
INFO: MODE 10: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=75
INFO: MODE 11: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=60
INFO:
INFO: 1: "DELL U2410 24"" (1920x1200, (1920, 0)), 12 modes.
INFO: CURRENT: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: DESKTOP: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 0: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 1: fmt=SDL_PIXELFORMAT_RGB888 w=1600 h=1200 refresh=60
INFO: MODE 2: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=75
INFO: MODE 3: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=60
INFO: MODE 4: fmt=SDL_PIXELFORMAT_RGB888 w=1152 h=864 refresh=75
INFO: MODE 5: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=75
INFO: MODE 6: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=60
INFO: MODE 7: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=75
INFO: MODE 8: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=60
INFO: MODE 9: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=400 refresh=70
INFO: MODE 10: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=75
INFO: MODE 11: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=60
INFO:
Note: For those who also want to run the test the correct compile command is:
gcc testdisplayinfo.c $(pkg-config --cflags --libs sdl2)
For reference this is how my windows are aranged in Gnome 3
:
Primary display is on the left.
@MaikuMori, that's even stranger as you only have two displays so display index 2 is invalid and SDL should just end up returning 0,0 for its position. In your case that should be the same as display index 0. What video mode and size are you using and on what monitor?
Also, can you force things to use the libSDL2-2.0.so.0 in the Reborn directory (if you weren't already) just to see if it's some difference in behavior between Reborn's copy of SDL and your system SDL.
Unless I messed up something the output is the same with Reborns SDL:
maiku / tmp maiku env LD_LIBRARY_PATH=/home/maiku/.local/share/Steam/steamapps/common/dota\ 2\ beta/game/bin/linuxsteamrt64 ./a.out
INFO: Using video target 'x11'.
INFO: See 2 displays.
INFO: 0: "DELL U2410 24"" (1920x1200, (0, 0)), 12 modes.
INFO: CURRENT: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: DESKTOP: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 0: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 1: fmt=SDL_PIXELFORMAT_RGB888 w=1600 h=1200 refresh=60
INFO: MODE 2: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=75
INFO: MODE 3: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=60
INFO: MODE 4: fmt=SDL_PIXELFORMAT_RGB888 w=1152 h=864 refresh=75
INFO: MODE 5: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=75
INFO: MODE 6: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=60
INFO: MODE 7: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=75
INFO: MODE 8: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=60
INFO: MODE 9: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=400 refresh=70
INFO: MODE 10: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=75
INFO: MODE 11: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=60
INFO:
INFO: 1: "DELL U2410 24"" (1920x1200, (1920, 0)), 12 modes.
INFO: CURRENT: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: DESKTOP: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 0: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1200 refresh=59
INFO: MODE 1: fmt=SDL_PIXELFORMAT_RGB888 w=1600 h=1200 refresh=60
INFO: MODE 2: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=75
INFO: MODE 3: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=60
INFO: MODE 4: fmt=SDL_PIXELFORMAT_RGB888 w=1152 h=864 refresh=75
INFO: MODE 5: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=75
INFO: MODE 6: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=60
INFO: MODE 7: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=75
INFO: MODE 8: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=60
INFO: MODE 9: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=400 refresh=70
INFO: MODE 10: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=75
INFO: MODE 11: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=60
INFO:
maiku / tmp maiku env LD_LIBRARY_PATH=/home/maiku/.local/share/Steam/steamapps/common/dota\ 2\ beta/game/bin/linuxsteamrt64 ldd ./a.out
linux-vdso.so.1 (0x00007fff04ffd000)
libSDL2-2.0.so.0 => /home/maiku/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libSDL2-2.0.so.0 (0x00007fbb724ac000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fbb7228f000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fbb71eeb000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fbb71bed000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fbb719e9000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007fbb717e1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbb727af000)
OK, thanks. Can you post what video mode and size are you using and on what monitor? You mentioned previously that it seems like the indices are off by one, can you post exactly what happens for indices 0, 1 and 2? How about 3, just to see what happens?
Tried with different indexes:
So invalid index fixes the issue.
For reference these are my launch options: -novid -sdl_displayindex 2
.
Using correct index (<2) gives me this option screen:
And using incorrect index gives me this option screen:
I hadn't noticed before that using incorrect index messes up the resolution selection, but it makes sense.
As side note there is some issue with window event loop while game is starting since I always get unresponsive application dialog when I start Dota 2. But that's another issue.
I think the issue is still that window manager is moving the window to screen which has enough space for full window. Setting incorrect index probably messes up the window manager and it fails to move the window.
That does sound like #556, we'll see if other people that have -sdl_displayindex 2 report similar things.
@gdrewb-valve Just like @MaikuMori -sdl_displayindex 2 works for me, even though I only have two monitors. Here's my output as well:
INFO: Using video target 'x11'.
INFO: See 2 displays.
INFO: 0: "DELL UZ2315H 23"" (1920x1080, (0, 0)), 24 modes.
INFO: CURRENT: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=60
INFO: DESKTOP: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=60
INFO: MODE 0: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=60
INFO: MODE 1: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=59
INFO: MODE 2: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=50
INFO: MODE 3: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=30
INFO: MODE 4: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=29
INFO: MODE 5: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=25
INFO: MODE 6: fmt=SDL_PIXELFORMAT_RGB888 w=1600 h=900 refresh=59
INFO: MODE 7: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=75
INFO: MODE 8: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=60
INFO: MODE 9: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=720 refresh=60
INFO: MODE 10: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=720 refresh=59
INFO: MODE 11: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=720 refresh=50
INFO: MODE 12: fmt=SDL_PIXELFORMAT_RGB888 w=1152 h=864 refresh=75
INFO: MODE 13: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=75
INFO: MODE 14: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=60
INFO: MODE 15: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=75
INFO: MODE 16: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=60
INFO: MODE 17: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=576 refresh=50
INFO: MODE 18: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=480 refresh=60
INFO: MODE 19: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=480 refresh=59
INFO: MODE 20: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=400 refresh=70
INFO: MODE 21: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=75
INFO: MODE 22: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=60
INFO: MODE 23: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=59
INFO:
INFO: 1: "DELL UZ2315H 23"" (1920x1080, (1920, 0)), 24 modes.
INFO: CURRENT: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=60
INFO: DESKTOP: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=60
INFO: MODE 0: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=60
INFO: MODE 1: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=59
INFO: MODE 2: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=50
INFO: MODE 3: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=30
INFO: MODE 4: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=29
INFO: MODE 5: fmt=SDL_PIXELFORMAT_RGB888 w=1920 h=1080 refresh=25
INFO: MODE 6: fmt=SDL_PIXELFORMAT_RGB888 w=1600 h=900 refresh=59
INFO: MODE 7: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=75
INFO: MODE 8: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=1024 refresh=60
INFO: MODE 9: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=720 refresh=60
INFO: MODE 10: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=720 refresh=59
INFO: MODE 11: fmt=SDL_PIXELFORMAT_RGB888 w=1280 h=720 refresh=50
INFO: MODE 12: fmt=SDL_PIXELFORMAT_RGB888 w=1152 h=864 refresh=75
INFO: MODE 13: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=75
INFO: MODE 14: fmt=SDL_PIXELFORMAT_RGB888 w=1024 h=768 refresh=60
INFO: MODE 15: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=75
INFO: MODE 16: fmt=SDL_PIXELFORMAT_RGB888 w=800 h=600 refresh=60
INFO: MODE 17: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=576 refresh=50
INFO: MODE 18: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=480 refresh=60
INFO: MODE 19: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=480 refresh=59
INFO: MODE 20: fmt=SDL_PIXELFORMAT_RGB888 w=720 h=400 refresh=70
INFO: MODE 21: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=75
INFO: MODE 22: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=60
INFO: MODE 23: fmt=SDL_PIXELFORMAT_RGB888 w=640 h=480 refresh=59
When the invalid index is used it ends up trying to put the window at negative coordinates (it's trying to center the window on the given display and there isn't one so its size is 0,0 and the centering will put the window center at 0,0 so the upper-left will be negative). When I try this on my Ubuntu / Unity system it ends up putting the window in the upper-left corner of my leftmost monitor, so my guess is that this is working as a way of tricking the window manager into doing the right thing for window positioning. That doesn't lend itself to a real fix, though, so it's not clear how to proceed on these cases. At least there's something that works, even if it works by black magic.
As far as I understand, it only "works" if you want Reborn to launch on the leftmost monitor. Am I right ? In my case (2 monitors, the right one as main display), Reborn starts on the left monitor whatever the -sdl_displayindex supplied.
Correct, my comment was only for the people where -sdl_displayindex 2 is helping.
For others the important info is what video settings you're using: fullscreen, windowed, borderless, etc.; what resolution and what size of monitor it is. Also, try using a borderless window that's smaller than the monitor size. If that works you're probably one of the people affected by #556 where the window manager is not letting the window get created on the desired monitor.
@gdrewb-valve To me it seems like both the problem and the fix is quite obvious:
The problem is window manager being too smart and moving the window. I'm actually thinking that the WM behaviour is correct even though unintuitive.
The fix is also quite simple as I mentioned earlier:
This works. I actually just now tried another game (Pillars of Eternity) and this is exactly how it goes into full-screen mode. You can see it starting windowed then half a second later it goes full-screen.
Also other applications like browser, terminal, Emacs all can go into full-screen mode on my primary screen without problems.
The issue is only evident if you attempt to create window bigger than available resolution without actually being full-screen which is what Dota does right away as it starts.
Reborn uses SDL so the window creation work is inside of SDL. We've been talking to the SDL devs about this issue but changes would be up to them. Reborn could potentially try to work around SDL but it would be much more valuable to fix SDL so that all users of it benefit.
Same problem Here, I posted my results on thread #556 because the option -sdl_displayindex 2 doesn't help for me. What else can I do to help fix this?
also The option -fullscreen makes the game launch in the correct monitor but with extremely low framerate ~6fps so it's not really a workarround
@gdrewb-valve Using -sdl_displayindex 2
worked fine until now, but a since a few patches ago when I use that option, I get "No supported resolutions". It works perfectly fine, except I don't get a list of resolutions. This does not happen if I omit the launch option.
That behavior is expected since 2 is not a valid display index for you so there's no way to retrieve monitor-supported resolutions.
It seems that Dota 2 - Reborn doesn't use the main monitor initially, original Dota 2 works correctly. I had to change to bordered window, move to the primary screen and then re-enable full screen. It would be nice to choose what display to use in a multi display setup.
My setup is mint 17.1 with Cinnamon as as my windows manager.