My external monitor doesn't work at full resolution with my MacBook

You can go to System Preferences > Displays, then option-click (press option key while left-clicking) on Scaled to expose additional resolutions that aren't exposed with a normal left-click.

Otherwise, you have a great choice of software for that, like switchResX:

Why hassling with Apple's inbuilt screen settings, when there is so much more to get and much easier, too?

With SwitchResX you get back control on your screen – or screens even! There are plenty of inbuilt options...


Okay, so I managed to work out what the issue was in the end - it was OS X's handling of the EDID data from the monitor. Windows evidently could read the data just fine, which is why it worked perfectly every time. Where Apple don't develop plug-and-play drivers for monitors (I assume) and hadn't added a profile for mine, it couldn't recognise it.

In the end, it was a relatively simple fix. Here are the steps I followed (some very basic knowledge of Terminal is necessary for the second half, it's mostly common sense though).

Things you'll need:

  • A Mac/computer running OS X that isn't currently recognising your monitor correctly (duh)
  • Access to a PC running Windows (with same connections as Mac, DVI and VGA have different EDIDs for instance) or Mac via Boot Camp
  • A USB drive in FAT32 (doesn't need to be big)

  1. Boot into Windows from your Mac if you can (or alternatively plug a Windows machine into the monitor that isn't working properly)
  2. Download and run MonitorInfoView.exe from here (some similar applications don't export the full 128 bit hex code you need for the EDID) and select the monitor you need the EDID for - make sure you don't choose the internal screen if you're on a MacBook! Then export the EDID data as a .rtf file (it's in one of the options in the menu bar) and save it to a drive that can be read by Windows and Mac machines.
  3. In the .rtf file (at the bottom) there should be a Hex table - this is your monitor's EDID data. Remove the "0x00" (etc.) code from the start of each row and copy the resulting text into www.edidreader.com. The Hex key needs to be in the format that edidreader can read, as otherwise the code won't work for the second half of this tutorial (I made that mistake first time) - the tool should display exactly the same data as what you got in the .rtf file when all three checkboxes are ticked.
  4. If your EDID data isn't corrupted, follow the steps in this excellent tutorial here about how to edit the Overrides in OS X. To do this, you'll need to disable SIP (reboot Mac holding Cmd+R, run "csrultil disable" via Utilities > Terminal and then reboot and log back in. Also, the location of the Overrides folder has changed in El Capitan, so it's now in /System/Library/Displays/Contents/Resources/Overrides instead of what's mentioned in the forum guide.

If your EDID data isn't being read at all by anything, you'll need to either use another monitor (that broken one won't ever work properly) or have the defective one replaced etc.

I hope this can somehow be helpful to someone - I couldn't find a comprehensive guide about how to solve this problem anywhere (and I've been looking solidly for 2 days+)!

Peace, Dan


I don't have enough points to add comments, but I just had the same issue and found the reply by Dan Grove extremely helpful. This reply is in regard with the step 2 of his proposed solution.

It can be skipped by retrieving the monitor's EDID data from SwitchResX. You can download the trial version and, in the monitor tab of SwitchResX preferences you'll see an "Export EDID" button on the top right-hand side.

I thought this might be useful since it doesn't involve any Windows machines.


I've spent the last 4 hours (at least) fixing that issue on macOS Sierra. The way I managed to do it is based on Dan Grove's reply to himself in this same thread, but with more DIY (thanks Dan!).

Few things I think are important to understand about EDID files:

  1. For one given screen device, EDID files are different depending on the OS.
  2. DO NOT retrieve the EDID from the computer where you have the issue (as suggested by chiara in this thread) – it did not work for me and gave me corrupted data.
  3. You will need need a computer where the screen works (typically running Windows) to retrieve the correct EDID to then port it to Mac.

Now, following Dan Grove list of steps (see his post above), I would bring some clarifications as follow:

Step 1 – I used a real Windows computer to do that, not a Virtual Machine.

Step 2 – There was no option to export the EDID data as an RTF file in MonitorInfoView when I did it, probably because the software got updated since. I had to click on View > Lower Pane > EDID Hex Dump to actually see the Hex part.

Step 3 – For those who don't know what Hex is, below is a screenshot. You will have to remove the surrounding parts (highlighted in red) to only keep the Hex part (highlighted in green).

enter image description here You can then copy and paste the green part in EDID Reader as Dan explained. You don't necessarily need to have the 3 boxes ticked, just click on Parse Edid and check if the information on the right reflect what your screen device should be – e.g you should be able to see the resolution you're trying to make work.

Step 4 – This is the tricky part which got me confused. The tutorial is asking for you to output the result of the following Terminal command in a text file ioreg -lw0, and search for various strings within the said file.

Unless I'm mistaken, ioreg stands for Input/Output Register, meaning it's basically listing all the devices of your machine. However, having 2 screen devices (the native Macbook screen + the external one I was trying to make work), you need to be careful not to be mistaken with your native screen.

The tutorial asks you to look for the IODisplayEDID string but my external screen did not have any in the ioreg output (which is certainly why is was not working). The correct IODisplayEDID data to create is the one we found in the Hex part, highlighted in green above. This is the string you need to port into a mac Overrides file (just follow the tutorial if you have no idea what I'm talking about).

To avoid mistakes, just be aware that the DisplayVendorID for the Apple native screens seems to be 1552. If during the tutorial you end up using this ID, you're about to change the settings of your native screen, not the external one :)

I hope this brings some clarification to the very useful steps from Dan Grove.

Cheers fred


No program is needed. I was seeking help around forums and I decide to try with cable (without any adaptors) I bought cable for less than 4quid and I got full 2560x1440 it's Mini DisplayPort to DisplayPort cable (thunderbolt to display port on external monitor). If resolution still not showing keep holding Option key and click on Scaled (in Display settings). Good luck!