@FireWolf5 years ago
After I finished installing OS X El Capitan 10.11 Developer Beta 1 on my ASUS laptop, it’s time to make a patched audio driver based on native OS X El Capitan AppleHDA to make my CX20585 work.
Since I am using Clover as my bootloader, I will use Clover’s KextsToPatch to apply the binary patch.
By using Clover’s KextsToPatch, basically your don’t have to re-create a patched AppleHDA driver after every system update.
So, here is the step-by-step tutorial.
STEP 1. Boot OS X El Capitan with kext-dev-mode=1 and rootless=0 kernel flags.
kext-dev-mode=1: Known in OS X Yosemite. Disable kernel extensions signatures check.
rootless=0: New kernel flag in OS X El Capitan. Disable the rootless security.
Otherwise you cannot modify Apple’s kexts in /System/Library/Extensions, which means, to be more specific, you cannot use commands such as chmod, rm, chown to modify properties of Apple’s kernel extensions or delete them.
STEP 2. Mount EFI system partition and open the Config.plist with Clover Configurator.app
Add the following patch in the KextsToPatch sections:
(a) .xml.zlib -> .zml.zlib Patch
(b) CX20585 Codec ID Patch
(c) Remove Sound Assertion Patch
And here is a screenshot of Clover Configurator. (Please only focus on AppleHDA part)
STEP 3. Add modified layout12.zml.zlib & Platforms.zml.zlib
First, please make sure that you have vanilla AppleHDA.kext in your /System/Library/Extensions directory.
If you don’t have one or are not sure about it, please download the vanilla AppleHDA.kext from here:
Version: OS X Capitan Developer Beta 1 (15A178w)
Then download patched layout12.zml.zlib and Platforms.zml.zlib and copy them into AppleHDA.kext/Contents/Resources.
STEP 4. Add HDAHardwareConfigurations property in FakeSMC.kext Open the Info.plist of FakeSMC.kext with PlistEdit Pro or Xcode Copy the following contents and paste as IOKitPersonalities’s child. Save the file. (Not necessary now, I will double-check this.)
STEP 4. Final
Use Kext Wizard to install patched FakeSMC.kext and AppleHDA.kext.
Repair your disk permissions and rebuild the kexts caches.
Reboot and enjoy.
If you have any further question, feel free to leave comments.
And I will approve your comments as quickly as possible.