6

My macbook pro fell and the left side of the screen is now black. So about 20% of it is not visible due to breakage. I am working around this using an external display when I can locate one, but on the go I'd like to limp along until I can afford the repair. Is there a software solution for MacBook Pro (Retina, 15-inch, Mid 2014) Running macOS Sierra version 10.12 to adjust the screen resolution or placement to squeeze it without messing up proportions to the left so that it covers only the part that's not broken.

Is there a way to manually adjust resolution through underscan/overscan (which is not visible to me for my own display) or through other means?

I'm trying to push everything to the side so that it's visible (including the apple logo menu on the top left)

Picture of MacBook with issue

I tried downloading DisableMonitor but it only sticks with proportions and doesn't allow me to push the content to the right. All the resolution switches assume the whole screen is working - I need to shift the content over and not otherwise change the scale of the remaining screen.

Basically, can the window manager itself run in split screen mode with nothing critical shown in the left side split?

4
  • What exact model of MBP do you own? What version of macOS are you running? And is using an external display an option for you?
    – Monomeeth
    Commented Dec 31, 2016 at 8:24
  • What about a screen replacement?
    – Rob
    Commented Dec 31, 2016 at 8:25
  • I own a MacBook Pro (Retina, 15-inch, Mid 2014) Running macOS Sierra version 10.12 Using an external display is an option however, it wouldn't be very useful as I use the Macbook on it's own a lot when moving from place to place. This is what the display looks like at the moment Can't afford a screen replacement at the moment.
    – Youssef A
    Commented Dec 31, 2016 at 8:33
  • I've tried to edit this - might need another person to clean things up and properly embed the image. Great question although the answer might be no or not easily.
    – bmike
    Commented Dec 31, 2016 at 14:40

1 Answer 1

3

Try to use RDM to set whatever you like, and its free/oss, so id recommend that. Also you can take a look at QuickRes which can (probably) do the same but it's not free. There is also SwitchResX you can try if it has anything you might need.

Update: I found also this one here called resolutionator and there is a brew util I totally forgot about in cask cscreen, you can try to install it with brew brew cask install cscreen and then, for example:

cscreen -d 32 -x 1420 -y 1080 -s b42e7f0 -r 59 -f

You can also try this gist: https://gist.github.com/ejdyksen/8302862 After thinking about your issue seems to be in EDID. Also, what's your GPU in the MBP and what happens if you toggle the overscan option in pref's?

I forgot that to apply this patch you need to disable Apple's System Integrity Protection with csrutil disable from Rescue mode and then into macOS again and (re)apply the script from gist by running it with ruby: cd ~/Downloads; sudo ruby patch-edid.rb (assuming Downloads is the folder where you saved it), then reboot again.

To reenable System Integrity Protection you need to csrutil enable from terminal in Rescue mode and reboot, then check csrutil status if it's working again.

Soo.. the way I would try to solve your issue would be:

  1. check the custom resolutions options in one of the apps above,
  2. set a custom resolution which does not include your damaged part of the screen
  3. enforce that custom resolution.
  4. if the enforcement is not doable through custom system prefs: inject custom EDID through clover during boot.
  5. making sure that this solution is persistent after reboot

Update 07/01/2017

After some basic digging, there are native settings in macOS defaults .plist files that describe screen properties. I haven't tested it yet, but there are some interesting settings describing screens, snippet:

UnmirroredOriginX = 1920; UnmirroredOriginY = 0; UnmirroredResolution = 1; UnmirroredWidth = 1920; Width = 1920;

By editing those you can set new system defaults without too much system hacking and (maybe) macOS should apply those on logout/reboot

Remember, you have to disable SIP (see above), otherwise macOS wont' let you write changes even when using sudo

Get the Window Server defaults plist (property list)

sudo defaults read /Library/Preferences/com.apple.windowserver.plist After this, defaults will list see something like this:

{ DisplayAnyUserSets = ( ( { Active = 1; Depth = 4; DisplayID = XXX; DisplayProductID = XXX; DisplaySerialNumber = XXX; DisplayVendorID = XXX; ForceDeepMode = 0; Height = 1080; IOFlags = 34603015; LimitsHeight = 1080; LimitsOriginX = 0; LimitsOriginY = 0; LimitsWidth = 1920; MirrorID = 0; Mirrored = 0; Mode = { BitsPerPixel = 32; BitsPerSample = 8; DepthFormat = 4; Height = 1080; IODisplayModeID = "-2147459072"; IOFlags = 34603015; Mode = 0; PixelEncoding = "--------RRRRRRRRGGGGGGGGBBBBBBBB"; RefreshRate = 60; SamplesPerPixel = 3; UsableForDesktopGUI = 1; .....

Reading is possible without sudo although i'm not sure how (and if) user/admin NS differs, but the list starts with DisplayAnyUserSets. For consistency use sudo for read/write operations.

To modify a single node:

sudo defaults write /Library/Preferences/com.apple.windowserver.plist dot.path.PropertyName -int XXXX

-int is the type, can be float, bool, int or ... [see docs]. XXXX is a number (integer in this case).

Its basically a XML doc describing properties, before changing though - make sure to backup it, those are not User defaults but System wide defaults. Read documentation for details- man defaults.

Edit a single node, logout, see if something changes, if not- reboot. Still nothing? Edit 3 nodes, logout/reboot again and hopefully see a change. Try editing the Orgin/Width/Height notes accordingly to skip the damaged area.

Also, add an extra Admin account in case stuff goes wrong so you can login with different default set of defaults (nice wording heh, o.O)

10
  • Downloading RDM at the moment. Are you sure it can push the screen to the right? It seems to be only for adjusting resolutions with presets. I tried SwitchResX but haven't been able to get it to push what is displayed on the screen to the right.
    – Youssef A
    Commented Dec 31, 2016 at 15:00
  • 1
    I have just downloaded RDM, yes it seems to only be able to adjust resolutions but not push what is being displayed on the screen to the right or left.
    – Youssef A
    Commented Dec 31, 2016 at 15:10
  • After looking at your screens closely you might have an overscan/EDID issue here - your screens is kind of -zoomed in- from each side, am I right?
    – PJJ
    Commented Dec 31, 2016 at 15:11
  • @PJJ No, as it shows in the picture, it's simply shifted to the left.
    – Tuesday
    Commented Dec 31, 2016 at 15:23
  • Hmmm. I'm literally out of ideas - EDID patching would be my way to go - so this is what I meant by the patch - first edit a custom res, then patch/enforce it. If that does not help, inject modded EDID on boot with Clover.
    – PJJ
    Commented Dec 31, 2016 at 15:34

You must log in to answer this question.

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