East of the Sun, West of the Moon

2007/5/25

EDID?

Filed under: OS X,Projects,Software — Erwin @ 5:35 pm

So apparently Apple has been fooling a lot of laptop owners (including myself, it looks like) into thinking that their screens can display millions of colours. Do a little googling and I’m sure you’ll find the relevant news articles, blogs, and whatever else.

For users to find out what kind of screen they have, the current suggestion is to download the SwitchResX Control Panel, run Export DCC and use the brand and other identification from that file to look up the specs online.

Downloading 1.3MB of software to find that out is slightly overkill. Wikipedia describes the contents of the EDID data fairly accurately and if you want more there’s a link to a PDF file on the same page. Combine that with the ioreg program that dumps lots of information of your hardware on stdout, and you have the ingredients to write a quick’n’dirty Perl script that’ll read that, pick out the right line, and explain those bytes in more understandable language to the best of its ability.

The relevant parts are at the end, which will look something like this:

Descriptor Block 3
  93: Block type: (fe) ASCII string
    "B154PW01 V0"

Descriptor Block 4
  111: Block type: (fc) Monitor name
    "Color LCD"

You can find specs for B154PW01 online, and yes it does say 262k colours there, not 16.7 million.

It would be interesting to see how well the script works for other card/monitor combinations. I tried it on the Mac Mini with the TV adapter, for instance, which enlightened me that it uses analog input and one of the descriptor blocks is an ASCII string that says “NTSC/PAL”. Indeed!

Improvements to the script will be happily accepted, of course. 🙂

Update: Improved it to unpack the manufacterer ID, which turns out to be 3 characters encoded into two bytes. So “0610” turns into “APP”, for instance.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress