I know this is not a common situation, but I want to ask this out and in case some people have a similar problem in the future can find it easier.
This problem exists when you have two audio codecs on your motherboard. There are few mobos with this setting. I thought the reason for that is to use one for the back IO and another one for the front IO to get better SNR or something. But this will cause a problem for both Hackintosh and Linux(probably, not sure.)
For me, I have the MSI MEG X570 GODLIKE. Here is the Back IO
with a traditional set audio jacks(right part,5 3.5mm and 1 S/PDIF) and another 6.3 mm headphone port.
From this diagram, we can clearly see how those two alc1220 works. One controls the rear audio jack and another for front jacks and the 6.3mm jack.
IORegistryExplorer also shows two alc1220 clearly.
The problem for this kind of setting is the AppleALC.kext can not set two layouts for this, which makes the audio output very unstable. For now, I can confirm none of the layout-id in AppleALC works for this setting. Layout-id=1 works sometimes. If I install the official driver in windows, that will damage the whole audio output in macOS(a cold boot will partly work).
I don't find any solution for this dual audio codecs setting. I notice some Linux people managed to make a similar system work(Gigabyte GA-AX370-Gaming 5) in Linux by modifying the driver, but not for Hackintosh. I also try to modify AppleALC but no luck. I'm not sure this kext suppose to work with two codecs.
Anyway, any help is welcome and I will update this if I found any solution.
This problem exists when you have two audio codecs on your motherboard. There are few mobos with this setting. I thought the reason for that is to use one for the back IO and another one for the front IO to get better SNR or something. But this will cause a problem for both Hackintosh and Linux(probably, not sure.)
For me, I have the MSI MEG X570 GODLIKE. Here is the Back IO
with a traditional set audio jacks(right part,5 3.5mm and 1 S/PDIF) and another 6.3 mm headphone port.
From this diagram, we can clearly see how those two alc1220 works. One controls the rear audio jack and another for front jacks and the 6.3mm jack.
IORegistryExplorer also shows two alc1220 clearly.
The problem for this kind of setting is the AppleALC.kext can not set two layouts for this, which makes the audio output very unstable. For now, I can confirm none of the layout-id in AppleALC works for this setting. Layout-id=1 works sometimes. If I install the official driver in windows, that will damage the whole audio output in macOS(a cold boot will partly work).
I don't find any solution for this dual audio codecs setting. I notice some Linux people managed to make a similar system work(Gigabyte GA-AX370-Gaming 5) in Linux by modifying the driver, but not for Hackintosh. I also try to modify AppleALC but no luck. I'm not sure this kext suppose to work with two codecs.
Anyway, any help is welcome and I will update this if I found any solution.