Jump to content
LaunchBox Community Forums
JerseyXS97

Starting Programs on Specific Monitors

Recommended Posts

I honestly didn't know where to put this topic since it covers a fairly broad spectrum from Steam to emulation and involves LaunchBox as well. Hopefully here is fine. So I recently bought a 4k monitor to go alongside my 144Hz monitor. I figured that any game that doesn't run well at 4k would do great at 1080p, whether it supports the 144Hz or not. I had the best of both worlds. Unfortunately the problem comes when I try to set up any game to start on the 4k monitor, as the 144Hz is the primary display. Naturally I would have the same problem if it were the other way around as well. I can't seem to find any useful way to get games to run off of specific monitors. Some, of course, can be moved via their Window. Others, like Project64, can be started in a window, moved, then fullscreened, but unfortunately making it fullscreen moves it back to the original display. Win+Shift+Arrow doesn't work for most either. Is there any way to do this, either through command line or external program? (DXWnd doesn't work for a lot of what I've tried). Thanks in advance!

Edit: Thought it would be useful to know that the PC OS is W10. The 4k and 144Hz monitors are both running off an (as of now) up-to-date GTX 1080, and my 3rd monitor is running off of my iGPU (i7-6700 + Intel HD 530). I don't have DisplayFusion as I never thought it to be necessary.

For future convenience I'm going to include a list of what programs/scripts/etc. haven't worked (for me, at least).

Edited by JerseyXS97

Share this post


Link to post
Share on other sites

I searched "choose which monitor a program launches" and someone linked it on a site I pulled up with someone asking a similar question.

Share this post


Link to post
Share on other sites

Ah. I searched something very similar to the thread title. Unfortunately, though, the script works but in a way that isn't really useful. For PJ64 it just kinda threw the window to different areas of the monitor and for Split/Second it did the same as Win+Shift+Arrow; make the target monitor screen go black while keeping the game on the original. Thanks for looking, though!

Share this post


Link to post
Share on other sites

You wouldn't think it would be this difficult with how well W10 handles multiple monitors in the first place. It's great if you want it to act like one desktop but the second you try to isolate anything it turns into a crap shoot. DXWnd almost helped but the games crash most of the time. I'll keep looking and post what I find here, fingers crossed.

Share this post


Link to post
Share on other sites

Good luck, hopefully you find a good solution and can report back with it, I know people have asked about this in the past.

Share this post


Link to post
Share on other sites

Here's hoping. I'm going to go ahead and keep this thread updated with things that haven't worked as well, hopefully save people some time in the future whether I get it fully working or otherwise.

Share this post


Link to post
Share on other sites

Damnit. I'll keep looking but the most promising options have all let me down. I suppose I could just keep all of the poorly optimized games, like Split/Second and Project64, on the 1080p144 and just play the more friendly ones, like Burnout: Paradise and PPSSPP, on the 4k60 until I find a solution.

Oddly enough this started because I was going to remodel Tick Tock Clock from scratch and make it HD, I just wanted the game on my other monitor for reference.

Share this post


Link to post
Share on other sites

I am trying to figure this out also.  Just getting around to adding various native games to launchbox, and sofar, can't get any of them to launch on the proper monitor.  All I've found so far is this https://www.autohotkey.com/boards/viewtopic.php?f=19&t=29175&sid=5fbdbe1a91d6ff085cba674cde7389be but seems needlessly complicated to just change the frigging monitor :)

Share this post


Link to post
Share on other sites

I dont have the same setup that you have with multiple monitors but i can say i do use the most recent version of displayfusion to shut off my marquee monitor during certain games then reenable and restore the launchbox marquee window on game close.

Take a look at the recent version of displayfusion and its command line options that can be executed via batch files. you may be able to do what want.

Share this post


Link to post
Share on other sites

I managed to just about break my entire cabinet with display fusion so I uninstalled that.  Retroarch does this thing where it randomly messes up which monitor is which.  Same thing with Big-box.  Since I'm running a 240p screen is is VERY difficult to find menu options when the screens get messed up.  GRR. 

Share this post


Link to post
Share on other sites

I'm having something similar. I am currently running two emulators under LB/BB: Stella and MAME (which is running most of my platforms). I have three monitors, but only two I care about (the third is just a side-monitor). I run most days on my desktop monitor (#1) and it's great then. I run LB and then launch a game and it all comes up on #1 as expected. However, I also have a projector and a decent home theater which is connected to my PC as monitor #2. I'd LOVE to find a way to easily (or otherwise) get games to come up on that monitor, but so far I end up having to launch the game, hit ALT-ENTER to get it to not be full screen, then hit SHIFT-ALT-ARROW to move it to the projector (#2) and then just live with it in windowed mode as if I try to then make it full screen it jumps back to #1. I then have to repeat this for every new game and, on say ColecoVision, every load as that system doesn't have a replay function generally.

There HAS to be a better what. Sort of wondering if I should create some sort of batch file that swaps MAME.INI files to have it see the different monitors based on what I want to do, but that won't fix Stella. Had been hoping LB would have something. Perhaps MAME has a parameter for monitors. Then, perhaps LB could have a feature down the line to say, If I set Monitor #2, pass that parameter for #2, but if I set Monitor #1 don't pass it, or pass #1. Ugh.

Share this post


Link to post
Share on other sites

Its easy to set MAME to use what ever monitor that you want to use its in the MAME.ini settings but for on the fly switching I don't know that might be more difficult you may want to just set up 2 instances of MAME on your PC and then when you want to use your projector go to the Launch with option and choose the emulator that tells MAME to use the projector instead. I had a dual monitor setup for a while with one horizontal monitor and one vertical monitor so I copied my MAME.ini twice renaming them Vertical.ini and Horizont.ini this creates a secondary .ini that supersedes the ini and tells it how to orientate the game so in Vertical.ini you set the monitor to use the secondary display and then all of your Vertical games will launch on that monitor. 

Share this post


Link to post
Share on other sites

MAME has made it (relatively) easy for selecting monitors as DOS76 explained.  The problem is some other emu's aren't as user friendly about telling it which monitor to use.  They ONLY seem to want to use the Primary monitor.  And moving them like Agrajag mentioned can be problematic too.   Some emu's when moved and successfully full-screened do remember 'that' screen for next time. But not all.

My setup is a cab monitor and a 60" tv.  The cab is great for Arcade (with the controls and all).  But with other Platforms (say, PS2), you just gotta 'go big' and grab the xbox controller. I pretty much gave up on trying to 'tweak' all emu's as to which monitor they show up on and resorted to show all on the "primary" monitor.   (I think "monitor 1" and "monitor 2" is based on where they're plugged into the video card and doesn't necessarily determine primary).

It's not ideal, but I created 2 BB startups.  One (the regular exe) starts up with the cab monitor only (single monitor).  The second (a batch file): sets the monitor and TV as dual monitors with the TV as primary...  runs BB...  then when it closes, resets to single (cab) monitor.  Again, it's not ideal.  But the (OpenSource) program I used (Monitor Switcher) for saving the different monitor configurations makes the batch file (or AHK if you want) an easy no brainer to create, whether you have 2 monitors or 20. (ya exaggerating, but you get the point.)  I imagine you can set it per game or per platform (like Visual Pinball X with a table (monitor), back glass, DMD, marquee etc...).

Hope this helps at least a little.  Here's a write up I did talking about it a little more. 

 

Share this post


Link to post
Share on other sites

Joe,

So this sounds similar to what I've done via MAME.INI but with Monitor Switcher (I'll need to look that up) you're getting the system to see the monitor you want as Primary? If so, that's even more elegant than my simple batches. What I'd really love to see is if LB/BB can implement something similar. Then it would a a simple matter of telling LB which monitor is primary (via a menu with a check box or via a command line parameter at worst) and then we'd be home free.

My question: Have you checked this setup with MAME (I assume so) as it sees its own "Primary" display so I'm wondering if this approach tricks MAME as well without having to muck with its .ini file.

Share this post


Link to post
Share on other sites

It appears it does.  (The #'s may come across as odd, but it all works. Trust me ;) And no. I don't have an explanation.)   By virtue of the ports on my video card, my cab is Display 2 and the TV is Display 1.

My mame .ini is:

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen                    \\.\DISPLAY2
aspect                    auto
resolution                auto
view                      auto
screen0                   \\.\DISPLAY2
aspect0                   auto
resolution0               auto
view0                     auto
screen1                   \\.\DISPLAY2
aspect1                   auto
resolution1               auto
view1                     auto
screen2                   \\.\DISPLAY2
aspect2                   auto
resolution2               auto
view2                     auto
screen3                   \\.\DISPLAY2
aspect3                   auto
resolution3               auto
view3                     auto

Though I only have 2 (at most) 'monitors', I guess I set up all '5' on Display2.  Hmmm. Probably don't need the others.

When I load BB with dual monitors (with TV as primary), in BB Options, General... is has: Primary Screen: Screen 2.  Marquee Screen: Screen 1.  BUT..... BB is showing on the TV and the marquee (i.e. the game box-front) is shown on the cab....  like it's supposed to.  And everything 'plays' on the TV.

When I load BB with a single monitor (cab only. Primary of course)...  Options, General: Primary Screen: [is blank].  Marquee Screen: Screen 1.  BB and all platforms run as expected, including MAME.

Sort answer long... tested, tried and true.  MAME.ini and LB/BB settings are "fixed" (I don't touch/change them at all) and the only that I change is going from single to dual monitors and back.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...