• Become a Premium Member for $25/year with no ads to improve your community experience.

GUIDE A Beginner's Guide: How to Patch AppleHDA for Laptops

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
6,558
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

A Beginner's Guide: How to Patch AppleHDA for Laptops

Overview


Audio is an essential component of any system and it needs to be enabled. There are several ways to enable audio on the hardware. But those are not recommended when using a laptop. The following is a guide for patching AppleHDA for laptops.

On some audio codecs, it can give a kernel panic or crashes. There are several advantages when using AppleHDA. Before using this guide, we recommend you to perform a clean installation of macOS.

Requirements


Following are the requirements for this guide.

macOS/OS X Versions10.14.x, 10.13.x, 10.12.x, 10.11.x
Supported VendorsRealtek, Conexant, IDT, Cirrus Logic, VIA VT
AppleHDAVanilla/Original AppleHDA in /S/L/E

Patching AppleHDA for any codec is a complex process and is time consuming. Mirone has developed an Application for patching AppleHDA. The Application supports Desktop and Laptop segments including a number of codecs. But this guide is about patching AppleHDA on laptops.

Before you start

NOTES:
  • If you've used any other method such as VoodooHDA, AppleALC, or aDummyHDA, make sure to remove those files to avoid conflicts.
  • If you're using any injector, make sure to remove it.
  • AppleHDADisabler and HDAEnabler should be removed

Patching AppleHDA

Now, you have enough information about AppleHDA. To patch AppleHDA, follow the steps outlined below.

STEP 1: Getting Codec Information

The very first step is to get the codec information. Getting codec information is necessary as without knowing the audio codec, it will create chaos while following the guide as each codec is unique and needs different edits. To get the codec information, follow the steps below.
  1. The easiest method to obtain the codec information is to visit your motherboard manufacturer site and look for the Audio information under the specification section.
  2. Use DPCIManager and look for the codec information under status tab.
  3. Use a Linux or Ubuntu and in terminal, type :
Code:
Code:
cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt
or
Code:
Code:
cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt

STEP 2: Download AppleHDA Patcher

The next step is to download the AppleHDA patcher and then patch the AppleHDA for specific codec

Downloads
  1. AppleHDA Patcher (v1.8)
  2. MaciASL
Notes :
  • Download the latest version for better support.
  1. Extract the App to your Desktop
  2. Open the App
  3. Under the Laptop sections, select your Audio Codec
  4. Click on patch AppleHDA
  5. Now, under Find, select the Audio Device
Note :
  • To find the Audio Device, use DPCIManager

  1. If you find no audio device, select Skip
  2. Click on patch
  3. And the AppleHDA Patcher will patch a AppleHDA for the selected Codec
The path for the patched AppleHDA is
Code:
/Desktop/MironeAudio
Now, open the folder and open the codec folder.
There you'll find three respective folders
Audio Output folders.png
The Clover contains:
  • aDummyHDA.kext
  • config.plist
The DSDT Patches contains:
  • HDEF_Patch
  • System_IRQ
The full Patched AppleHDA contains:
  • AppleHDA.kext
STEP 3: Renaming Audio Device and set Layout ID

1. After patching the AppleHDA, the next step is to rename the audio device and set the device id to enable audio.
2. Open your config.plist file
3. Navigate to the Acpi tab and add the following patch in DSDT, patches section of your config.plist.

Code:
Comment: Rename HDAS to HDEF
Find* [HEX]: 48444153
Replace [HEX]: 48444546
4. Navigate to Devices tab in the left pane, and type the layout ID under Inject.

Layout IDs

Use Layout ID=3

NOTES:

STEP 4: Installing the Kext

  1. Copy the AppleHDA.kext to your Desktop.
  2. Install it using Terminal or any kext installer such as Kext Utility.
Code:
sudo cp -R /Users/yourusername/Desktop/AppleHDA.kext /System/Library/Extensions
  • After installing the AppleHDA.kext, build the caches using
Code:
sudo kextcache -i /
  • Restart your laptop
The Audio should be functional now

NOTES:
  • Mirone uses layout-id 3 for the laptop's audio codecs.
  • For some Audio codecs, such as Conexant, the patches from the config.plist are mandatory. It's a trial and error thing and not needed for all codecs.
  • If you need to use aDummyHDA.kext instead of AppleHDA, you'll need to use the patches from the config.plist.
  • For laptops, System IRQ patch is necessary.
  • For some Audio Codec, FakePCIID+FakePCIID Intel HDMI kext is required. This applies to Skylake and newer laptops.

STEP 5: Setting Audio Output/Input

After restarting your system, you'll need to setup audio output and input through your rear audio jack located at back panel and headphones jack located at the front panel. You will need to set your output device to Internal Speakers for sound to work.
  1. Open System Preferences
  2. Select Sound
  3. Under Sound Effects tab, select
  • Play feedback when volume is changed
  • Select Show volume in menu bar
configure-sound-effects-png.685

  1. Click on Output
  2. Select Internal Speakers
Note :
  • When using Headphones, the Output is automatically switched to Headphones.
Problem Reporting

Details
:
  1. Audio Codec
  2. macOS version
  3. Copy of IOReg
  4. Installed AppleHDA.kext or aDummyHDA.kext
Screen shots:
  • DPCIManager/Status
  • System Information/Hardware/Audio (All the available Devices)
  • System Preferences/Sound/Output
  • System Preferences/Sound/Input
Clover Files:
  • Compress EFI/Clover, exclude the themes folder. Do not include complete EFI folder.
Put all files in a folder with your name, compress files as Zip and attach files using site attachments only. Do not use any external links.

Credits :
Mirone
Micky1979
 
Last edited:
Please, update the Guide, AppleHDA Patcher v1.9 Support Mojave, using Layout-ID=2 Layout 3 was removed in Mojave, as well as others.
thanks!
 
Last edited by a moderator:
Please, update the Guide, AppleHDA Patcher v1.9 Support Mojave, using Layout-ID=2 Layout 3 was removed in Mojave, as well as others.
thanks!
The guide was having also v1.9 for Mojave users but there was some sort of issues with v1.9. The Audio doesn't works. So i removed the v1.9 support. I'm still using v1.8 for both Laptops. I still use v1.8 AppleHDA using Layout-ID=3.

I can test for Realtek ALC235 and Conexant CX8050

Thanks
 
Please test, All problems have been fixed, if there is any new problem please let me know, I use AppleHDA Patcher v1.9.2 to patch Conexant CX20757 and everything works like a charm.
 
  • Like
Reactions: EliteMacx86
Please test, All problems have been fixed, if there is any new problem please let me know, I use AppleHDA Patcher v1.9.2 to patch Conexant CX20757 and everything works like a charm.
I'll test it then. I tested it when the Mojave was in Beta, then with the final release with the v1.9. Is v1.9.2 released recently?
 
Yes, we do some minor fixes and now everything works fine.
Going to test it then. I hope v1.9.2 will work as expected.
 
It works like a charm now :D
I think there was some sort of issues with the previous version (v1.9). The recent changes are very good. No more extra patches for KextsToPatch. Also, with Mojave and using layout-ID=2, the Audio quality is great, very great.

However, the Audio isn't working with ALC235.

Good Job
Much appreciated!
Thanks for reminding. The guide will be updated very soon.
 
  • Like
Reactions: Mirone
Could you send me a codec_dump of your ALC235?
 
Could you send me a codec_dump of your ALC235?
Sure. I wonder, the same Audio Codec works with the v1.8 but neither with 1.9 nor 1.9.2
 

Trending Threads

Latest posts

Forum statistics

Threads
1,453
Messages
13,790
Members
20,614
Latest member
amsva011002