Jump to content

Get your display recognized and working as iMac, Thunderbolt, MacBook Pro or Cinema HD display

iMac Display Override

  • Please log in to reply
19 replies to this topic

#1
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

Use DarwinDumper to dump your EDID.

Open EDID.bin with a hex editor.

Open EDID.txt to check your EDID.

First of replace the serial number with this one in the EDID.bin (find and replace).

06 10 12 a0 00 00 00 00 1c 16

This will give you the Apple required serial number.

Next replace the chroma info with this to get Apple style colors on your display.

6f b1 a7 55 4c 9e 25 0c 50 54

Last but not least you need to edit one of the descriptors with this one (probably not the first as this is most likely the detailed resolution, use one you don't need).

00 00 00 fc 00 69 4d 61 63 0a 20 20 20 20 20 20 20 20

This will give the iMac display data.

Save up the binary and leave it open.

 

Use edid-decode to check the modifications and look for the checksum.

Correct the checksum and save it up again.

 

Download iMac_Display_Override.zip below.

Edit DisplayProductID-717 with a plist editor (plistedit pro for example).

Replace IODisplayEDID Data field with the hex value of your new EDID.bin

 

Open IORegistryExplorer.

Look for AppleDisplay (under display0 part under your GFX card).

 

Look up DisplayVendorID.

Rename the folder DisplayVendorID-756e6b6e to DisplayVendorID-<your_vendor>

 

Open the folder.

Switch back to IORegistryExplorer.

Look up DisplayProductID.

Rename the file DisplayProductID-717 to DisplayProductID-<your_product>

 

Install the folder in /System/Library/Displays/Overrides

 

Reboot.

 

If you did it right it will look like the picture below ;)

Enjoy... :D

Screenshot is made under VMWare Workstation running Mavericks (I didn't have my Mac around right now).

 

EDIT: DisplayOverride is not fully good, use the kext set available below (override download removed)

Attached Files



#2
SLim Nasr

SLim Nasr

    InsanelyMac Protégé

  • Members
  • Pip
  • 27 posts
  • Gender:Male

I believe this is a cosmetic hack only.... right? 

If not, what are its benefits??



#3
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

I believe this is a cosmetic hack only.... right?
If not, what are its benefits??

The identification data is cosmetic
The chroma info improves the colors on the screen.

#4
MiniHack

MiniHack

    InsanelyMac Legend

  • Donators
  • 640 posts
  • Gender:Male

I did this hack just now (thanks Andy) and it did work. 

 

As an aside, I had hoped it might solve my issue of iTunes vid.s being greened out (I think it is some sort of DRM?) - wondered if this might convince my hack to play my (payed for) iTunes stuff. Unfortunately not though.



#5
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
I'm going to write an automatic tool to do the edid upgrade.
I'm thinking of adding the following Apple display models:
- MacBook Pro panel.
- iMac panel.
- Cinema HD display.
So it will be easy to override it.
Keep you posted ;)

#6
shiecldk

shiecldk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 233 posts
  • Gender:Male
  • Location:Taiwan

Great!  :D

I made my cheap S22A350H recognized as an expansive Apple Thunderbolt Display.  :whistle:

 

Thanks Andy.

 

Spoiler

 

However, it's still using TN Panel.... :(



#7
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,032 posts
  • Gender:Male

I'm going to write an automatic tool to do the edid upgrade.
I'm thinking of adding the following Apple display models:
- MacBook Pro panel.
- iMac panel.
- Cinema HD display.
So it will be easy to override it.
Keep you posted ;)

 

Cinema HD display is something I would be interested in. 



#8
ctroncosor

ctroncosor

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 109 posts
Well dear Rampage Cinema Display HD are in another level ..

#9
shiecldk

shiecldk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 233 posts
  • Gender:Male
  • Location:Taiwan

Cinema HD display is something I would be interested in. 

You can try the Thunderbolt one if you like. :)

 

serial:

06 10 27 92 39 08 23 16 23 16 

chroma:

6F B1 A7 55 4C 9E 25 0C 50 54 

descriptors:

00 00 00 FC 00 54 68 75 6E 64 65 72 62 6F 6C 74 0A 20 


#10
3.14r2

3.14r2

    The Round One

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,333 posts
  • Location:Molvania

@shiecldk

Apple Thunderbolt Display with CRT LOL!!! :hysterical:



#11
shiecldk

shiecldk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 233 posts
  • Gender:Male
  • Location:Taiwan

@shiecldk
Apple Thunderbolt Display with CRT LOL!!! :hysterical:

I did notice that..
Don't know how come it recognized as CRT. XD

#12
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
Just a quick update.
App partially written.
It already fetches the display vendors and devices.
You get the first found display first.
You can change the monitor number and press a button to get the screen you want.
It already makes a display override with the click of a button and modded edid binary.
Manual entry of display vendor and product is also possible.
Still todo:
Make the descriptor patching code smart.
Calculate the proper checksum.
Add the data for Cinema HD and MacBook Pro panels (iMac is done)

@shiecldk: could you please upload the full edid of that thunderbolt display?
I'll add it too. :)
Oh yeah. And then we also need the vendor and product id of that thunberbolt display from under ioregistry, AppleDisplay (in most cases under display0)

I did notice that..
Don't know how come it recognized as CRT. XD

Basic params controls the display type.
Just experiment with it...

#13
shiecldk

shiecldk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 233 posts
  • Gender:Male
  • Location:Taiwan

@shiecldk: could you please upload the full edid of that thunderbolt display?
I'll add it too. :)
Oh yeah. And then we also need the vendor and product id of that thunberbolt display from under ioregistry, AppleDisplay (in most cases under display0)
Basic params controls the display type.
Just experiment with it...

So I tried to change the whole Basic params with thunderbolt display's one, but it's still recognized as CRT...

Here is the report from EDID Manager:

Spoiler

 

I found Thunderbolt Display's EDID thought the internet:

https://answers.laun...question/220899

http://tdev.me/2010/...hardware-dumps/ (<--The MacMini6,2 one use Thunderbolt Display. See its I/O REGISTRY and SYSTEM PROFILER.)

 

According to the MacMini6,2's ioreg from tdev.me:

Spoiler

 

Now, this is the result:

Spoiler

 

In real MacMini6,2 show these:

Spoiler



#14
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

@shiecldk: IODisplayCapabilityString?

<"prot(monitor) type(LCD) model(Thunderbolt Display) cmds(01 02 03 E3 F3) VCP(02 05 10 52 62 66 8D 93 B6 C0 C8 C9 CA D6(01 02 03 04) DF E9 EB ED FD) mccs_ver(2.2)">

or?

IODisplayTechnologyType?

<00 ff 02 03>

IODisplayFirmwareLevel?

<ff ff 01 38>

IODisplayMCCSVersion?

<00 02 02 00>

IODisplayControllerID?

<00 00 00 ff>

 

These are all absent in normal display.

 

Also got a picture of the GUI of the new app. ;)

Take a peek... :D

Attached Files



#15
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

I found a way to inject the other needed info.

I made a driver.

You still need to edit it with a plist editor.

 

Replace under Monitor Apple ID Injection

-DisplayProductID

-DisplayVendorID

with your display vendor and product id under AppleDisplay.

 

Next, under IOProviderMergeProperties

Replace IODisplayEDID with the EDID data you made.

 

Last, look up the IODisplayPrefsKey in IORegistryExplorer and copy it.

Paste it in and rename after */display0/AppleDisplay-***-*** to */display0/AppleDisplay-610-a012

 

Save and install the driver.

 

Clean caches and reboot.

If done right, you will have it exactly like on my screenshot ;)

 

I'll still make the app to edit the EDID but this driver should be used alongside :D

 

@shiecldk: You need to edit every parameter to match your thunderbolt display in the Info.plist.

After that it will work just fine. :D

Attached Files



#16
shiecldk

shiecldk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 233 posts
  • Gender:Male
  • Location:Taiwan

Also got a picture of the GUI of the new app.  ;)

Take a peek...  :D

I look forward to it. :)

 

@shiecldk: You need to edit every parameter to match your thunderbolt display in the Info.plist.

After that it will work just fine. :D

Awesome...Andy!  :thumbsup_anim:

 

Now it's recognized as LCD!!

Spoiler

 

Btw, don't know why the value in IODisplayCapabilityString is showed as Hex.

Spoiler



#17
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

I just did some tests.
The kext completely negates the need for a display override.
Tested in ML and Mavericks without display override and with the kext.
It works just fine.
I wonder if I should add kext auto gen to the app... :D

EDIT: Here is a picture under Mavericks. The kext should work for older versions of OS X too (probably even Tiger ;))

Look! No more ugly black display icon... :)

Attached Files



#18
artur-pt

artur-pt

    InsanelyMacaholic

  • Local Moderators
  • 4,727 posts
  • Gender:Male
  • Location:Portugal
  • Interests:TechManiaco

hello Andy

 

i always use EDID to my graphics work.. with chameleon must inject the forced edid in the file under /system/library/displays/...

 

now with clover

 

don't need it grab my original edid and inject it

 

only show my note display like a external monitor like the image u have

 

i test one solution it work .. in core.. replacing values in files.. but if any update .. mess with this files .. must do it again

 

i use several kext from u.. isight. ubsmouse , dvd drive and use yur voodoops2controller

 

so i will wait for the final solution.. for this..

 

nice work

 

regards



#19
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

I did the testings for monitor overrides.

Pics below...

Somebody with mobile should test the MacBook Pro solution (in my case it gave an iMac display because I have an iMac model, with a mobile model it probably gives the notebook...).

The rest works right.

4 override kexts made (adapt them where needed).

 

The */display0/AppleDisplay-*-* overrides (for IODisplayPrefsKey)

iMac : */display0/AppleDisplay-610-a012

Cinema HD : */display0/AppleDisplay-610-9232

Thunderbolt : */display0/AppleDisplay-610-9227

MacBook Pro : */display0/AppleDisplay-610-a014

 

Adapt your own IODisplayPrefsKey to the correct vendor and device using above as value guide.

 

Now the EDID fixes:

 

iMac you know... (see first post).

Thunderbolt:

Serial number data

06 10 27 92 1f 00 23 16 23 16

Chroma info

6f b1 a7 55 4c 9e 25 0c 50 54

Descriptor for name

00 00 00 fc 00 54 68 75 6e 64 65 72 62 6f 6c 74 0a 20

Descriptor for serial number

00 00 00 ff 00 43 30 32 4a 39 30 30 58 46 32 47 43 0a

Note that this needs 2 descriptor overrides.

 

Cinema HD:

Serial number

06 10 32 92 7c 9f 00 02 2a 10

Chroma info

fe 87 a3 57 4a 9c 25 13 50 54

Descriptor for name

00 00 00 fc 00 43 69 6e 65 6d 61 20 48 44 0a 00 00 00

Descriptor for serial number

00 00 00 ff 00 43 59 36 34 32 30 5a 36 55 47 31 0a 00

Note again that we need to override 2 descriptors

 

MacBook Pro:

Serial number

06 10 14 a0 00 00 00 00 0a 16

Chroma info

6f b1 a7 55 4c 9e 25 0c 50 54

Descriptor for name

00 00 00 fc 00 43 6f 6c 6f 72 20 4c 43 44 0a 20 20 20

This only needs one descriptor override.

 

Pictures below ;)

Attached Files



#20
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

The application is made.

It is available here:

http://www.insanelym...apple-displays/

Binary and source ;)







Also tagged with one or more of these keywords: iMac, Display, Override

  Topic Stats Last Post Info

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy