Jump to content

AppleALC — dynamic AppleHDA patching


vit9696
5,390 posts in this topic

Recommended Posts

Hello,

 

This is going to be a support/discussion topic of AppleALC on InsanelyMac. 

AppleALC is a kernel extension allowing you to enable native apple HD audio without any filesystem modifications. It dynamically injects the necessary modifications to AppleHDA (and other kexts) including the layouts, and makes your audio work starting from the OS installation.

 

For quite some time we are trying to obtain the necessary information about AppleALC codec compatibility. If you use something, please, consider checking the compatibility table (do not worry, it is in English), and report (here) on your codec. We are also looking for all the possible revisions of the codec, if we do not have the revisions listed for your codec please report as well. Thanks for understanding. 

 

The report is meant to contain:

1. Laptop model/Motherboard model

2. Codec name

3. Layout used with the info what works for you (ideally if you try them all)

4. OS X versions you tried

5. Autogenerated Info.plist made with the help of this utility.

 

All the details including the source code are available on github:

https://github.com/vit9696/AppleALC

Some short wiki articles explaining the usage are included.

 

As for now the project is relatively immature without practically any codec support. But it should be pretty easy to add more of them, I am hoping for the support of the "community" :)

If you have any issues, better report them on github for structural reasons.

 

 

Does this takes combo jack (mic/headphones) in account?

Link to comment
Share on other sites

Hello everyone, hi @vit9696 many thanks for all your work and feedback.

Just a quick question, with working kexts for the audio(s) below, does it make sense to upgrade to latest AppleALC kext versions?
 
Namely:

  • as.vit9696.AppleALC (v1.0.11) on Gigabyte H61N-USB3 with ALC889 [8086:1c20] running 10.10.5 @ MacMini5,1 and LayoutID=1
  • as.vit9696.AppleALC (v1.0.11) on MSI Z97i-AC with ALC892 [8086:8ca0] running 10.10.5 @ iMac15,1 and LayoutID=1
  • as.vit9696.AppleALC (v1.0.12) on Intel NUC D54250WYKH with ALC283 [8086:9c20] running 10.11.6 @ MacMini7,1 and LayoutID=3

Thanks in advance for your advice.

Link to comment
Share on other sites

Hi,

 

There always is a reason to upgrade. E.g. only recent versions are somewhat supported.  But I could elaborate I guess.

New versions bring:

— improved stability and os support;

— codec support.

 

If the kext works on your system, then you unlikely need the second. As for the first it depends on the changelogs. If these are just different codec changes you could miss a version or two. But if new versions fix bugs like nasty kernel panics (true for practically every version at the moment) you have to upgrade.

 

Also, if you are upgrading to 10.12 the minimal requirement for the time being is 1.0.15. However, 1.0.16, which will hopefully air soon, fixes another rare KP on all systems, so it is pretty vital to upgrade to.

  • Like 1
Link to comment
Share on other sites

Hi,

 

There always is a reason to upgrade. E.g. only recent versions are somewhat supported.  But I could elaborate I guess.

New versions bring:

— improved stability and os support;

— codec support.

 

If the kext works on your system, then you unlikely need the second. As for the first it depends on the changelogs. If these are just different codec changes you could miss a version or two. But if new versions fix bugs like nasty kernel panics (true for practically every version at the moment) you have to upgrade.

 

Also, if you are upgrading to 10.12 the minimal requirement for the time being is 1.0.15. However, 1.0.16, which will hopefully air soon, fixes another rare KP on all systems, so it is pretty vital to upgrade to.

What's the KP you are talking about ? I once had several KP on my NUC using v1.0.12, and suddenly when I'm using v1.0.14 it magically disappeared, and I didn't even submit a report yet. How is that even possible ?

Link to comment
Share on other sites

Well, there is no need in recompilation.

Just take "as.vit9696.PinConfigs" entry out of Info.plist OSBundleLibraries in AppleALC.kext and remove the Plugins folder.

 

If you put a plugin-less AppleALC.kext and PinConfigs.kext to /EFI/OZ/Darwin/Extensions/Common separately, will they work? (Currently not interested in BIOS flashing).

 

Hi,

 

I have a Gigabyte Z87N-WIFI. I have Oz as bootloader and did the following without success:

 

 - Downloaded the release 1.0.15.

 - Extracted PinConfig.kext from plugin folder and let it as a separated kext.

 - Edited Info.plist and remove the entry as.vit9696.PinConfigs from OSBundleLibraries

 - Putted both kexts on /EFI/Oz/Darwin/Extensions/Common

 

The result is a black screen.

 

¿Could someone help me make this work with Oz?

 

Attached is the kexts I used.

 

Thanks in advance.

AppleALC-Doguitto.zip

Link to comment
Share on other sites

Good morning:

 

After 1000 tryies, can't get audio in macOS Sierra GM2, ALC1150, Kext AppleALC appears charged, and ID in system properties appears 1, and iojones, said that ALZA to HDEF it's correct, and i can see HDEF with his ID 1, i tried all id's of vit9696, but don't works, also tried CloverALC 120 command and appears no codec detected, any ideas?

 

Sorry for disturb, and thanks in advanced.

 

Machine:

 

Gigabyte X99-UD4P

i7-5820K

GTX580SOC

Link to comment
Share on other sites

There always is a reason to upgrade. E.g. only recent versions are somewhat supported.  But I could elaborate I guess. New versions bring:

 

— improved stability and os support;

— codec support.

 

If the kext works on your system, then you unlikely need the second. As for the first it depends on the changelogs. If these are just different codec changes you could miss a version or two. But if new versions fix bugs like nasty kernel panics (true for practically every version at the moment) you have to upgrade.

 

Also, if you are upgrading to 10.12 the minimal requirement for the time being is 1.0.15. However, 1.0.16, which will hopefully air soon, fixes another rare KP on all systems, so it is pretty vital to upgrade to.

 

Hi @vit9696 indeed you are right, thankfully v1.0.14 worked 100% as an update in /Library/Extensions/ with vanilla AppleHDA.kext for:

  • as.vit9696.AppleALC (v1.0.14) on MSI Z97i-AC with ALC892 [8086:8ca0] running both 10.10.5 and 10.11.6 @ iMac15,1 and LayoutID=1 (it's dual-boot Yosemite/El Capitan)
  • as.vit9696.AppleALC (v1.0.14) on Intel NUC D54250WYKH with ALC283 [8086:9c20] running 10.11.6 @ MacMini7,1 and LayoutID=3

Thank you again. Both hacks use Clover.

 

@Sebinouse: Please see my PM to you, I am using 3.5mm plug to my monitor, not via HDMI audio yet. After I put the NUC to sleep and woke it up, the audio was working when tested via iTunes Internet Radio. It was stereo, too.

 

NOTE: As I cannot attach files to PMs, please find here my Clover files for further studying. Guys, you are all welcome to explore, too! I only removed my working serial from Config.plist; thanks to many people for making the Clover and SSDTxxx patches work (including ReHabMan and Sebinouse)

Konsti-NUC-D54250WYKH-Clover.zip

Link to comment
Share on other sites

With the laptop in my sig, I'm trying to switch from using an edited DSDT to Clover. And I can't get audio working with Clover.

 

Checking in the ioreg, Clover is injecting the correct layout id but I'm still left with no audio devices and an empty pinconfig section. AppleALC is loaded.

 

So I've removed AppleALC while I'm trying to get the HDEF section of the ioreg to match between DSDT and Clover.

 

With the DSDT I have a HDMI device (HD4000) and in ioreg I have populated pinconfig and a DigitalAudioCapabilities section. But with Clover I don't.

 

I don't have any way to check if the HDMI audio is actually working, but having the devices loading with Clover would be a start. Then I could put AppleALC back and see if I get HDA working.

 

So first question is, what do I need to do in Clover to get HD4000 HDMI working? I've tried a load of variations of the DSDT fixes in conjunction with UseIntelHDMI but I'm always left with no HDMI device.

Link to comment
Share on other sites

Hey there I'm having a hard time to get an ALC662 working.

 

1. Mainboard: Biostar H55HD
2. ALC662 
3. I have been trying layout-id 5, 7 and 11 according to the available layouts on github

4. 10.11.6
 

Problems: I think everything is installed correctly, using Clover, using FixHDA and injecting layout-id 5 (I do have the 3 port version)

 

but SystemProfiler only shows Intel High Definition Audio with Layout-id 5 and no ports.

This means there are also no Audio-Devices available under System Settings / Audio -> no sound :(

 

I have grabbed all possible logs/information I could get, perhaps this can help you to help me :).

 

1) The debug log of AppleALC-debug version. 

Sep 17 16:29:27 localhost kernel[0]: AppleALC: (DEBUG) alc @ validating 0u controller 8086:3B56:6

Sep 17 16:29:27 localhost kernel[0]: AppleALC: (DEBUG) alc @ missing ControllerModInfo for 0u controller

 

2) A screenshot from the DPCI-Manager

 

3) An ioreg-log

 

4) codec-info generated info.plist

 

5) codec-info log (showing nothing found?)

 

Thanks for your amazing work!

 

alc662.zip

Link to comment
Share on other sites

×
×
  • Create New...