Jump to content
toleda

Mountain Lion Realtek ALC AppleHDA Audio

76 posts in this topic

Recommended Posts

Realtek ALC885 through ALC1150 Onboard Audio

 

Realtek ALC AppleHDA Audio enables OS X Realtek ALC onboard audio on Intel based motherboards with a bootable clean install of OS X.  Two steps are required; 1. Install Realtek ALC Injection and 2. Edit the native AppleHDA.kext.  This guide provides the files and instructions for editing the native AppleHDA.kext for Realtek ALC AppleHDA  Onboard Audio.

 

Update v9: 10/11/13 - Mute fixed on 10.8.4/10.8.5 ALC887 and ALC888

Update v8: 9/30/13 - Realtek ALC1150 AppleHDA available.  See link below. 

Update v8: 9/30/13 - x79 audio support in 10.8.5

Update v7: 9/16/13 - Remove boot flag  npci=0x3000 for audio in 10.8.5 and 10.9, see Note 3, below

Update v6: 9/13/13 - 10.8.5 Shell Script Realtek ALC885 through ALC898  AppleHDA.kext Patching

Update v5: 9/13/13 - Enable Microphone Noise Canceling, see Note 2, below

Update v4: 9/12/13 - 10.8.4 Realtek ALC885 through ALC898  AppleHDA.kext Available in Audio - InsanelyMac Forum

Update v3: 9/4/13 - 10.8.4 Realtek ALC887 through ALC898  AppleHDA.kext Available in Audio - InsanelyMac Forum

Update v2: 8/18/13 - 10.8.4 Shell Script Realtek ALC885 through ALC898  AppleHDA.kext Patching

 

Supported OS X releases

1. Mountain Lion: 10.8 to 10.8.4 - AppleHDA_v2.3.7

2. Mountain Lion: 10.8.5 - AppleHDA.kext_v2.4.7

 

Requirements

1. Native S/L/E/AppleHDA.kext (use OS X combo update to restore native AppleHDA.kext)

2. Realtek ALC Injection installed (Audio ID: 1, 2, or 3)

 

If Realtek ALC injection is not installed, see Realtek ALC AppleHDA Audio Injection - Sound - InsanelyMac Forum

 

With ALCInjection installed, select the appropriate codec

1. toleda/audio_ALC885 - 10.8.4, 10.8.5

2. toleda/audio_ALC887 - 10.8.4, 10.8.5 (887v100302 and v1000202)

3. toleda/audio_ALC888 - 10.8.4, 10.8.5 (888v100302 and v1000202)

4. toleda/audio_ALC889 - 10.8.4, 10.8.5

5. toleda/audio_ALC892 - 10.8.4, 10.8.5

6. toleda/audio_ALC898 - 10.8.4, 10.8.5

7. toleda/audio_ALC1150 - 10.8.5

 

Download  (ex. ALC898)

1. Select: Download ZIP (above and right)

 

Verify  (ex. ALC898)

1. native S/L/E/AppleHDA.kext

2 Downloads/audio_ALC898 -master

3. no Desktop/audio_ALC898

 

Installation  (ex. ALC898, 10.8.5))

1. Downloads/audio_ALC898-master/audio_alc892-85_patch.command

2. Finder/File/Open With/Terminal

3. Enter password at prompt

4. Restart

 

Realtek ALC AppleHDA Guides - toleda/audio_ALCInjection

1. [Guide] Add or Edit dsdt/HDEF.pdf

2. ML-Clover Realtek ALC AppleHDA Injection.pdf

3. ML-Customizing the Realtek AppleHDA.pdf

4. ML-Realtek ALC AppleHDA Capabilities.pdf

5. ML-Realtek ALC AppleHDA Screenshots.pdf

 

Not Supported

1. X79 - update:  working, support in 10.8.5

1a. Workaround: Interim AppleHDA.kext

2. 887_v100202 and earlier

2a. Workaround: alternate Platforms.xml.zlib

3. 888_v100202 and earlier

3a. Workaround: alternate Platforms.xml.zlib

4. Asus P8P67 3xxx BIOS: phantom codec

4a. Workarounds: 2xxx BIOS downgrade, non HD3000 processor or 7 Series motherboard

5. MSI motherboards, pre Sandy Bridge 

5a. Workaround: None

 

Notes

1. Mute is not supported on the current (v100302) ALC887 and ALC888. Fixed - 10/11/13

2. Enable microphone noise canceling (motherboard/pink port, tested ALC898)

2a. Credit: EvgeniX, http://www.insanelymac.com/forum/topic/290797-mountain-lion-realtek-alc-applehda-audio/?p=1944633

2b. AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist

2c. Find CodecID/LayoutID   (Ex. 898/Audio ID:1 > CodecID: 28390153, LayoutID: 1)

2d. Edit ConfigData, Find: 21871EA1, Replace: 21871EA0

2e. Save, install, restart

2f. Details: ML-Customizing the Realtek AppleHDA.pdf

3. Remove npci=0x3000 from Kernel Flag in org.chameleon.Boot.plist or Boot Arguments in config.plist

3a. Credit: BiTRiP, TwistedSystems

 

Troubleshooting

1.  toleda/audio_ALCInjection ML-Realtek ALC AppleHDA Capabilities.pdf 

 

Problem Reporting (Post to this thread)

1. Description of audio problem, including the following information:

2. OS X version/motherboard model/BIOS version/processor/graphics

3. Procedure/Guide Used/AppleHDA.kext version

4. Extra/dsdt.aml (if installed)

5. Copy of IOReg - Download IORegistryExplorer_v2.1 from toleda/audio_ALCInjection.  Save a copy and attach

6. Console/All Messages/kernel Sound Assertions selected/Save Selection As…..

7. Screenshot of System Information/Hardware/Audio/Intel High Definition Audio (not Devices)

8. Screenshot of System Information/Hardware/Graphics/Displays

9. Patched AppleHDA.kext

10. Terminal log

 

Credit

THe KiNG [HOW TO] Patch AppleHDA - Knowledge Base - Project OS X Forums

VHC888  ALC889A, Gigabyte (Intel): now having a working front mic - InsanelyMac Forum

.: ErmaC:.: AppleHDA patching in Mountain Lion - Page 4 - Sound - InsanelyMac Forum

RevoGirl

Share this post


Link to post
Share on other sites
Advertisement
Hi toleda I admire your talent.

For further development.   :thumbsup_anim:  :thumbsup_anim:

Share this post


Link to post
Share on other sites

Regarding your github page:

https://github.com/toleda/audio_ALC892

  • There seems to be no direct download links; it's a bit hard to navigate (or I'm missing something). I have to click on the .zip and then do a save-link-as on the 'View Raw' link on the subsequent page... Not very intuitive.
  • Also, the install could be made a lot easier, would you like me to make a shell script that does it? (Or is it ok if I repack it with a shell script that does?)
  • Your patch instructions have 9 lines to install the .xml.zlib files with the right permissions, this could be done with a single install command:

    sudo install -m 644 -o root -g wheel Platforms.xml.zlib layout1.xml.zlib layout2.xml.zlib layout3.xml.zlib  /System/Library/Extensions/AppleHDA.kext/Contents/Resources
    
    I don't think it's good to recommend that people cut&paste 9 separate shell commands to do the same.
  • All the AppleHDA modifying steps could be bundled into .pkg installer like I did for the IDT codec on this laptop: http://www.insanelymac.com/forum/topic/272546-osx-107-108-and-109-on-the-dell-xps-1340-laptop/

    This would make everything idiot proof with the same benefits as your instructions (no binary AppleHDA revisions to share, etc). I think ultimately this would be the best approach.

Share this post


Link to post
Share on other sites

I think ultimately this would be the best approach.

 

bcc9, thanks for your valuable feedback.

 

The Download Zip button is on the right side of the readme page window. I will add clarity.

 

I have an Automator workflow that uses AppleScript for password entry and runs the terminal commands as a shell script that I plan to make available. However, I welcome your offer to provide an easy to use and more reliable shell script.

 

Your permissions comment is helpful given my brute force Terminal approach.

 

I have used PackageMaker previously and could not find a way to like it; willing to make another go, perhaps, with the Mavericks release.  Your laptop install package is impressive.

 

Let's implement the ideas you described.

Share this post


Link to post
Share on other sites

The Download Zip button is on the right side of the readme page window. I will add clarity.

Thanks, I feel stupid for not seeing that, but I do find github's page layout to be pretty confusing; many links on that page just refer back to the same page, and the main content, the readme, is full of links that take you everywhere but to the download :)

 

All I have so far is the attached script. install.sh.zip

The touch $sledir part could be replaced with a call to my patch-hda.pl script.

Then the only other pieces are the backing up of AppleHDA and the AppleHDAHardwareConfigDriver override. For the former I usually just cp -pr AppleHDA.kext AppleHDA.kext.orig. If the script is going to handle the backups maybe we need to idiot proof it against the script being run repeatedly. Without care the backup would be clobbered if the script is re-run. Best to leave it to the user maybe?

For the later, I kind of prefer using a separate plist-only kext to override AppleHDAHardwareConfigDriver. Especially since AppleHDAHardwareConfigDriver often has minor changes from release-to-release that we might not want to just clobber. Keeps the set of changes to AppleHDA itself pretty simple. Maybe that's silly of me.

Share this post


Link to post
Share on other sites

As for a package installer,

Yes, I don't think anyone likes PackageMaker. I find its behavior often surprising, easy to crash, and the xml it generates is hard to read and undocumented.

 

I think most people must get a package set up once with packagemaker, and then use their own build scripts to build subsequent releases. chameleon has example package build scripts.

 

For my IDT codec package, I stayed with packagemaker but I don't enjoy going back to make new releases. Luckily I don't normally have to.

Share this post


Link to post
Share on other sites

Then the only other pieces are the backing up of AppleHDA and the AppleHDAHardwareConfigDriver override. For the former I usually just cp -pr AppleHDA.kext AppleHDA.kext.orig. If the script is going to handle the backups maybe we need to idiot proof it against the script being run repeatedly. Without care the backup would be clobbered if the script is re-run. Best to leave it to the user maybe?

For the later, I kind of prefer using a separate plist-only kext to override AppleHDAHardwareConfigDriver. Especially since AppleHDAHardwareConfigDriver often has minor changes from release-to-release that we might not want to just clobber. Keeps the set of changes to AppleHDA itself pretty simple. Maybe that's silly of me.

Thanks for your expertise and support.  I concluded one backup is enough; if it gets clobbered, the choices are a fresh install, combo update or Pacifist/combo update.  The separate plist only kext gives me problems when I forget it's there (I simulate codecs I don't own with codecs I do).  I looked into Terminal patching of plists and I am not sure it is possible.  In the meantime, I favor a one kext audio solution.

Share this post


Link to post
Share on other sites

All I have so far is the attached script. attachicon.gifinstall.sh.zip

 

At your convenience, try the attached script for patching the native  AppleHDA.kext for the ALC892.  It requires the native S/L/E/AppleHDA.kext and Downloads/audio_alc892-master (toleda/audio_ALC892).   Suggestions welcome.

 

Update: 8/18/2013 - see Post #1

Share this post


Link to post
Share on other sites

Toleda, 

I was trying lot of times and very strictly you guide for HDA in 889.

I reinstall the combo to get AppleHDA native.

 

 

  1. Motherboard ga-z87x -ud5h BIOS f7/processor: i74770k /graphicsgtx 650 ti 2gb form gigbyte  /OS mountine lion and version 10.8.4
  2. Procedure/Guide Used: chameleon 2256
  3. No DSDT

Can you help me? Thanks!!!!

Share this post


Link to post
Share on other sites

Toleda, 

I was trying lot of times and very strictly you guide for HDA in 889.

I reinstall the combo to get AppleHDA native.

 

Your mother board codec is 898 not 889.  See Post #1.

Share this post


Link to post
Share on other sites

Update v2: 8/18/13 - 10.8.4 Shell Script Realtek ALC. . .  AppleHDA.kext Patching

 

Installation  (ex. ALC898, 10.8.4))

1. Downloads/audio_ALC898-master/audio_alc892-84_patch.sh

2. Finder/File/Open With/Terminal

3. Enter password at prompt

4. Restart

Share this post


Link to post
Share on other sites

 

Update v2: 8/18/13 - 10.8.4 Shell Script Realtek ALC. . .  AppleHDA.kext Patching

 

Installation  (ex. ALC898, 10.8.4))

1. Downloads/audio_ALC898-master/audio_alc898.-84_patch.sh

2. Finder/File/Open With/Terminal

3. Enter password at prompt

4. Restart

 

Toleda, the file you gave me freeze my Hackintosh. I restart from the PC button and the mousse and the keyboard are stuck.

I have booting from the USB but the only thing I can do is go to Disk Utility or Terminal.

 

Can you give me how can I delete the last Patch form my Hard Disk from Terminal. It's the only way I have: boot with USB.

 

Thanks.

Share this post


Link to post
Share on other sites

Toleda, the file you gave me freeze my Hackintosh. I restart from the PC button and the mousse and the keyboard are stuck.

I have booting from the USB but the only thing I can do is go to Disk Utility or Terminal.

 

Can you give me how can I delete the last Patch form my Hard Disk from Terminal. It's the only way I have: boot with USB.

 

Thanks.

You are booting to the Installer, not the the installed system; why?  Exactly what patch did you try?

The recovery is noted in the README:

6a. Install Desktop/audio_ALC898/AppleHDA-orig.kext to S/L/E/AppleHDA.kext

Share this post


Link to post
Share on other sites

You are booting to the Installer, not the the installed system; why?  Exactly what patch did you try?

The recovery is noted in the README:

6a. Install Desktop/audio_ALC898/AppleHDA-orig.kext to S/L/E/AppleHDA.kext

I was trying with this: 1. Downloads/audio_ALC898-master/audio_alc892-84_patch.sh

I did everything like you recommend. Checking all the files.

 

I repair the permissions and when I restarted, I get all the system stuck.

THe only way I can start the machine is with the USB stick.

 

That´s why I can go to terminal and put any script. I´m not good programmer, I think If i can delete the process that I did, I can resolve the issue and after that try with voodoo or other method.

 

If not, I have to start again from zero. The patch, for me , not work.

Share this post


Link to post
Share on other sites

if you change 21871EA1 to 21871EA0 (example: my 898) you will get noise cancelation for mic...

Thanks for your suggestion.  With your permission, I will add a credit on the first post with this edit.

Share this post


Link to post
Share on other sites

this patch does not work anymore with 10.8.5

 

use this (898 example):

AD1984     >   ALC899

8419D411 to  9908EC10 

AD1984                      >    ALC899             ASCII

31314434 31393834 to   31304543 30383939 

For Clover:

<dict>
				<key>Comment</key>
				<string>AD1984->ALC899</string>
				<key>Find</key>
				<data>
				hBnUEQ==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				mQjsEA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>AD1984->ALC899 ASCII</string>
				<key>Find</key>
				<data>
				MTFENDE5ODQ=
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				MTBFQzA4OTk=
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Replace xml to zml</string>
				<key>Find</key>
				<data>
				eG1sLnps
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				em1sLnps
				</data>
			</dict>

Share this post


Link to post
Share on other sites

Hello toleda

Some where in the net i dont remember well i read tha they manange to make alc 268 work on mountain lion 64bit. do youh know a way to make it work.

I have no experience with the 268.  

Update v6: 9/13/13 - 10.8.5 Shell Script Realtek ALC887 through ALC898  AppleHDA.kext Patching

Patches native 10.8.5 S/L/E/AppleHDA.kext_v2.4.7fc2

See Post #1.

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.

×