4

I have been using a 24" monitor with my macbook pro early 2011 connected via a mini display port to DVI adaptor. I recently received an HP Z30i 30" monitor. When I connect to it with an mini display port to display port adaptor, although it displays at the monitors native 2560x1600 resolution, the mac is scaling the desktop display down so as to leave a 1cm or so black border around the desktop. The mac reports using a resolution of 2560x1600 and the display reports this also. This makes the display blurry as single pixels become sub pixels. The display looks like the same effect as having "under scan" turned on when using an HDMI cable at 1080p.

I thought that maybe there was a hardware or display problem, but when I boot off a previous system partition from a different hard-drive using the same OS (10.8.5) release, the monitor set up works perfectly. This proves the OS release, display and the hardware, so I'm thinking that there must be a preferences problem with my current setup. Perhaps the under scan setting is somehow being applied to this display when it's not using HDMI?

I've tried deleting /Library/Preferences/com.apple.windowserver.plist, ~/Library/Preferences/ByHost/com.apple.windowserver.HostNumber.plist and rebooting but no results.

The scaling is applied before the login screen and logging in as a different user has the same problem.

Any ideas? It's driving me nuts, I've got this nice 30" screen and I can't use it!

2
  • I've updated the OS to Mavericks 10.9.5 and still have the same problem. There must be a preferences setting that is being preserved. I also tried deleting /Library/Preferences/.GlobalPreferences.plist but to no avail. It looks like I might need to do a fresh install, which unfortunately is reminiscent of my MS Windows days. Dec 9, 2014 at 0:31
  • Have you tried messing with the Zoom settings in the Accessibility control panel? IIRC, the zoom thing was a bit buggy under 10.8.5 Sep 3, 2017 at 18:22

2 Answers 2

1

I ended up "fixing" it by re-installing OS X on the system disk. Brute force due to lack of success with other methods, but all good now.

In some cases a faulty cable can do this as well:

External monitor randomly lowers resolution adds black borders

0

Maybe it was an underscan/overscan issue on MacOS. Reference this tutorial did a trick.

  1. Open terminal.
  2. You want to open /var/db/.com.apple.iokit.graphics file. To do that, enter following command in terminal:

sudo vim /var/db/.com.apple.iokit.graphics

  1. Vim will open with the file. You’ll notice that the file has following structure:
<?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>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-a029</key>
    <dict>
        <key>startup-timing</key>
        <data>
        AAAAAAAAAIAAcACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
        AAAAIPwAEAAAAAAg/AAQAAAAACD8ABAAAAAAAAoAAKAAAAAwAAAAIAAAAEAG
        AAAuAAAAAwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
        AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        </data>
        <key>version</key>
        <integer>2</integer>
    </dict>
    <key>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-a02a</key>
    <dict>
        <key>startup-timing</key>
        <data>
        AAAAAAAAAIAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
        AAAAIPwAEAAAAAAg/AAQAAAAACD8ABAAAAAAAAoAAKAAAAAwAAAAIAAAAEAG
        AAAuAAAAAwAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA
        AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        </data>
        <key>version</key>
        <integer>2</integer>
    </dict>
    <key>IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay-10ac-d054</key>
    <dict>
        <key>cyuv</key>
        <integer>268435456</integer>
        <key>pscn</key>
        <integer>9680</integer>
        <key>startup-timing</key>
        <data>
        AAAAAAAAAIAAMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAIO7ZCAAAAAAg7tkIAAAAACDu2QgAAAAAgAcAABgBAABYAAAALAAAADgE
        AAAtAAAABAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAA
        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
        </data>
        <key>version</key>
        <integer>2</integer>
    </dict>
  1. Every key tag is a separate display and following dict is list of preferences for it.
  2. Note: You may need to do a bit of trial and error to find the correct display. In my case, I only use a limited number of displays, so I reset the settings for every display, restarted and it was fixed.
  3. Find the lines that say <key>pscn</key>. This is the preference that controls underscan/overscan.
  4. The next line after every pscn key will look like this: 10000 (line 34 above).
  5. 10000 means that there is no underscan. Value less than 10000 means that display will be underscanned, larger value means it is overscanned.
  6. For values less than 10000, change them back to 10000.
  7. Save the file in vim: :wq
  8. Restart.

You must log in to answer this question.

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