Jump to content

[HOW TO] Patch AppleHDA - Knowledge Base


THe KiNG
 Share

392 posts in this topic

Recommended Posts

Should I try manually with kext helper?

I use vanilla kernel and it works fine without any additional patches, just NVInject, but it could works fine without it.

I'm macnoob, don't know really what boot should I use better with my PC. I'd tried Kalyway, iAtkos earlier. All works fine, but no sound.

Boot132 is like the original Mac OS X, am I right?

 

Here is the question - I would like to use Logic 8. I want try to make some sounds there. What boot could you advice me for this? I need just working sound (2x2chanels).

 

Thank you, and sorry for some things :[

 

[My configuration:

GA-P43-DS3 motherboard with ALC888 inside, Intel Core 2 Duo E8400 3Ghz with 6Mb L2 Cache and SSE3/SSE4.1, 4x1024 Mb 800 Mhz DDRII SDRAM, Asus Geforce 8600 GT 512 Mb, Sata HDD Seagate Barracuda 1 Tb, Sata DVD]

Link to comment
Share on other sites

the King,

 

Could you elaborate more on -

 

# PostConstructionInitialization

 

Layouts
dunno... I leave them as they are...someone?

 

I'm not 100% sure but this is what I figured out:

-On entry widgets/item1/:

MicAttributes:
-->
28
is ok dosen't have to change it, if you look on dump on NODE 28 it tell yo that is [N/A] SPEAKER AT EXT REAR and PIN-CTLS: 32: IN, correct me if I'm wrong, since I didn't fixed yet internal mic dunno for sure, I will try also with Node
29

 

MicInfo:
--> Leave it as it is

 

NodeID:
-->
39
this must be changed to correct one, in my case Node
25
[FIXED] MIC AT INT ATAPI

 

PinConfigDefault:
-->
2426405136
this must be changed to correct one, in my case from the dump under Node
25
u have the right value: PIN DEFAULT
2577598815

I think I follow everything until PinConfigDefault - Here's what my codec dump (ALC889a) has

 

Node 0x18 [Pin Complex] wcaps 0x40018f: Stereo Amp-In Amp-Out

....

Pin Default 0x01a19c40: [Jack] Mic at Ext Rear

Conn = 1/8, Color = Pink

DefAssociation = 0x4, Sequence = 0x0

 

So how to I transform 0x01a19c40 to get the value for PinConfigDefault?

 

Thanks,

SMF

Link to comment
Share on other sites

the King,

 

Could you elaborate more on -

 

# PostConstructionInitialization

 

So how to I transform 0x01a19c40 to get the value for PinConfigDefault?

 

Thanks,

SMF

Yes that's the procedure, but for now I ditched that section until I figure out what does each function...anyway internal mic, and as general for other codecs then ALCxxx( eg AD19xx) inputs create problems...

 

I believe that this kext has HDMI, XyZ give it a shot:

Latest_for_10.5.5_AppleHDA.kext.zip

Tried latest hda from mbp update, and i have only bad news, HDMI out for ATI is total removed from hdacontroller(and I was espected platformdriver implementention lol) and for my alc888 HDMI out still i got sound assertions errors and an "unknown" entry on system preferences, maybe on 10.5.6 will see....

Link to comment
Share on other sites

Yes that's the procedure, but for now I ditched that section until I figure out what does each function...anyway internal mic, and as general for other codecs then ALCxxx( eg AD19xx) inputs create problems...

 

 

Tried latest hda from mbp update, and i have only bad news, HDMI out for ATI is total removed from hdacontroller(and I was espected platformdriver implementention lol) and for my alc888 HDMI out still i got sound assertions errors and an "unknown" entry on system preferences, maybe on 10.5.6 will see....

 

OK. I'm trying to plow through the data sheet for my ALC889 and see if I can figure it out. The dump isn't as clean as what MadTux talked about for outputs (the mixer aren't "starred" for the input devices so it's just not clean to figure out the mapping)

 

I'm also trying to understand the HDAController plist. I see the linkage between the Layout and Pathmap sections but I initially thought that there was a direct one to one correspondence between the order of the input/output items in the Layout and the items in the Pathmap section but it's not consistent in the stock kext so I'm confused about that. I'm also interested in why there are so many Layout/Pathmap combinations for a single codec.

 

Thanks. Hope I can contribute here.

 

SMF

Link to comment
Share on other sites

I believe that this kext has HDMI, XyZ give it a shot:

Latest_for_10.5.5_AppleHDA.kext.zip

 

 

This kext finally got my sound working on my Nforce 630i based board, GA-73-PVM. Combined with hdaenabler I now have working spdif out, which is all I care about, although lineout does not work. It is probably just some pin issue. I tried just about every kext out there and even your guide, but nothing worked. Thanks.

 

Dustin

Link to comment
Share on other sites

Hi. I have read the guide, but I find it a bit obscure.. apart from the points I could overpass, like graphviz etc., I'm stuck with the colors and the numbers.

Could you help me somehow? My codec dump is the one I have attached (I got it from Mandriva linux, last version), and it is a little different from the one I had found online.

Thank you.

AD1986a.txt

Link to comment
Share on other sites

So on AD1988b I got 5.1 analog out, volume ok, no mute, digital in/out(can't test it since no digital in speakers) and no inputs(mic or line in), I have them on System Preferences but dosent work for now...

On HD3870 All things are done waiting for apple to add support for HDMIOut on hda... :)

Will keep you posted with updates.

 

Hi THe KiNG, great tutorial, I have a P5K Premium and I was wondering about your progress on the AD1988b. Would this work on munkys EFI partition? I have a Vanilla install and the only thing not working is the audio. I want to attemp this, but only if it works from EFI partition.

 

Thanks,

 

SirReal

Link to comment
Share on other sites

has anybody been able to patch appleHDA for AD1986a?

 

I have the AppleHDA patched by Taruga, but I'd like to try another patch. At the moment, in fact, the volume slides are not working. I have sound, but certainly there is something I'm missing...

 

Please if you have any ideas, let me know.

Link to comment
Share on other sites

OK. I'm trying to plow through the data sheet for my ALC889 and see if I can figure it out. The dump isn't as clean as what MadTux talked about for outputs (the mixer aren't "starred" for the input devices so it's just not clean to figure out the mapping)

 

I'm also trying to understand the HDAController plist. I see the linkage between the Layout and Pathmap sections but I initially thought that there was a direct one to one correspondence between the order of the input/output items in the Layout and the items in the Pathmap section but it's not consistent in the stock kext so I'm confused about that. I'm also interested in why there are so many Layout/Pathmap combinations for a single codec.

 

Thanks. Hope I can contribute here.

 

SMF

You are right about dump but at least for ALCxxx its a chance to be almost ok, AD19xx its a PITA

About HDAController, i have same questions like you about combinations, didn't find a valid answer yet, and to be more confuse on latest mbp for the same ALC885 apple don't use any ConfigData, not even a empty one, no verb at all!

For the corespondent LayoutID they added "MikeyAFGLowPowerState" on HDAController, and a new plugin on hda: AppleMikeyDriver.kext

 

My audio works perfectly fine, but in System Profiler -> Audio (Built-in) it does not show any details of audio installed. How to get it, mine is Realtek ALC888.

You didn't make a proper codec verb.

 

Hi. I have read the guide, but I find it a bit obscure.. apart from the points I could overpass, like graphviz etc., I'm stuck with the colors and the numbers.

Could you help me somehow? My codec dump is the one I have attached (I got it from Mandriva linux, last version), and it is a little different from the one I had found online.

Thank you.

I can't write more n00bish then that, and I'm a n00b too...if you don't understand what I write..sorry This is not a five minute job,and it takes a lot of time, to understand you must deal with each section...

Also please don't provide dumps, this is a Knowledge Base, not a patching section...also on PM...

Is there any way to get the same pinout config(codec) in Windows XP?

StiCMAN

Didn't tried on XP but imo must be on registry somewhere...

 

I'm a little bit confused about the codec verb. Do we need to put the node on some sequence or just put it ascendent?

Put them as you like, but imo try to use a vanilla example and follow it.

 

Hi THe KiNG, great tutorial, I have a P5K Premium and I was wondering about your progress on the AD1988b. Would this work on munkys EFI partition? I have a Vanilla install and the only thing not working is the audio. I want to attemp this, but only if it works from EFI partition.

 

Thanks,

 

SirReal

Yea works just fine from EFI partition or from root on /extra/..mkext

I've stoped for now to deal with hda b/c latest applehdaudio.kext from mbp51 update is messed at least for us, HDAController is problematic random refuse to load and I have to boot with -f flag to fix it...but even with -f sometimes refuse to load...

AD1988b is like I sad just 5.1 analog out and digital, no in for now...

I'm waiting for 10.5.6 or for a new hda kext, if this problem would remain its possible for us to be forced to use 10.5.4 hda and that mean bye bye vanilla...hope not

Link to comment
Share on other sites

You are right about dump but at least for ALCxxx its a chance to be almost ok, AD19xx its a PITA

About HDAController, i have same questions like you about combinations, didn't find a valid answer yet, and to be more confuse on latest mbp for the same ALC885 apple don't use any ConfigData, not even a empty one, no verb at all!

For the corespondent LayoutID they added "MikeyAFGLowPowerState" on HDAController, and a new plugin on hda: AppleMikeyDriver.kext

 

THe KiNG,

 

Thanks. At least I'm not missing something obvious in HDAController. I haven't looked at the updated AppleHDA - I've been having enough fun with the "earlier" one. I'll keep working on it.

 

SMF

Link to comment
Share on other sites

I've finally understood what you wrote on your guide. I did everything you suggested but it didn't work. I realized that in the case of Taruga patched AppleHDA, there are also some binary files patched and not only in "Controller" and "Driver" sections. To be more specific, the modified files are:

 

Contents/Info.plist

Contents/MacOS/AppleHDA

Contents/Plugins/AppleHDAController.kext/Contents/Info.plist

Contents/Plugins/AppleHDAController.kext/Contents/MacOS/AppleHDAController

Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn

 

Do you think it is possible to do something anyway?

In this case, do you think it's even possible to load the patched files from EFI partition?

 

Thank you.

Link to comment
Share on other sites

I've finally understood what you wrote on your guide. I did everything you suggested but it didn't work. I realized that in the case of Taruga patched AppleHDA, there are also some binary files patched and not only in "Controller" and "Driver" sections. To be more specific, the modified files are:

 

Contents/Info.plist

Contents/MacOS/AppleHDA

Contents/Plugins/AppleHDAController.kext/Contents/Info.plist

Contents/Plugins/AppleHDAController.kext/Contents/MacOS/AppleHDAController

Contents/PlugIns/AppleHDAHALPlugIn.bundle/Contents/MacOS/AppleHDAHALPlugIn

 

Do you think it is possible to do something anyway?

In this case, do you think it's even possible to load the patched files from EFI partition?

 

Thank you.

Great! :unsure:

That was on old Tiger AppleHDA.kext!

On new Leopard one things are different, for example they removed Layouts.xml from resources on latest kexts, things are organized different and they introduced a new plugin..(two in plus since Tiger version)

My goal was to not touch any vanilla files, if hex hack is required for some codecs that's it!

BTW latest 10.5.6 hda kext is fixed, no more crush on boot.

Only plist only kexts can be loaded from /efi or /extra/extensions.mkext for hda, if you put a hex hacke kext on that only plist will be used...

 

Still, King, could you post your AD1988b Kexts?

I want to try them!

I cant post half job kext, when i will got at least one input(mic or line in) i will post it, like i did for my laptop, you must wait until is done or make it by yourself, again this is a knowledge base topic, if you have some info to share, do it, help me and others to go forward....

Link to comment
Share on other sites

if i did this, would it give me proper 5.1 sound, as opposed to the 5.1 i get with a 3to1 jack i have?

also, when updating, will you have to redo the plist, or can you use the old one?

 

BTW, since my computer has a graph on the page, do i have to dump the audio? (Dell Inspiron 530)

Link to comment
Share on other sites

 Share

×
×
  • Create New...