Jump to content

AppleALC — dynamic AppleHDA patching


vit9696
5,371 posts in this topic

Recommended Posts

Hi Wern Apfel. If this kext is the same like those from your thread  I can confirm that those kexts work, atleast which I tested - AppleHDA.kext_2CH.zip and AppleHDA.kext_2CH_s_quali.zip . Sound control work too, but have 1 problem with them - if increase volume to max via el capitan volume control, audio is...distorted. But if decrease volume (20-30%) from volume control in el capitan, all is flawless. I use two stereo speakers and mic for skype. 

 

I forgot to mention that I change layout id from 1 to 0 when tested your kexts. And not have dsdt. I use this tutorial  to install El Capitan without using my custom dsdt. All work flawless, even my 144hz monitor work perfect. Using only atheros kext for internet and fake smc, ofc clover bootloader too.

Have you also tried the kext i've linked ?, start the audio-midi tool and see how many dB you have at full volume, and see if the sound is distorted at 0 dB.

Link to comment
Share on other sites

so what you are having issue now ?? no audio ??

The issue is no sound at all when using the internal microphone.

 

post-1517295-0-43868100-1470855415_thumb.png

 

And it sometimes panics and reboots instantly when i try to access the microphone pref pane.

 

HDMI audio, Headphones and Speakers working nice, but internal microphone input doesn't seem to be recognised.....

 

post-1517295-0-40785600-1470855400_thumb.png

Why not use layout-id=4 if your codec is ALC3236?

 

I thought the recommended layout was 3 for laptops, although I never tried with the layout-id 4 , 

I have inserted the layout id 3 in my DSDT, is there a way to edit that to 4, just for a test??

 

Here are my ACPI files, if you have any suggestion.

 

patched.zip

I think the edit for that layout should be in this area,

 

post-1517295-0-44771600-1470856054_thumb.png

 

but i don't know what to modify, help please???

Link to comment
Share on other sites

Thanks for recommending the layout id 4, it was definitely a change for the better

Better headphone quality, louder and clearer speakers, and at least I get the microphone recognised :D

 

It even gave me the ambient noise reduction option, although trying to record anything just gives me an audio file full of noise. No voice or whistle can be heard, only static noise, I hope anybody can help ,

 

post-1517295-0-56277800-1470861177_thumb.png

Link to comment
Share on other sites

Did you try to put the CodecCommander.kext into /EFI/Clover/kexts/other?

It helps with my Lenovo.

Of coursey friend, it also helps me, but I have that kext for longtime, and it has solved sleep audio issues but the microphone remains unchanged.

Anybody have an idea or a suggestion?

Link to comment
Share on other sites

Here is the codec dump directly from Linux, for the HDMI and for the ALC 3236

Microphone really catches no sound at the moment, only static noise

Btw, i am using the layout id 4, which seems to be the best one for this codec

 

Thanks in advance for helping

 

 

codec_dump.txt

 

codec_dump2.txt

Link to comment
Share on other sites

No luck bro.

No devices found, bet result as of now is layout id 4 with the original AppleALC, anybody have ideas?

 

this is with the testing kext and layout id 3

post-1517295-0-48973800-1471014005_thumb.png

 

 

this is with layout id 4 and original AppleALC... any idea why two Internal Microphone entries appear??

post-1517295-0-79091000-1471014321_thumb.png

 

The layout 4 seems to be the correct one, since I have a microphone/headphone port, an Internal Mic, HDMI port and Speakers

Please keep trying guys, I really appreciate the efforts

Link to comment
Share on other sites

It works now :D but it only captures a hearable sound when I whistle, microphone volume is very very low.

 

Is there any way to boost it so it records the things in a louder volume?

 

Thanks for the work man ;)


post-1517295-0-52000500-1471025953_thumb.png

 

here is an example of recordings with the current configuration

 

Archive.zip

 

 

Link to comment
Share on other sites

I was looking through the code and was wondering why there are two entry points:

 

1. Using a MAC policy to execute code at file system mount (which happens early)

 

2. Or IOKit to emulate a IOResource (which also should happen early).

 

Why did you implemented the first one? Is the IOKit resource not always loaded before AppleALC?

Link to comment
Share on other sites

Why did you implemented the first one? Is the IOKit resource not always loaded before AppleALC?

No. Just the order of IOKit kext loading was unreliable (e.g. IOReg was unavailable) and AppleALC had to retry multiple times to be able to patch things. MAC policy was the original idea, but IOKit was faster to write. However, I felt too bad for deleting IOKit code completely after I added MAC, so it stayed as an option. In fact, if I had to delete it, I would have had to rename the kext with com.apple. prefix to be able to start early, which was undesired.
Link to comment
Share on other sites

No. Just the order of IOKit kext loading was unreliable (e.g. IOReg was unavailable) and AppleALC had to retry multiple times to be able to patch things. MAC policy was the original idea, but IOKit was faster to write. However, I felt too bad for deleting IOKit code completely after I added MAC, so it stayed as an option. In fact, if I had to delete it, I would have had to rename the kext with com.apple. prefix to be able to start early, which was undesired.

 Ahh okay understand. Only IOKit and apple kexts are considered in the boot process?

Link to comment
Share on other sites

×
×
  • Create New...