Jump to content
Roman BEránek

UPDATED: AppleAC97Audio for Snow Leopard i386/x86_64

23 posts in this topic

Recommended Posts

Here is new version of AppleAC97Audio drivers. Original source code files were taken from Mac OS X 10.4.11 (opensource.apple.com).

I have "converted" (-> manually :D) the project into Xcode 3.2 and then replaced some deprecated calls with newer and ported asm call inl to 64-bit environment (the 'l' in "inl" means long, but long in 64-bit has 64-bits and instruction "in" can't operate with 64-bit operands).

 

Next goal is add 8ch support, but this will take a while 'cause it needs studying AC'97 datasheet.

 

UPDATED: Now with support of nForce4 audio and no "does not declare a kernel dependency" anymore

Binary:AppleAC97Audio.kext.zip

Sources: AppleAC97Audio_src.zip

 

Under x86_64 NOT tested but SHOULD work.

 

In case of donations, you can send it here :(

 

Enjoy.

 

iSchemy

Share this post


Link to post
Share on other sites
Advertisement

Thank you Roman, I'm using it now and it seems to solve the dependence issue I had with the other versions. BTW, I'm on 64bit (with Andy's patch and kernel)

 

 

EDIT: not so fast, the dependence problem is still there, and forgot to mention that there's a typo (I think) in the AppleAC97AudioIntelICH.kext plist, the IOPCIPrimaryMatch under the NVIDIA AC97 Audio section says 0x00da10de when it should be 0x005910de.

 

com.apple.kextd[12]	/System/Library/Extensions/AppleAC97Audio.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
com.apple.kextd[12]	/System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioIntelICH.kext does not declare a kernel dependency; using com.apple.kernel.6.0.

Share this post


Link to post
Share on other sites
Thank you Roman, I'm using it now and it seems to solve the dependence issue I had with the other versions. BTW, I'm on 64bit (with Andy's patch and kernel)

 

 

EDIT: not so fast, the dependence problem is still there, and forgot to mention that there's a typo (I think) in the AppleAC97AudioIntelICH.kext plist, the IOPCIPrimaryMatch under the NVIDIA AC97 Audio section says 0x00da10de when it should be 0x005910de.

 

com.apple.kextd[12]	/System/Library/Extensions/AppleAC97Audio.kext does not declare a kernel dependency; using com.apple.kernel.6.0.
com.apple.kextd[12]	/System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioIntelICH.kext does not declare a kernel dependency; using com.apple.kernel.6.0.

 

Oh, sorry. I was working with two version of this kext and it seems that this was the one with original plist files :(

Anyway, it's FIXED.

 

What exactly are the advantages over VoodooHDA? Or AppleHDA?

 

The advantages are: it works with AC '97 soundcards.

The disadvantages are: it doesn't work with Intel HDA soundcards.

Share this post


Link to post
Share on other sites
The advantages are: it works with AC '97 soundcards. The disadvantages are: it doesn't work with Intel HDA soundcards.
So, mate, in the case of my mobo (Shuttle XPC SG31G2 V2) where it comes with the Realtek ALC888 (7.1 channel High Definition Audio support Digital S/PDIF in/out) and inside the DSDT I see both references to Device (AC97) and Device (AZAL) are we supposed to be able to use your driver and skip altogether the search for patched binaries for ALC888 etc.? If I install your driver over a vanilla system installation, will I have audio via AC97? That's my question...

 

In any case, great work. Any new driver is always welcome!

Share this post


Link to post
Share on other sites

Well, there is no sign of AC '97 compatibility in a datasheet to ALC888. It sorta makes sense because there is no reason for HDA cards to pretend being AC '97.

But you can try it... simply add PCI ID of your card to Info.plist.

 

Give me a report ;)

 

iSchemy

Share this post


Link to post
Share on other sites
Well, there is no sign of AC '97 compatibility in a datasheet to ALC888. It sorta makes sense because there is no reason for HDA cards to pretend being AC '97.

But you can try it... simply add PCI ID of your card to Info.plist.

 

Give me a report ;)

Dear iSchemy thanks for your reply. Am I right to assume your driver was made to offer audio support to older/legacy controllers?

 

However, with all of us who already found a solution to having audio, via bin-patched kext or kext replacement from previous 10.6.x version, will just installing your driver mix up things? My device/vendor IDs (I guess you're referring to those, right?) are already covered/supported by the current patched binary... and the AppleHDA.kext is loaded.

 

For testing this one, I believe users with a stable/working system should:

 

(1) revert to including Device (AC97) in their DSDTs because it's usually removed when patching DSDT.

 

(2) somehow revert to vanilla audio kext, so that there's no (patched) audio driver loaded. In my case I must find the vanilla AppleHDA.kext for 10.6.4 because I deleted it upon installing the bin-pathed version.

 

(3) reboot, check there's no audio at all, then install your AC97 driver (with proper permissions) in /S/L/E and delete /System/Library/Caches/com.apple.kext.caches/Extesions.mkext and wait for your system to rebuild it, including the new AC97 kext. Reboot.

 

I must find some free time to do this! ;)

Share this post


Link to post
Share on other sites

You are assuming it right. This driver was made to offer audio support to audio controllers made before 2005 (Intel HDA specifications were released in 2004) under 64b kernel.

Personally, I don't see any reason to experiment with this driver when you already have a working solution. Even there is any backward compatibility, this driver can't control more than 6 channels because it is not specified in AC '97 (there are few codecs with 8-channels support, eg. ALC850 (my case) but it needs some dirty hacks (in this case 7th and 8th channels replace AuxIn) - that was by the way one of the main reasons to create Intel HDA specifications.

Rather be glad for fully working audio - not all of us have this luck :-)

 

Have fun.

 

iSchemy

 

P.S. if you have more speakers than two, maybe you will want this.

Share this post


Link to post
Share on other sites

Hi, thanks. Is there some kind of support for microphone?

Share this post


Link to post
Share on other sites
Mine microphone works, your not? Can you please tell me what type of codec do you have? I will look at it.

 

My error. Hey, what are the kexts dependencies of this kext?

Share this post


Link to post
Share on other sites

hi:

Roman BEr�nek

First of all, thank you for the change, in 32-bit mode, no problem; but in 64 bit mode, I encountered a panic, (the log 64-bit mode, I almost heard the MSN, SKYPE login sound), please help me to see what the problem is caused by the conflict, there is no other solution?

ps:my alc 655 id is 0x27de8086,I changed my id。

post-188142-1283490682_thumb.jpg

Share this post


Link to post
Share on other sites
Here is new version of AppleAC97Audio drivers. Original source code files were taken from Mac OS X 10.4.11 (opensource.apple.com).

I have "converted" (-> manually :D) the project into Xcode 3.2 and then replaced some deprecated calls with newer and ported asm call inl to 64-bit environment (the 'l' in "inl" means long, but long in 64-bit has 64-bits and instruction "in" can't operate with 64-bit operands).

 

Next goal is add 8ch support, but this will take a while 'cause it needs studying AC'97 datasheet.

 

UPDATED: Now with support of nForce4 audio and no "does not declare a kernel dependency" anymore

Binary:AppleAC97Audio.kext.zip

Sources: AppleAC97Audio_src.zip

 

Under x86_64 NOT tested but SHOULD work.

 

In case of donations, you can send it here ;)

 

Enjoy.

 

iSchemy

 

 

Great work man!

 

Ca you also fix the stereo of AppleAC97AudioVIA. Seems that its only mono coz the sound is only coming from 1 channel.

 

Also, attached is the source AppleAC97AudioATIIXP. Can you also mod it and include in your release.

 

Thanks and regards :P

 

AppleAC97AudioATIIXP_src.zip

Share this post


Link to post
Share on other sites
Yes, read here

http://www.insanelymac.com/forum/index.php?showtopic=93011#

and further how to make support for any AD198x

 

Sadly,maybe it won't work on my AD1984A(0x194a11d4).

I added ICH7(0x27d88086) in AppleAC97AudioIntelICH.kext's info.plist and added ADS70 to ADS80 in PNPVendorID.

I don't have Windows on my notenook.

How can I know that ALS number of AD1984A? :(

Share this post


Link to post
Share on other sites
Sadly,maybe it won't work on my AD1984A(0x194a11d4).

I added ICH7(0x27d88086) in AppleAC97AudioIntelICH.kext's info.plist and added ADS70 to ADS80 in PNPVendorID.

I don't have Windows on my notenook.

How can I know that ALS number of AD1984A? :(

ioreg -lxw0 | grep PNPVendorID

Share this post


Link to post
Share on other sites
ioreg -lxw0 | grep PNPVendorID

 

I got nothing.

Maybe AppleAC97CodecAD198x.kext is not loaded.

 

I try to kextload AppleAC97CodecAD198x.kext by myself.

But,I got "AppleAC97CodedAD198x.kext failed to load - (libkern/kext) validation failure (plist/executable); check the system/kernel logs for errors or try kextutil(8)." error.

Thanks,anyway. :D

Share this post


Link to post
Share on other sites
I got nothing.

Maybe AppleAC97CodecAD198x.kext is not loaded.

 

I try to kextload AppleAC97CodecAD198x.kext by myself.

But,I got "AppleAC97CodedAD198x.kext failed to load - (libkern/kext) validation failure (plist/executable); check the system/kernel logs for errors or try kextutil(8)." error.

Thanks,anyway. :(

And what?

You just have bad AppleAC97Audio or bad permissions.

Share this post


Link to post
Share on other sites
And what?

You just have bad AppleAC97Audio or bad permissions.

 

I think there have something misunderstanding.

I take more time to readed data-sheet and other information and find out that AD1984A is not an AC'97 audio.

It's the only reason the kext won't work. ;)

Share this post


Link to post
Share on other sites

Tnx! :) it works fine on my snow leopard 32 bit boot (iatkos s3 v2) 10.6.3

 

albatron px865 pro

p4 prescott 3.0ghz (478)

2gb ram

36gb wd raptor sata (boot)

6600gt agp (works fine with aty_init.kext)

 

my audio controller:

00:1f.5 Multimedia audio controller [0401]: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller [8086:24d5] (rev 02)

 

 

i install .kext with KextUtility.v2.3.2.full.Snow.Leo.x64.ready.by.cVad (drag n drop gr8 tool!)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×