2

I have been experiencing a problem with my Macbook Pro (2015 late with the Intel HD Graphics 6100) where the computer detects 3 retina 31 inch displays upon startup. Possibly because Retina displays are nicer than the built in displays, one of these "phantom displays" automatically becomes the primary... meaning I do not see the prompt for login, and all my programs launch off-screen.

I am able to recover the mouse using an actual mouse pointer. For some reason I cannot understand using the trackpad does not work... but a mouse will...

Eventually I can change the primary screen and disable the monitors using some kludge code, but... it happens on every startup and the retina monitors my system believes exist are hogging resources to the point of lowering framerates to unusable whenever I hook up my modest external displays (19.5 at work or 24 inch at home).

I've reset the SMC and PRAM... I've futzed with configurations available in the GUI (I think... although perhaps I missed something)... how do I deal with this?

If anybody can direct me to a means of shifting the primary display with hotkeys that would be a great first step so I can work on a day to day without 20 minutes of set up.

If anybody has a true fix or can at least tell me how to go about dealing with this methodically, I'd very much appreciate it! I've been to the apple store 2 times for 5 hours and received nothing better than a suggestion to do a wipe and clean install. I'm a developer, and have a lot of configuring I'd need to do post wipe... and I want to to understand why this broke, so that I can avoid doing it again. And I'm curious... and I don't think that should be the solution to problems! That's a broken system if that's how you fix quirks like that. It should be MUCH easier to tell the computer it doesn't have 3 giant 30 inch displays hooked into it. The damn machine can't even drive more than 2 displays with the internal GPU/Motherboard (despite the 3 outputs).

I'm command line capable if you can direct me to the config files in etc or whatever that deal with the displays. I would love to learn how to deal with display issues in general with linux environments...

A partial fix has included the use of a tool available in this repo: https://github.com/Eun/DisableMonitor A kludge little script owned by admin:root

#!/bin/bash

/Applications/DisableMonitor.app/Contents/MacOS/DisableMonitor --disable `/Applications/DisableMonitor.app/Contents/MacOS/DisableMonitor --list | grep Display\ \(1\) | sed 's|Display (1)||g' | sed 's| ||g'`
/Applications/DisableMonitor.app/Contents/MacOS/DisableMonitor --disable `/Applications/DisableMonitor.app/Contents/MacOS/DisableMonitor --list | grep Display\ \(2\) | sed 's|Display (2)||g' | sed 's| ||g'`
/Applications/DisableMonitor.app/Contents/MacOS/DisableMonitor --disable `/Applications/DisableMonitor.app/Contents/MacOS/DisableMonitor --list | grep Display\ \(3\) | sed 's|Display (3)||g' | sed 's| ||g'`

And another kludge plist named com.example.plist @ /Library/LaunchDaemons/

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.example.plist</string>
        <key>ProgramArguments</key>
        <array>
          <string>/usr/bin/bash</string>
          <string>/Applications/startup</string>
        <array>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <false/>
        <key>SuccessfulExit</key>
        <false/>
    </dict>
</plist>

Addition, (one has to): $sudo launchctl load -w example.plist

However I still want a clean fix. And if anybody can help me maybe tidy up this code, which I'm not incredibly sure about... it would be appreciated. It works... but only after login. It'd be nice if it launched during the login window period... so i can see my name/etc. I have tried messing with the various folders and launchctl flags... no dice yet.

1

This may not be a full fix.

In the Display setting. Click the Arrange Tab. You will see how the Screens are being arranged. There you can adjust the layout. But more importantly you can drag the menu bar icon ( white line at the top of one display) across to the screen you want as primary.

I would try that and see if you at least can get starting in at login.

I would also look at maybe deleting the display prefs.

  • I was doing this that way at first... but luckily the script and repo combo force the primary display back onto the desktop now automatically as here – sas08 Aug 24 '15 at 6:59
  • 1
    What about the prefs.. I'm on my iPad at mo so cannot check them. But if there is a displays pref which I think there is you will need to use defaults delete – markhunte Aug 24 '15 at 7:02
  • BTW I saw deleting the display preferences might be good fix... everyone says it should just reload, but unfortunately the settings did not do so...and the computer stopped booting! I had to "reinstall" osx (not the clean wipe, but the other install)... so I'm looking more into zeroing in on the offending code surgically. – sas08 Aug 24 '15 at 7:03
  • 1
    Just updated my comment. To kill a pref you cannot just remove it manually you need to use the defaults delete command. Not sure about the system not restarting, never heard that one before – markhunte Aug 24 '15 at 7:06
  • Hum. I did not know that. I will try and report back tomorrow... perhaps with some more info from digging through these plists. com.apple.windowserver.plist shows the entries for the additional displays... and all the possible hookups I've made... wondering how these populate... too late to tinker and possibly break something and recover before work now :) thanks for the help!! – sas08 Aug 24 '15 at 7:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .