How to get monitor EDID in OSX?
Solution 1
Sadly, there's no out-of-the box solution.
First, what you want to do is download the "edid-decode" program. Unfortunately, it's not available via homebrew so you'll have to download it from https://git.linuxtv.org/edid-decode.git/ or https://github.com/timvideos/edid-decode. Luckily, it's just a single .c file, so you only need to type "make". (Don't do "make install" without editing the bindir and mandir in the Makefile). Put the resulting binary in your path.
Then execute ioreg -lw0 -r -c "IODisplayConnect" -d 2 | grep IODisplayEDID
(kudos to @Steven) to get the EDID data in hex form for all of your monitors.
Select one of your outputs, copy the hex string to the clipboard, and then execute pbpaste | edid-decode
Solution 2
If you want to check EDID text, try
ioreg -lw0 -r -c "IODisplayConnect" -n "display0" -d 2 | grep IODisplayEDID | sed "/[^<]*</s///" | xxd -p -r | strings -6
Solution 3
for theedid in $(ioreg -lw0 -r -c "IODisplayConnect" -d 2 | grep IODisplayEDID | sed -E "/^.*<(.*)>/s//\1/"); do edid-decode <<< $theedid; done
anything that looks like edid:
for theedid in $(ioreg -lw0 | grep '<00ffffffffffff' | sed -E "/^.*<(.*)>/s//\1/"); do edid-decode <<< $theedid; done
or:
ioreg -lrw0 -c "IODisplayConnect" -d2 | sed -nE '/^.*"IODisplayEDID" = <(.*)>/s//edid-decode <<< \1/p'
Solution 4
sudo ioreg -l | grep IODisplayEDID
Joel Barsotti
Updated on June 04, 2022Comments
-
Joel Barsotti about 2 years
I'm looking to pull the EDID information in OSX?
It looks like it's stored in the
IORegistry
. Is there a way to access it with the currentmonomac
libraries? Can I do it with standardinterop
or do I need to write a customshim
?It looks like the
ioreg
command line can also get toIODisplay
EDID attribute, but there doesn't seem to be an easy way to get an abbreviated list of devices.