Jump to content

AppleHDA Patcher v1.8

8 Screenshots

About This File

Micky1979 and Mirone are glad to present you a new version of AppleHDA Patcher.app that will help you enabling sound on your Hack!


AppleHDA Patcher v1.9



AppleHDA Patcher, Jarvis ready

funny? Well, born for fun joking with Mirone about some adventures patching AppleHDA.kext.

Anyway Jarvis is there!

--> Troubleshotting:





  • the app require a vanilla AppleHDA from the current system, otherwise can't work.
  • "drag an AppleHDA" functionality serves only if you are trying to patch it for another System and you use this system with the patched kext generated, or if is your saved vanilla kext (backup) and is the version needed by your system (not extracted with pacifist because should be incomplete). Also be sure is not a rollback from a minor version of the system (eg kext from 10.11 in 10.12 or from 10.11.5 in 10.11.6)
  • Generated kexts must be correctly installed (permissions repaired and cache rebuilted), the app did not install anything (look inside ~/Desktop/MironeAudio).
  • if does not work, be sure you have injected the correct layout-id (you can see it in ioreg).
  • if does not work, mind that all the patches are all reported as working by someone else system.
  • If does not work, be sure you have removed thirt party conflictual kexts (voodoohda, AppleALC, AppleHDADisabler, someone else injector), or you have removed or edited from your DSDT/SSDTs someone else patch you have applied previously.
  • There are differences between systems, so if you are sure your System is ok, probably you need a custom patch, we need the codec dump from linux
  • Don't work? Ok, but knowing only that, personally I don't care because mine always work. So comment at least if you are able to provide information like a ioreg firstly, but also your config.plist/patched dsdt or ssdt if any. Also the app as a function called "Jarvis" so a copy-paste of that is also appreciated.



1- You don't need to have separate patches, now they are implemented within the app, just choose Desktop's or Laptop's.


2- Is it possible to patch AppleHDA.kext for different OS X versions, he supports all kexts from 10.7 up to 10.11 (and newer), or by default use the one in /System/Library/Extensions as base for the patches without drag anything.


3- You can create kexts through its patched files (Platforms.xml, LayoutX.xml, Info.plist for AppleHDAHardwareConfigDriver.kext )

drag all of your files, choose or type the codec to patch the binary. The process automatically start.


4- Is automatically created a full patched AppleHDA.kext + HDAEnabler.kext to be used with all bootloaders, an aDummyHDA.kext and a config.plist *sample (to be used with Clover), an HDEF patch to be used with MaciASL ready with the correct layout-id (in case you chose to patch laptops also an IRQ patch will be generated), and also you will find usefull the CodecCommander.kext + hda-verbs by Rehabman forks.

All files will be placed inside ~/Desktop/MironeAudio, just choose what you need.


5- for all steps 1, 2 and 3 you can also drag to the app interface your real config.plist to be edited where necessary.


6- The application is able to make corrections remotely updating itself when and if necessary.



The app produces various files, off course you do not have to use them all:


Use aDummyHDA.kext + edited config.plist for Clover (Ozmosis works similar)

For all other bootloader use the full patched AppleHDA.kext (+ HDAEnabler.kext or DSDT edits... not both).

Use CodecCommander.kext if the sound does not work after the sleep (wake), read more here.

aDummyHDA.kext goes in /System/Library/Extensions






1- la nuova app ha tutte le patch incluse, per cui non c’è bisogno di file separati come in passato.

2- è possibile patchare AppleHDA.kext per le diverse versioni di OS X, da 10.7.x a 10.11.x (e versioni successive se non ci saranno cambiamenti). E’ richiesto che AppleHDA.kext sia presente in /System/Library/Extensions/ e che sia vanilla (mai patchato).


3- è possibile creare kexts anche importando i vari file che hai fatto tu (Platforms.xml, LayoutX.xml, Info.plist per AppleHDAHardwareConfigDriver.kext):

basta trascinarli sull’interfaccia e il processo partirà automaticamente.


4- vengono creati automaticamente un AppleHDA.kext completamente patchato + HDAEnabler.kext per essere utilizzato con tutti i bootloader (ok per Enoch che non può patchare al volo il kext), un aDummyHDA.kext e un campione del config.plist * (da usare con Clover), una patch HDEF da utilizzare con MaciASL pronto con le modifiche per il tuo DSDT con il corretto layout-id (nel caso hai generato una patch per portatili ci sarà anche una patch per gli IRQ sempre da applicare con Maciasl), in più troverete utile il CodecCommander.kext di Rehabman.

Tutti i file saranno collocati sul Desktop in una cartella chiamata “MironeAudio”, basta scegliere quello che vi serve (ricapitolando aDummyHDA.kext + config.plist per Clover, AppleHDA.kext patchato + HDAEnabler.kext per Enoch).


5- per tutte le fasi 1, 2 e 3 è anche possibile trascinare nell’interfaccia dell’applicazione il tuo vero config.plist prima di pigiare il bottone “patch AppleHDA”, così il KextsToPatch verrà aggiustato con le patch richieste per far funzionare l’audio. Ovviamente verrà fatta una copia modificata all’interno della cartella “MironeAudio”, nella sottocartella “Clover” che contirne il kext generato. Il tuo non verrà toccato… te lo devi rimpiazzare da solo.


6- L'applicazione è in grado di ricevere update in remoto per avere sempre le ultime modifiche ai vari codecs.



L'applicazione produce vari file, ma naturalmente non c'è bisogno di usarli tutti:


Utilizzare config.plist+aDummyHDA.kext per Clover. Se non avete trascinato il vostro vero config.plist quello generato è solo un esempio con le modifiche da apportare al vostro, da non utilizzare così com’è, altrimenti se lo avete trascinato.. una copia modificata la trovate all’interno di MironeAudio/nome del codec/versione del kext/Clover/config.plist.

Per tutti gli altri bootloader potete utilizzare il “full patched AppleHDA.kext patch” (con HDAEnabler.kext o DSDT modificato con le patch generate ... ma ovvio non entrambi).

Utilizzare CodecCommander.kext se il suono non funziona dopo il wake (risveglio).



Works in 10.7+



bcc9 for patch_hda.pl ported to obj-c code by Micky1979

Andy Vandijck for getcodecid command

Pike R. Alpha for the idea of the Dummy kext

Geoff Garside for the zlib implementation

Kabyl and Taruga for the HDAEnabler.kext

Mirone for all the patches

RehabMan, TimeWalker75a, The-darkvoid for the CodecCommander.kext, here.

RehabMan for it's fork of iasl 6.1 available here.


// AppleHDA Patcher


// Created by Micky1979 and Mirone on 18/11/15.

// Copyright © 2015 Micky1979, Mirone and InsanelyMac.com. All rights reserved.


What's New in Version v1.8   See changelog


  • v1.8 Added more codecs for Laptop's and Desktop's.
  • Like 6
  • Thanks 2

User Feedback

Recommended Comments

It does not have cx20755, but I found a patched one. Is there a link that could help for getting the patched one from 10.10 to 10.11? would rather use clover too.

Link to comment
Share on other sites

It does not have cx20755, but I found a patched one. Is there a link that could help for getting the patched one from 10.10 to 10.11? would rather use clover too.

Open AppleHDA Patcher.app and click on the Mirone avatar, a Topic will be opened to your default broswer, make your request.

Anyway AppleHDA Patcher can help you to patch your 10.11 kext, just provide your old files coming from the old 10.10 kext (layoutX.xml + Platforms.xml, both uncompressed, + Info.plist)


Dragging these files on the app a popup window ask you for the binary patch, ie 14f15113 for your codec. I think that this is easy 

Link to comment
Share on other sites

Platform.xml.zlib for sure, than you have to choose tha layoutX.xml that match the layout-id that you are using to activate it. type in terminal this command:


ioreg -lw0 | grep layout-id


post the result

Link to comment
Share on other sites

I got this :     | |   |     "layout-id" = <0c000000>

    | |   | |   "layout-id" = <0c000000>



but think I need to load the patched kext that will be used first....?

Link to comment
Share on other sites

but think I need to load the patched kext that will be used first....?



Anyway for example 0c000000 mean 12, so the file is layout12.xml.zlib

Link to comment
Share on other sites

$ ioreg -lw0 | grep layout-id

    | |   | |   "layout-id" = <0c000000>

    | |   | |   "layout-id" = <0c000000>

    | |   |             | |   "IOAudioEngineDeviceDescription" = {"driver digital input gain"=0,"layout-id"=12,"post-processing input gain"=0,"VP-pregain"=0}

    | |   |             | |   "IOAudioEngineDeviceDescription" = {"driver digital input gain"=0,"layout-id"=12,"post-processing input gain"=0,"VP-pregain"=0}



Thats with the patched kext loaded

Link to comment
Share on other sites

AppleHDA.kext/Contents/Resources/layout12.xml.zlib (to be decompressed as "layout12.xml" , see for zlib.pl script somewere)

AppleHDA.kext/Contents/Resources/Platforms.xml.zlib (to be decompressed as "Platforms.xml", as above use zlib.pl)



binary patch to type in AppleHDA Patcher.app: 14f15113 


optional: HDAEnabler.kext generated using 12

Link to comment
Share on other sites

download zlib.pl.zip and place it to your desktop. Copy also



to the Desktop, and from Terminal:


perl $HOME/Desktop/zlib.pl inflate $HOME/Desktop/layout12.xml.zlib > $HOME/Desktop/layout12.xml




perl $HOME/Desktop/zlib.pl inflate $HOME/Desktop/Platforms.xml.zlib > $HOME/Desktop/Platforms.xml

  • Like 1
Link to comment
Share on other sites

applehda patcher unexpectedly quits if those patched kexts (applehda/enabler) are loaded

It does not install nothing, it only create patched file inside Desktop, AppleHDA.kext must be exist in SLE, or you have to drag also that from somewere.

Link to comment
Share on other sites

Thanks again..  I knew that. meant to say that when I have the earlier patched files loaded in s/l/e the app unexpected quits but you probably knew that. the app doesn't expect those to be loaded before it does its work.

Link to comment
Share on other sites

  • Create New...