People with a HDMI (only) display plugged-in at boot time, may run into a system hang with OS X 10.9 DP4 on Haswell systems. We here resolved this with a workaround – modified the PlatformInformation for one of the frame buffers:
03 00 22 0D 00 03 03 03 00 00 00 02 00 00 00 01
00 00 00 00 00 00 00 40 99 14 00 00 99 14 00 00
00 00 00 00 00 00 00 00 03 06 10 00 01 00 00 00
00 00 00 00 01 05 12 00 04 00 00 00 00 00 00 00
02 04 14 00 00 08 00 00 00 00 00 00 FF 00 01 00
01 00 00 00 40 00 00 00 02 00 00 00 01 01 00 00
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
Apple is probably going to fix the HDMI problems in OS X 10.9 DP5 or with a Graphics Update for DP4 but until then this workaround can be used. Just give it a try and let us know if it works for your setup/motherboard as well. Thanks!
Did you notice what we did with the FB Index? Indeed. We removed the delays and changed the FB Index order to: 3, 1 and 2. This gives us port-number: 7, 5 and 6.
Adding a delay on the last framebuffer (used for HDMI here) changes the port-number from 6 to 0, but that isn’t causing us any problem. At least not here with our setups.
Update-1:
We now have a small bash script (AIFBAzul.sh) to patch platformInfo in AppleIntelFramebufferAzul.kext It is very easy to use and not only enables you to patch/replace platformInfo, but also to undo/restore a patch. All you need for this is to run AIFBAzul.sh with the same AAPL,ig-platform-id (see example below).
1.) Download AIFBAzul.
2.) Rename the file to AIFBAzul.sh (required due to a WordPress limitation).
3.) Change the data of: AAPL,ig-platform-id: 0x0d220003
4.) Open a terminal window and run: sudo ./AIFBAzul.sh 0x0d220003 replace
or: ./AIFBAzul.sh 0x0d220003 patch
5.) reboot
You can run: sudo ./AIFBAzul.sh 0x0d220003 restore
or: sudo ./AIFBAzul.sh 0x0d220003 undo
to restore/undo a patch.
You can run: sudo ./AIFBAzul.sh 0x0d220003 show
to get the platformInfo data:
AAPL,ig-platform-id: 0x0d220003 located @ 317368
————————————————
004d7b8: 0300 220d 0003 0303 0000 0002 0000 0001 ..”………….
004d7c8: 0000 0000 0000 0040 9914 0000 9914 0000 …….@……..
004d7d8: 0000 0000 0000 0000 0105 1200 0004 0000 …………….
004d7e8: 8700 0000 0204 1400 0004 0000 8700 0000 …………….
004d7f8: 0306 1000 0004 0000 1100 0000 ff00 0100 …………….
004d808: 0100 0000 4000 0000 0200 0000 0101 0000 ….@………..
004d818: 0400 0000 0000 0000 0000 0000 0000 0000 …………….
004d828: 0000 0000 0000 0000 ……..
Tip: Booting in single-user mode enables you to restore the platformInfo. For example, when a patch isn’t working for you.
The fun part is that people can now share patched platformInfo data, and all other people will have to do is to replace PATCHED_PLATFORM_INFO (in function initPatchedPlatformInfo) and run AIFBAzul.sh to patch their copy of AppleIntelFramebufferAzul.kext
Update-2:
We changed the script a little and now AIFBAzul v1.2 won’t call otool anymore. Please give v1.2 a try and let us know what you think of it. Feedback is welcome here 😉
Welcome back – reposted this on IM with full credit to source.
Thank you Tony. And thanks for reposting this.
Hello Pikeralpha
Where ist this “Platforminformation” ? is in a kext ? or where ?
i will change this in blue color Numbers self, so that HDMI work in DP4.
Thank you for detailed Help
i have found this AppleIntelFramebufferAzul.kext in S/L/E.
Can i here change this Numbers ?
Yes. You can use a hex editor to make the required changes in AppleIntelFramebufferAzul
or wait for me to add/release a simple bash script to change the framebuffer (available soon).
Trank you Friends….. Will Wartung for you Script.
Send you me this per Mail to me ?
Where do I find these values to edit?
My Graphic card is a Geforce GT620 and its framebuffer no such
key.
only in AppleIntelFramebufferAzul.kext
Anyone know how to change the ports for HDMI NVidia Geforce cards?
Sorry. This workaround is for the AppleIntelFramebufferAzul.kext only and I have no idea what to change to get for your Geforce GT620 going.
Hi pikeralpha,
Do you have idea how to fix HD6850’s framebuffer for HDMI in DP4?
No. Sorry. Just wait for DP5 (soon available).
Hi again, I’m willing to try the script but is there a boot flag that can get me past the hang? So I don’t have to get my whole PC out and unplug the HDMI? Maybe I can make it not use the DSDT or will -s work? Also will I have to change my ID to 0x0d220003 ? I don’t use a GPU just the integrated 4600 with HDMI. Thanks 🙂
Yes. You want -s (single-user mode) since that allows you to undo/restore.
Hi Piker, can you helpme to get audio in a ga-z87x-ud5h (Haswell) for 10.8.4. I tried almost everything with AppleHDA. I read every week your blog, Your are awsome!!!
No. Sorry, but I only use OS X 10.9 Mavericks these days. I have to, otherwise it would take too much time.