Jump to content

AppleALC — dynamic AppleHDA patching


vit9696
5,371 posts in this topic

Recommended Posts

I have an ASUS Z97-K board with an ALC887 codec, running OS X 10.12.3. I have tried a few layouts but they all have the same problem: sound is distorted. Am I supposed to just try all layouts, or am I doing something wrong? I see this in the log:

 

kernel[0]: (kernel) AppleALC: patcher @ lookup patching applied only 0 patches out of 2

 

I quote myself because I've tried all layouts (there are 11 of them!) and I couldn't make it work. All the layouts are the same, they make the sound very distorted.

 

Here's the full debug output: https://paste.pound-python.org/raw/jrawrUVDvCj3KIEPjnAd/

 

The toleda/audio_CloverALC script works with my system, so I'm sure this card should work... I'm doing something wrong, I reckon.

Link to comment
Share on other sites

Added. Layout-id 11 'cos it custom resources. Test it please and report back. Thanks...

@Vandroiy2012

 

Here is the info plist for another revision of ALC1220. My chip has a codec id of 0x10ec1168. Please see:

 

http://www.insanelymac.com/forum/topic/321300-native-alc1220-audio-for-200-series-motherboards/

 

Thanks for all your hard work on AppleALC and for updating it, I wasn't sure until now how or where to upload the necessary info...

Info.plist.zip

Link to comment
Share on other sites

@Vandroiy2012

 

Here is the info plist for another revision of ALC1220. My chip has a codec id of 0x10ec1168. Please see:

 

http://www.insanelymac.com/forum/topic/321300-native-alc1220-audio-for-200-series-motherboards/

 

Thanks for all your hard work on AppleALC and for updating it, I wasn't sure until now how or where to upload the necessary info...

 

Hello. Thanks for nice words :).

About credits. Resources and pinconfig provided by @truesoldier are completely different from what i see in your kext. Double checked it. 

 

@truesoldier Pinconfig

<01471c10 01471d40 01471e11 01471f01 01b71c20 01b71d40 01b71e21 01b71f02 01e71c30 01e71d20 01e71e45 01e71f01 01871c40 01871d90 01871ea1 01871f91 01971c50 01971d90 01971e81 01971f02 01571c70 01571d10 01571e01 01571f01 01671c80 01671d60 01671e01 01671f01 01a71ca0 01a71d30 01a71e81 01a71f01>

Yours Pinconfig

<01471c10 01471d40 01471e11 01471f90 01470c02 01571c20 01571d10 01571e01 01571f01 01671c30 01671d60 01671e01 01671f01 01771cf0 01771d00 01771e00 01771f40 01871c40 01871d90 01871ea0 01871f90 01971c60 01971d90 01971e81 01971f02 01a71c50 01a71d30 01a71e81 01a71f01 01b71c70 01b71d40 01b71e21 01b71f02 01b70c02 01e71c90 01e71d61 01e71e4b 01e71f01 01f71cf0 01f71d00 01f71e00 01f71f40 01171cf0 01171d00 01171e00 01171f40>

And layout and platform are also different. 

post-1069282-0-48019800-1487618577_thumb.pngpost-1069282-0-11974300-1487618596_thumb.png

 

Please understand, it's not hard for me to add your name in changelog, but based on what i see i don't know why should i do this.

I think you should speak about credits with @truesoldier and deal it with him. And i'll change credits (or not) when you both reach an agreement. 

 

Thanks for understanding. 

 

Best regards. 

Link to comment
Share on other sites

@Vandroiy2012 and truesoldier

My mistake, we both arrived at solutions for our different chips at the same time. It'll teach me not to jump to conclusions...My apologies!! Is it common for the same codec to have different ID's?

  • Like 2
Link to comment
Share on other sites

Is it common for the same codec to have different ID's?

 

I don't know. Maybe it is another version of codec with one common name ALC1220... Due to different codec id i can't add it in ALC1220 folder. I have to use new ALC1168 folder in Resources. Strange but it is so... 

 

upd. I remember two codecs with one device-id and different names. ALC885 and ALC889a.  ALC889a have device-id 0x10ec0885. 

Link to comment
Share on other sites

Maybe it is another version of codec with one common name ALC1220...

upd. I remember two codecs with one device-id and different names. ALC885 and ALC889a.  ALC889a have device-id 0x10ec0885. 

Asus has a "custom" version of the ALC1220 called S1220A with device_id: 0x1168. All other manufacturers install the Realtek ALC1220 with device_id: 0x1220..

 

dgsga/1220 is using toleda files.  Upon completion of testing,1220 files for both device_ids and supported layout-ids will be submitted.

 

The ALC889a was a "custom" Gigabyte version of the ALC885 (same device_id), marketed as "newer and better"

 

Edit 5/9/17, 0x1168 is custom to Asus S1220A.

  • Like 3
Link to comment
Share on other sites

Hello people, I begin by saying i'm not an expert of the hackintosh world and so bare with me if I did some stupid mistakes in my steps and questions but I'm looking to solve this issue since several days and I've tried any hint I've found in the various communities without success so I hope you can give some :)

 

I've recently bought an HP 15-ay079nl laptop which seems to work nicely on Sierra. I've done basic clover injects and modifications suggested by rehab for skylake to fix things like graphical glitches, sleep / wake (darkwake=8) and slpwake) and so on

Generated custom ssdt with pikeralpha script, edited DSDT with basic fixes like renames and such

 

The only problem I have is with audio, the laptop got an ALC282 apparently and so I've installed AppleALC, audio works perfectly fine but I loose audio on wake up after a deep sleep (it works fine if i just close the laptop).

I guess that's something related to DSDT? I've tried all listed layout ids but no success

I've also tried Codec Commander kext but no success

 

Please point me towards what the issue could be if you can, thanks in advance :)

Link to comment
Share on other sites

i have an Acer Aspire V5-591G Laptop (Skylake i7 6700HQ) with 10.11.6 but my ALC255 wont work only Headphones working

 

Did you try all available layouts for ALC255? There are 3, 13, 17 and 28. Layout 3 have a bug, kernel_task loading about 200% so try to use 13, 17 and 28. 

Link to comment
Share on other sites

i set the layout-id in clover configurator without codeccommander.kext right?

 

i tried all layout-ids nothing works

 

ive installed AppleALC to /Clover/kexts/Other/

 

Setted up layout-id in Clover Configurator saved and rebooted check internal speaker -> no sound

Link to comment
Share on other sites

i set the layout-id in clover configurator without codeccommander.kext right?

 

You can set layout-id in Clover GUI, Options, under Audio Tuning. If one of them will work add it in config.plist. About clover configurator can't tell you anything. I don't use it. 

Link to comment
Share on other sites

AppleALC and Shiki are now Lilu plugins. Lilu offers the necessary functionality to let both of them work.
Since both AppleALC and Shiki share the code, it is good for size and speed reasons.

 

Long version:

However, the actual reason for it was the need to implement a decent kext patcher to fix Intel Azul freezes.
Unfortunately the way most of kext patches are done is inadequate since modern bootloaders (e.g. Clover) only export find/replace way of patching, which is mad if we consider OS upgrades, and some of the bootloaders do not even work in Recovery/Installer.

There needs to be something that survives major and minor upgrades and is way more flexible in terms of routing, trampoline generation, wrapping, api invocation, etc.
If you look at AppleALC code or IntelAzulFixup code you will see that neither deals with asm or bytes, and for this reason they work on most os at any cost.
 

Obviously there were and are other usage ideas, some of those are already brought to life (e.g. that nvidia thing), some others are still discussed. You are welcome to suggest and develop your own.

  • Like 4
Link to comment
Share on other sites

Thanks for the continued development Vit,

 

To use all three kexts do they just have to be in the same folder or can AppleALC.kext and Shiki.kext be placed into a /Plugins Folder inside Lilu.kext?

 

Also, to compile AppleALC.kext do I just stick the debug version of Lilu.kext into the root of the compile folder?

 

Like this...

post-499606-0-67372600-1487800225.png

Link to comment
Share on other sites

To think of it, after the recent changes you could try putting them into plugins, but I personally doubt that it would work due to the nature I need things to be loaded. Please try and report.

And yes, the way to compile it is correct.

  • Like 1
Link to comment
Share on other sites

Hi @vit9696

I have a IDT 92HD71B7 card (111d:76b2) Rev.(00100302) according to mirone's appleHDA patcher.

I see in the incomplete support table that IDT92HD71B7X is supported (note the "X" at the end).

I've tried it on Sierra, with a vanilla appleHDA and layout id 3 set within my DSDT (0x03, 0x00, 0x00, 0x00). Everything load correctly but no audio device is recognized by MacOs.

 

Do you think my card's actually supported or maybe it's a completely different model from IDT92HD71B7X an I should edit the fileset as described in the add codec support guide?

thank you for your efforts

Link to comment
Share on other sites

Hi @vit9696

I have a IDT 92HD71B7 card (111d:76b2) Rev.(00100302) according to mirone's appleHDA patcher.

I see in the incomplete support table that IDT92HD71B7X is supported (note the "X" at the end).

I've tried it on Sierra, with a vanilla appleHDA and layout id 3 set within my DSDT (0x03, 0x00, 0x00, 0x00). Everything load correctly but no audio device is recognized by MacOs.

 

Do you think my card's actually supported or maybe it's a completely different model from IDT92HD71B7X an I should edit the fileset as described in the add codec support guide?

thank you for your efforts

 

It is exactly your codec

 

post-1069282-0-62195000-1487864460_thumb.png

 

Fixed problem in latest commit bd3d8a5

Sync changes, rebuild kext, test it, report...

Link to comment
Share on other sites

×
×
  • Create New...