You can sign up to get a daily email of our articles, see the Mailing List page!
Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can support us on Paypal and Liberapay!

Setting a primary monitor for launching games in a dual monitor rig

Posted by , / 16491 views

I used to chuckle smugly whenever Liam wrote an article about yet another game that launches on the wrong monitor. That was never an issue for me on my single monitor set up, so continual woe for him was continual wry humour for me.

But in April this year, I did my first PC upgrade in over five years. It was a big upgrade, featuring both an epic graphics card and a shiny new Acer Predator monitor. But now I had a dilema... what do I do with the old 22" monitor I was using beforehand? You guessed it, I connected it up and placed it off to one side, the better to keep Chrome and Steam in view while gaming.

And of course, I immediately joined the "Wrong Monitor" crowd. If I'd known how frustrating this was, I'd have kept that smug grin off my face earlier. Clearly, karma likes to hit schadenfreude when it's down and Liam can consider this article my written and profuse apology.

It was pure torment. The order I connected them in was irrelevant. Display settings was irrelevant. Various xrandr endevours ended in frustration.  In fact, the only thing I found that would make a difference was a tick box in Nvida Settings called "Make this the primary display for the X screen":

But while that largely worked, it didn't stick between reboots, even when you hit "Save to X configuration File". It saved, but the tick always reverted to the wrong monitor regardless. Infuriating!

But that led, eventually, after far too much googling, to a potential solution. It's courtesy of this Ask Ubuntu answer, which I'll summarise here too. It's really straightforward. In fact, if you already know the device names of your monitors, you can skip straight to the final step!

1. First, install the arandr tool, which is a little GUI app to show monitor device names:

sudo apt-get install arandr

2. Then run it:

arandr

...and note the name of the monitor you wish to be primary. For me that was DP-5.

3. Finally, run xrandr to make that monitor the primary display:

xrandr --output DP-5 --primary

As noted in the original article, you can easily put that exact command into your Startup Applications directly to run this every time you log in to your PC.

For me, problem solved. If this works for you, be sure to upvote Etron's answer on Ask Ubuntu!

However, some have reported that this is only half the battle! There is one more step you might want to try. Having run all of the above, you might also need to:

  1. Browse to ~/.config/ and take a copy of your original monitors.xml file (just in case!)
  2. Delete the original - the next step will recreate it anyway.
  3. Open your system's control panel and choose displays (or in Ubuntu's case, run unity-control-centre display), then hit "apply" to create a new monitors.xml.

You can open this file in a text editor (such as gedit, geany or nano) and just make sure that only one of the entries has a "yes" against its "primary" field.

Also, GOL editor BTRE has a novel approach to this problem, using a custom xorg.conf. I've included his personal xorg.conf in a spoiler below. Note that his xorg.conf is for his mesa set up and doesn't actually include any options regarding primary monitor. For example, he has a TV set up in there which is disabled by default, but ready to be used if he activates it manually. So if you go down this road, make sure to add

Option      "Primary" "true"

...to one of your "Monitor" sections!

But if all else fails, or if you don't like the idea of running xrandr in a startup script on every login, maybe this will work for you.

Spoiler, click me - BTRE's xorg solution

Section "Monitor"
       Identifier   "DisplayPort-0"
       Option       "Primary" "true"
       Option       "DPMS" "false"
EndSection

Section "Monitor"
       Identifier   "DisplayPort-1"
       Option       "RightOf" "DisplayPort-0"
       Option       "DPMS" "false"
EndSection

Section "Monitor"
       Identifier   "TV"
#     Option      "Ignore" "true"
       Option      "Disable" "true"
       Option      "RightOf" "DVI-D-0"
       Option      "DPMS" "false"
EndSection

BTRE's note: The above is in /etc/X11/xorg.conf.d/10-monitor.conf The important bits are "Primary" and the positioning "RightOf", the rest is just stuff that may not apply to you (I prefer not to use DPMS and have a TV hooked up on HDMI I'd rather not get used until needed). This is just stuff you can find out more about in the Arch wiki.

If you have an alternative and/or bulletproof method, please (please!) share it in the comments. But so far, for me, the xrandr procedure I outline here has worked a treat.

12 Likes, Who?
Comments
Page: 1/4»
  Go to:

Maki 19 September 2017 at 8:11 pm UTC
This is very informative and should help others who have this dual-monitor issue.
It's a shame it has to be this convoluted, though...
Psycic101 19 September 2017 at 8:12 pm UTC
View PC info
  • Supporter
Great article, scaine
marvtowel 19 September 2017 at 8:14 pm UTC
Thanks. I have had to use this as well when running a 120hz monitor and a 60hz.

xrandr --output DVI-[whateverTheDisplay] --mode 1920x1080 --refresh 120
BTRE 19 September 2017 at 8:30 pm UTC
  • Contributing Editor
  • Supporter
Edited and added a note by myself to the above because I didn't expect you'd paste my configuration! It'll probably avoid confusion if you know why I did that and where you can see more about the various options you can have
const 19 September 2017 at 8:37 pm UTC
This also works with triple and quadruple monitors
tmtvl 19 September 2017 at 8:54 pm UTC
I find that KDE's display configuration works pretty well. But for awesome I had to set up my xorg.conf.d correctly.

Note that for outdated Xorg versions you don't have to specifically configure device and screen, but for an up to date Xorg they will need to be configured correctly.

I have my personal setup up on GitHub for reference.
oldgaro 19 September 2017 at 8:55 pm UTC
Or just use a decent Windows Manager like Dwm or i3wm...
scaine 19 September 2017 at 9:30 pm UTC
View PC info
  • Contributing Editor
  • Supporter
BTREEdited and added a note by myself to the above because I didn't expect you'd paste my configuration! It'll probably avoid confusion if you know why I did that and where you can see more about the various options you can have

I did put in bold that this was a very custom config, but since it's another approach to the whole problem, I thought it was worth sharing. I'm no expert on xorg.conf though. I'd usually search the Arch Wiki for relevant stuff, to be honest! I might run Ubuntu, but that wiki is an absolute mine of useful information (e.g. https://wiki.archlinux.org/index.php/multihead#Configuration_using_xorg.conf)!

[EDIT: Ha! Just noticed that BTRE linked to much the same article! But the Arch Wiki was one of the avenues that led to the xrandr solution I settled on, via the whole "primary" clue. In summary, Arch Wiki is awesome.]


Last edited by scaine at 19 September 2017 at 9:36 pm UTC
razing32 19 September 2017 at 9:33 pm UTC
View PC info
  • Supporter
oldgaroOr just use a decent Windows Manager like Dwm or i3wm...

Wait ... so you don't have that issue there ? Never used i3 so curios.
kon14 19 September 2017 at 9:51 pm UTC
oldgaroOr just use a decent Windows Manager like Dwm or i3wm...

Such retarded fanboy posts are what makes me wish we had an up/downvote system instead of an "abuse-safe" likes one.

razing32Wait ... so you don't have that issue there ? Never used i3 so curios.

You don't have that cause in tilling wms every worksplace is dedicated to a single monitor (but you can have any number of workplaces regardless) so as long as a window is launched in or moved to your desired workplace there's no way it would show up in the wrong one.

edit: missed nested quote tags a trillion times, note to self: don't get triggered on mobile


Last edited by kon14 at 19 September 2017 at 10:22 pm UTC. Edited 4 times.
  Go to:
While you're here, please consider supporting GamingOnLinux on Patreon or Liberapay. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

We also accept Paypal donations and subscriptions! If you already are, thank you!

Due to spam you need to Register and Login to comment.


Or login with...

Livestreams & Videos
Community Livestreams
See more!
Popular this week
View by Category
Contact
Latest Forum Posts
Facebook