[GUIDE] How to port AppleHDA to SL
3 Attachment(s)
Okay. I've been getting a lot of requests from people who wants to convert their Leopard AppleHDA.kext into Snow Leopard.
This guide assumes you have fully working kext or at least one which works well enough for your needs. Edit: This guide also assumes you have injected your audio by DSDT. Check out snow's guide If you can't find any AZAL or HDEF in your dsdt, just insert it manually like this. Things you need: 1. Vanilla SL AppleHDA.kext 2. Working AppleHDA.kext (make sure it works in leopard!) 3. PlistEdit Pro 4. HexEdit 1) First off, these are the codecs known to be supported natively without any binary patching required. Code:
Name Codec ID (dec) Codec ID (hex) Else, look into your vanilla SL AppleHDA.kext (Right click -> Show Package Contents) and browse to: Code:
(SL)AppleHDA.kext/Contents/MacOS/ In this example I'm going to replace the codec 0x10ec0885 (ALC885) with 0x10ec0888 (ALC888). So hit Command+F and search for 8508ec10 (byte-flip of 10ec0885) and replace with 8808ec10 (byte-flip of 10ec0888). Then just hit "Replace All". There will be 4 instances just to double check. Once you're done, Save and Exit. 2) Next, the plists. You will have to edit two of them in your SL kext. Firstly you need to edit: Code:
(SL)AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist Code:
IOKitPersonalities/HDA Hardware Config Resource/HDAConfigDefault/ Now, depending on which version your working applehda is, open either one of these: Code:
(Leo)AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist Attachment 615 Right click on the key (number 0 in the picture above) containing your CodecID and copy. Also, take note of the LayoutID you're using. It should be 12. Now go back to your SL plist above, click on HDAConfigDefault and paste as child. Save and exit. 3) Next, you need to edit: Code:
(SL)AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist Code:
IOKitPersonalities/HDA Platform Resource/ Again, depending on which version your working applehda is, open either one of these: Code:
(Leo)AppleHDA.kext/Contents/Info.plist Attachment 613 Right click on the key under Layouts (the number 0 in the picture) which contains your LayoutID (12) and copy. Take note of the PathMapID being used. In this case it's 9. Also make sure CodecID is correct. Now go back to your SL plist above, click on Layouts and paste as child. Back to the Leo plist, browse through until you see something like this: Attachment 614 Right click on the key under PathMaps (number 0) which has your PathMapID (9 in this case). Copy. Go back to your SL plist, click on PathMaps and paste as child. |
Thanx for the info.....can u post your alc888 patched applehda...?????
|
This plist works best. I'm not going to upload patched applehda from now on.
|
Great and thorough guide bro, good job!
|
i hope this will work for me. thx for the post
|
Hi
what if I've got more (not only 0) numbers in my old appleHDA.kext...I've got form 0...to 23... which one need to copy ??? thanks for help |
In step no. 2, search for your codec id (decimal) under the key CodecID. Once you've found it, take not the LayoutID it's using. If it's not 12, change it.
Search again, just to make sure it appears only once. You can safely remove the other layouts and keep your plist clean. |
thanks
copied all pathmaps and layouts but didn't work..... I'll try yous suggestions... thanks for help p.s. if doesn't work can I post working applehda form leo and the new one from 10.6??? |
Quote:
|
yes I've patched DSDT
still doesn't work for me...maybe I do something wrong..... anyway thanks for help |