Terminal fix for diagonal screen size

"About this Mac/Overview/Displays" always shows 27-inch monitor as 21.5-inch

All other tested monitors display correctly on this Mac


Is there a way to change 21.5-inch diagonal monitor size to 27-inch in terminal?

Mac Pro, OS X El Capitan (10.11.6), 4,1 8 core, 16 GB RAM, NVIDIA GeFor

Posted on Jun 23, 2017 5:35 PM

Reply
7 replies

Jun 28, 2017 11:52 AM in response to George Strother

The Mac does not require or use any installable drive for monitors, you literally plug it in and it works.


Probably if you only had the LG screen connected and not also the HP you may never have noticed this issue. The way the Mac knows what resolution and capabilities the monitor is/has is the Mac like all computers reads information sent by the monitor down the cable. This information is called 'EDID' Extended Display Identification Data.


Sadly and amazingly many monitors and TVs have errors or omissions in this data. Most of the time this does not cause serious issues but this is probably the cause of what you are seeing. At a guess either it is sending the wrong size value but the correct number of pixels, or it is sending the wrong dpi figure i.e. how big each pixel is.


Now whilst I said that the Mac does not require or use any installable driver for monitors and this is true, the Mac does come with some settings files for known monitors, these are stored in the following location.


/System/Library/Displays/Contents/Resources/Overrides


It is potentially possible to add a custom override although to do this you may need to disable the SIP protection that more recent versions of OS X have included. See About System Integrity Protection on your Mac - Apple Support


You can dump the EDID data on the Mac in a variety of ways but one of the simplest is the following command in Terminal.app


ioreg -lw0 | grep "IODisplayEDID"


The actual EDID data is in between the < > symbols. It maybe easiest to do this with just the LG connected only. In theory this website can decode this to a more human readable form. See http://www.edidreader.com/


However I found better results using the free edid-decode tool. You could download the source code for this and compile it, I am struggling to find a pre-compiled version for the Mac although it does work on the Mac. However another Mac tool called Darwin Dumper includes a copy of edid-decode and Darwin Dumper is available here https://bitbucket.org/blackosx/darwindumper/downloads/ Darwin Dumper can also get the EDID date for you without you needing to use Terminal.app


One approach would then be to modify the EDID data to correct the problem and 'flash' the ROM in the display, however for most people this is not going to be practical. However you could use the information to generate a monitor override file as mentioned above. A tool called FixEDID may help here. A zip with both source and a Mac binary is available here http://mac.softpedia.com/get/Utilities/FixEDID.shtml you need to use the EDID output produced using Darwin Dumper. I believe Darwin Dumper can product, Text, Hex, and Binary versions and FixEDID needs the binary version.


Basically you produce an override file which matches the Monitor identification but also contains settings to override the settings the monitor has sent.


The actual changes are beyond my level of knowledge and would be specific to your monitor.

Jun 27, 2017 1:46 PM in response to Grant Bennet-Alder

From my original post -

"About this Mac/Overview/Displays" always shows 27-inch monitor as 21.5-inch

All other tested monitors display correctly on this Mac

Is there a way to change 21.5-inch diagonal monitor size to 27-inch in terminal?"


I am using a 27" HP as Monitor 1 and have added an LP 27" as Monitor 2.

Both are 1920 x 1080 screens and both go automatically to 1920 x 1080 by Default and confirmed by clicking Scaled.

I never use Mirror Displays.


Going to - "About this Mac/Overview/Displays" always shows the HP as 27-inch and LG 27-inch monitor as 21.5-inch.

Confirmed by tape measure.


When I go to "System Preferences/Displays/Arrangement" the rectangle representing Mon 2 is alway about 20% smaller than the Mon 1 graphic.


When I drag a window from HP mon 1 to LG mon 2 the window gets about 20% bigger, text is rougher and everything looks scaled up. Drag back to HP and size is correct again. Coincidentally (?) 20% is about the same as the size error shown in "About this Mac/Overview/Displays".


Samsung says 21.5 is a Mac error. Is there a way in the Mac to change or block the wrong screen size data that shows up in "About this Mac/Overview/Displays" ?

Jun 27, 2017 4:08 PM in response to George Strother

In Windows, the "display size" and everything else is set by the specific Driver you decide to use.

Samsung says 21.5 is a Mac error.

This information is NOT stored in MacOS. The Mac does not know or care about the capabilities of different models of displays. There is no master-list. There is nothing to patch.


In Mac, the Mac asks the display to respond to a query with its name and its capabilities. This is why, despite your never having entered the name of the display anywhere, your Mac (in Displays preferences ) knows the display's name and capabilities.


You can set any size and resolution and refresh rate combination (that the display says it can do) using Displays Preferences.


EDIT: in re-reading, there is another possibility of what might be happening. One of these displays or the other could have a different setting for Underscan/Overscan, which would make part of the picture slide off the edge of the screen and make them seem to be different sizes.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Terminal fix for diagonal screen size

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.