acidanthera/bugtracker

AppleALC cause kernel panic when plug in an DP/HDMI external display (to the type-c port).

kingo132 opened this issue · 11 comments

I'm using
AppleALC version: 1.5.4 DEBUG
CPU: Icelake i5-1035g7
My sound card: ALC269
My Device info and EFI can be found here: https://github.com/kingo132/GPD-Win-Max-Hackintosh

Things happen after I successfully injected my sound card with AppleALC and layout-id 100. Before this, I'm using VoodooHDA. The system crash every time when I plug an HDMI display. Here is the panic log:

panic(cpu 0 caller 0xffffff801cc449ea): Kernel trap at 0xffffff7fa2eab356, type 14=page fault, registers:
CR0: 0x0000000080010033, CR2: 0x0000000000000000, CR3: 0x000000047cea605f, CR4: 0x00000000003626e0
RAX: 0xffffff8046e04480, RBX: 0xffffff80434b2a00, RCX: 0x0000000000000000, RDX: 0x0000000000000000
RSP: 0xffffff820c4bae70, RBP: 0xffffff820c4bae90, RSI: 0xffffff8043752f08, RDI: 0x0000000000000000
R8:  0x0000000000000000, R9:  0x0000000000000000, R10: 0x0000000000000000, R11: 0x0000000000000000
R12: 0xffffff801d61cb68, R13: 0xffffff7fa2eab316, R14: 0xffffff8043752f08, R15: 0x0000000000000000
RFL: 0x0000000000010246, RIP: 0xffffff7fa2eab356, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000000, Fault CPU: 0x0, PL: 0, VF: 0

Backtrace (CPU 0), Frame : Return Address
0xffffff820c4ba7d0 : 0xffffff801cb1868d mach_kernel : _handle_debugger_trap + 0x49d
0xffffff820c4ba820 : 0xffffff801cc52ab5 mach_kernel : _kdp_i386_trap + 0x155
0xffffff820c4ba860 : 0xffffff801cc4463e mach_kernel : _kernel_trap + 0x4ee
0xffffff820c4ba8b0 : 0xffffff7fa16536f4 as.vit9696.VirtualSMC : __ZN18VirtualSMCProvider10kernelTrapI22x86_saved_state_1010_tEEvPT_Pm + 0x454
0xffffff820c4ba930 : 0xffffff801cabea40 mach_kernel : _return_from_trap + 0xe0
0xffffff820c4ba950 : 0xffffff801cb17d57 mach_kernel : _DebuggerTrapWithState + 0x17
0xffffff820c4baa50 : 0xffffff801cb18147 mach_kernel : _panic_trap_to_debugger + 0x227
0xffffff820c4baaa0 : 0xffffff801d2bf2bc mach_kernel : _panic + 0x54
0xffffff820c4bab10 : 0xffffff801cc449ea mach_kernel : _sync_iss_to_iks + 0x2aa
0xffffff820c4bac90 : 0xffffff801cc446e8 mach_kernel : _kernel_trap + 0x598
0xffffff820c4bace0 : 0xffffff7fa16536f4 as.vit9696.VirtualSMC : __ZN18VirtualSMCProvider10kernelTrapI22x86_saved_state_1010_tEEvPT_Pm + 0x454
0xffffff820c4bad60 : 0xffffff801cabea40 mach_kernel : _return_from_trap + 0xe0
0xffffff820c4bad80 : 0xffffff7fa2eab356 com.apple.driver.AppleHDA : __ZN21AppleHDAHDMI_DPDriver21handleValidEDIDActionEP27HDAGFXHeadAssociationStruct + 0x40
0xffffff820c4bae90 : 0xffffff801d2294de mach_kernel : __ZN10IOWorkLoop9runActionEPFiP8OSObjectPvS2_S2_S2_ES1_S2_S2_S2_S2_ + 0x3e
0xffffff820c4baed0 : 0xffffff7fa2eab20c com.apple.driver.AppleHDA : __ZN21AppleHDAHDMI_DPDriver7messageEjP9IOServicePv + 0x1aa
0xffffff820c4baf10 : 0xffffff801d1ff133 mach_kernel : __ZN26_IOServiceInterestNotifier4waitEv + 0xe3
0xffffff820c4baf30 : 0xffffff801d1f73c9 mach_kernel : __ZNK15IORegistryEntry15applyToChildrenEPFvPS_PvES1_PK15IORegistryPlane + 0x89
0xffffff820c4baf70 : 0xffffff801d1fe4d3 mach_kernel : __ZN9IOService17applyToInterestedEPK8OSSymbolPFvP8OSObjectPvES5_ + 0x33
0xffffff820c4bafa0 : 0xffffff801d1fe392 mach_kernel : __ZN9IOService14messageClientsEjPvm + 0x42
0xffffff820c4bafe0 : 0xffffff7fa2e70b4d com.apple.driver.AppleHDA : __ZN20AppleHDACodecGeneric7messageEjP9IOServicePv + 0x77
0xffffff820c4bb010 : 0xffffff801d1ff133 mach_kernel : __ZN26_IOServiceInterestNotifier4waitEv + 0xe3
0xffffff820c4bb030 : 0xffffff801d1f73c9 mach_kernel : __ZNK15IORegistryEntry15applyToChildrenEPFvPS_PvES1_PK15IORegistryPlane + 0x89
0xffffff820c4bb070 : 0xffffff801d1fe4d3 mach_kernel : __ZN9IOService17applyToInterestedEPK8OSSymbolPFvP8OSObjectPvES5_ + 0x33
0xffffff820c4bb0a0 : 0xffffff801d1fe392 mach_kernel : __ZN9IOService14messageClientsEjPvm + 0x42
0xffffff820c4bb0e0 : 0xffffff801d1ff133 mach_kernel : __ZN26_IOServiceInterestNotifier4waitEv + 0xe3
0xffffff820c4bb100 : 0xffffff801d1f73c9 mach_kernel : __ZNK15IORegistryEntry15applyToChildrenEPFvPS_PvES1_PK15IORegistryPlane + 0x89
0xffffff820c4bb140 : 0xffffff801d1fe4d3 mach_kernel : __ZN9IOService17applyToInterestedEPK8OSSymbolPFvP8OSObjectPvES5_ + 0x33
0xffffff820c4bb170 : 0xffffff801d1fe392 mach_kernel : __ZN9IOService14messageClientsEjPvm + 0x42
0xffffff820c4bb1b0 : 0xffffff801d1ff133 mach_kernel : __ZN26_IOServiceInterestNotifier4waitEv + 0xe3
0xffffff820c4bb1d0 : 0xffffff801d1f73c9 mach_kernel : __ZNK15IORegistryEntry15applyToChildrenEPFvPS_PvES1_PK15IORegistryPlane + 0x89
0xffffff820c4bb210 : 0xffffff801d1fe4d3 mach_kernel : __ZN9IOService17applyToInterestedEPK8OSSymbolPFvP8OSObjectPvES5_ + 0x33
0xffffff820c4bb240 : 0xffffff801d1fe392 mach_kernel : __ZN9IOService14messageClientsEjPvm + 0x42
0xffffff820c4bb280 : 0xffffff801d1ff133 mach_kernel : __ZN26_IOServiceInterestNotifier4waitEv + 0xe3
0xffffff820c4bb2a0 : 0xffffff801d1f73c9 mach_kernel : __ZNK15IORegistryEntry15applyToChildrenEPFvPS_PvES1_PK15IORegistryPlane + 0x89
0xffffff820c4bb2e0 : 0xffffff801d1fe4d3 mach_kernel : __ZN9IOService17applyToInterestedEPK8OSSymbolPFvP8OSObjectPvES5_ + 0x33
0xffffff820c4bb310 : 0xffffff801d1fe392 mach_kernel : __ZN9IOService14messageClientsEjPvm + 0x42
0xffffff820c4bb350 : 0xffffff7fa2b5fe41 com.apple.driver.AppleHDAController : __ZN18AppleHDAController23framebufferEventHandlerEPvP13IOFramebufferiS0_ + 0x13d3
0xffffff820c4bb680 : 0xffffff7fa2b5dfc6 com.apple.driver.AppleHDAController : __ZN18AppleHDAController20framebufferEventGateEPvP13IOFramebufferiS0_ + 0x1f8
0xffffff820c4bb6d0 : 0xffffff7fa2693e2c com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer24deliverGroupNotificationEijbiPv + 0x38c
0xffffff820c4bb810 : 0xffffff7fa267ee65 com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer30deliverFramebufferNotificationEiPv + 0x193
0xffffff820c4bb8a0 : 0xffffff7fa2689b4f com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer39deliverDisplayModeDidChangeNotificationEv + 0x15
0xffffff820c4bb8c0 : 0xffffff7fa26843b6 com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer7doSetupEb + 0x520
0xffffff820c4bb980 : 0xffffff7fa269120d com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer21setupForCurrentConfigEv + 0x2b
0xffffff820c4bb9a0 : 0xffffff7fa2691b3a com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer16doSetDisplayModeEii + 0x1d6
0xffffff820c4bba30 : 0xffffff7fa26918ec com.apple.iokit.IOGraphicsFamily : __ZN13IOFramebuffer17extSetDisplayModeEP8OSObjectPvP25IOExternalMethodArguments + 0x9a
0xffffff820c4bbac0 : 0xffffff801d2511ce mach_kernel : __ZN12IOUserClient14externalMethodEjP25IOExternalMethodArgumentsP24IOExternalMethodDispatchP8OSObjectPv + 0x1de
0xffffff820c4bbb10 : 0xffffff7fa2697f98 com.apple.iokit.IOGraphicsFamily : __ZN23IOFramebufferUserClient14externalMethodEjP25IOExternalMethodArgumentsP24IOExternalMethodDispatchP8OSObjectPv + 0x74
0xffffff820c4bbb60 : 0xffffff801d25a3f3 mach_kernel : _is_io_connect_method + 0x223
	Backtrace continues...
      Kernel Extensions in backtrace:
         as.vit9696.VirtualSMC(1.1.7)[82514289-1BE6-3D64-B088-1D4ADE840C66]@0xffffff7fa1643000->0xffffff7fa166afff
            dependency: as.vit9696.Lilu(1.4.6)[DF135818-86FD-3053-8FF2-974F99CCF2CD]@0xffffff7fa06e4000
            dependency: com.apple.iokit.IOACPIFamily(1.4)[2956198D-24F2-3790-A9B2-1EAB9434B906]@0xffffff7f9d509000
         com.apple.driver.AppleHDA(283.15)[0C7317DB-ED4E-395D-9517-6AEA788732BE]@0xffffff7fa2e63000->0xffffff7fa2f48fff
            dependency: com.apple.driver.AppleHDAController(283.15)[18E9D42A-B1F4-3332-9D50-EAF28AF632E6]@0xffffff7fa2b59000
            dependency: com.apple.iokit.IONDRVSupport(576.1)[2B5F4866-780D-3C79-A946-0E3F15D64FA9]@0xffffff7fa2a88000
            dependency: com.apple.iokit.IOAudioFamily(300.2)[34B620A6-2D82-3697-915B-2F1C20D27230]@0xffffff7f9d839000
            dependency: com.apple.iokit.IOHDAFamily(283.15)[9DF053D6-366B-307E-9BFD-8480A738DF1D]@0xffffff7fa2b4d000
            dependency: com.apple.iokit.IOGraphicsFamily(576.1)[1279CBF9-88F1-3EB4-9566-1085DBF6DF8B]@0xffffff7fa2675000
            dependency: com.apple.driver.DspFuncLib(283.15)[49E7E79F-85AF-32AE-A71D-7C42933BD054]@0xffffff7fa2d28000

BSD process name corresponding to current thread: WindowServer
Boot args: -v -igfxcdc -igfxdvmt keepsyms=1 debug=0x100 darkwake=0 dc6config=0 -alcdbg -liludbg chunklist-security-epoch=0 -chunklist-no-rev2-dev chunklist-security-epoch=0 -chunklist-no-rev2-dev

Mac OS version:
19H15

Kernel version:
Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64
Kernel UUID: 9B5A7191-5B84-3990-8710-D9BD9273A8E5
Kernel slide:     0x000000001c800000
Kernel text base: 0xffffff801ca00000
__HIB  text base: 0xffffff801c900000
System model name: MacBookAir9,1 (Mac-0CFF9C7C2B63DF8D)
System shutdown begun: NO
Panic diags file available: YES (0x0)

System uptime in nanoseconds: 72603710623

crash.202011112227.applealc.txt

I have to add No-hda-gfx to DeviceProperityes to work around this problem.
My framebuffer configuration looks like this. However, I found all framebuffer-conn-type doesn't take effect. No matter I set the type to 00040000 or 00080000, all I see in IORegistryExplorer is 00040000. Maybe WhatEverGreen currently not support ice lake very well.
Screen Shot 2020-11-13 at 4 56 39 PM

That's not AppleALC but rather AppleHDA driver, see the stacktrace.

I have a same problem. it shows appleHDA in kernel panic log, but when I add boot-args: -alcoff then display works. (without digi-sound)

I have a same problem. it shows appleHDA in kernel panic log, but when I add boot-args: -alcoff then display works. (without digi-sound)

You completely disabled AppleALC with alcoff ... You can just add No-hda-gfx option to work around this. However, it will disable the audio of the external display completely.
From what I discovered so far, the cause of this panic may be related to Apple Icelake Graphic driver was not patched properly by WhatEverGreen. That dp->hdmi patch does not work very well with Apple Icelake Graphic driver.

I have a same problem. it shows appleHDA in kernel panic log, but when I add boot-args: -alcoff then display works. (without digi-sound)

You completely disabled AppleALC with alcoff ... You can just add No-hda-gfx option to work around this. However, it will disable the audio of the external display completely.
From what I discovered so far, the cause of this panic may be related to Apple Icelake Graphic driver was not patched properly by WhatEverGreen. That dp->hdmi patch does not work very well with Apple Icelake Graphic driver.

Thanks, I tried on IGPU, but hda-gfx and No-hda-gfx existe the same time. the same in HDEF.

Screen Shot 2020-12-16 at 4 06 48 pm

I have a same problem. it shows appleHDA in kernel panic log, but when I add boot-args: -alcoff then display works. (without digi-sound)

You completely disabled AppleALC with alcoff ... You can just add No-hda-gfx option to work around this. However, it will disable the audio of the external display completely.
From what I discovered so far, the cause of this panic may be related to Apple Icelake Graphic driver was not patched properly by WhatEverGreen. That dp->hdmi patch does not work very well with Apple Icelake Graphic driver.

Thanks, I tried on IGPU, but hda-gfx and No-hda-gfx existe the same time. the same in HDEF.

Screen Shot 2020-12-16 at 4 06 48 pm

I think you should leave only No-hda-gfx = "onboard-1".
Both the igpu and your sound card should have this No-hda-gfx property.

I have a same problem. it shows appleHDA in kernel panic log, but when I add boot-args: -alcoff then display works. (without digi-sound)

You completely disabled AppleALC with alcoff ... You can just add No-hda-gfx option to work around this. However, it will disable the audio of the external display completely.
From what I discovered so far, the cause of this panic may be related to Apple Icelake Graphic driver was not patched properly by WhatEverGreen. That dp->hdmi patch does not work very well with Apple Icelake Graphic driver.

Thanks, I tried on IGPU, but hda-gfx and No-hda-gfx existe the same time. the same in HDEF.
Screen Shot 2020-12-16 at 4 06 48 pm

I think you should leave only No-hda-gfx = "onboard-1".
Both the igpu and your sound card should have this No-hda-gfx property.

It works!!!!! no KP anymore.

I can confirm this panic is caused by this modification which introduces a new patch to fix the audio issue for ice lake CPUs.
acidanthera/AppleALC#615
After I rollback this patch to the old one (which has two patches for ice lake), then the panic disappears. But it comes out another issue that the sound device is recognized, but no sound is output.

Speaking of this patch in AppleALC for ice lake CPU

find:0E0000BE020000004889DF
Replace:0E0000B8709D0000EB0690

I compared AppleHDA.kext before and after the patch
image
It is just replacing some kind of device id with 0x9D70. I find these device ids here.
https://cateee.net/lkddb/web-lkddb/SND_HDA_INTEL.html
They can be summarized as follows.

vendor: 8086 ("Intel Corporation"), device: 02c8 ("Comet Lake PCH-LP cAVS")
vendor: 8086 ("Intel Corporation"), device: 06c8 ("Comet Lake PCH cAVS")
vendor: 8086 ("Intel Corporation"), device: 080a ("Moorestown Audio Ctrl")
vendor: 8086 ("Intel Corporation"), device: 0a0c ("Haswell-ULT HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 0c0c ("Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 0d0c ("Crystal Well HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 0f04 ("Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 160c ("Broadwell-U Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 1a98
vendor: 8086 ("Intel Corporation"), device: 1c20 ("6 Series/C200 Series Chipset Family High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 1d20 ("C600/X79 series chipset High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 1e20 ("7 Series/C216 Chipset Family High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 2284 ("Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 2668 ("82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 269a ("631xESB/632xESB High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 27d8 ("NM10/ICH7 Family High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 284b ("82801H (ICH8 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 2911
vendor: 8086 ("Intel Corporation"), device: 293e ("82801I (ICH9 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 293f
vendor: 8086 ("Intel Corporation"), device: 3198 ("Celeron/Pentium Silver Processor High Definition Audio")
vendor: 8086 ("Intel Corporation"), device: 34c8 ("Ice Lake-LP Smart Sound Technology Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 38c8
vendor: 8086 ("Intel Corporation"), device: 3a3e ("82801JI (ICH10 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 3a6e ("82801JD/DO (ICH10 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 3b56 ("5 Series/3400 Series Chipset High Definition Audio")
vendor: 8086 ("Intel Corporation"), device: 3dc8
vendor: 8086 ("Intel Corporation"), device: 43c8 ("Tiger Lake-H HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 490d
vendor: 8086 ("Intel Corporation"), device: 4b55
vendor: 8086 ("Intel Corporation"), device: 4b58
vendor: 8086 ("Intel Corporation"), device: 4dc8
vendor: 8086 ("Intel Corporation"), device: 51c8
vendor: 8086 ("Intel Corporation"), device: 5a98 ("Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster")
vendor: 8086 ("Intel Corporation"), device: 7ad0
vendor: 8086 ("Intel Corporation"), device: 811b ("US15W/US15X/US15L/UL11L SCH [Poulsbo] HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8c20 ("8 Series/C220 Series Chipset High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8ca0 ("9 Series Chipset Family HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8d20 ("C610/X99 series chipset HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8d21 ("C610/X99 series chipset HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9c20 ("8 Series HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9c21 ("8 Series HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9ca0 ("Wildcat Point-LP High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9d70 ("Sunrise Point-LP HD Audio")
vendor: 8086 ("Intel Corporation"), device: 9d71 ("Sunrise Point-LP HD Audio")
vendor: 8086 ("Intel Corporation"), device: 9dc8 ("Cannon Point-LP High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a0c8 ("Tiger Lake-LP Smart Sound Technology Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a170 ("100 Series/C230 Series Chipset Family HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a171 ("CM238 HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a1f0
vendor: 8086 ("Intel Corporation"), device: a270
vendor: 8086 ("Intel Corporation"), device: a2f0 ("200 Series PCH HD Audio")
vendor: 8086 ("Intel Corporation"), device: a348 ("Cannon Lake PCH cAVS")
vendor: 8086 ("Intel Corporation"), device: a3f0
vendor: 8086 ("Intel Corporation"), device: f0c8
vendor: 8086 ("Intel Corporation"), device: f1c8

In order to do a detailed test, I tested all of these ids, by replacing the XXXX in 0E0000B8XXXX0000EB0690 with these device ids. I'm testing with my icelake device: GPD WinMax. And here is the test result

These ids won't crash, and everything seems fine
0c0c
1c20
1d20
1e20
8c20
8ca0
9c20
9ca0
a170
a348
These ids will crash
9c70
9c71
Other ids either have no sound device or no sound output.

So if you encounter problems using this patch in AppleAlc. Try to modify the patch to another device id.
I'm using a348 now, and everything seems fine. So the patch in AppleALC should be modified to this

find:0E0000BE020000004889DF
Replace:0E0000B848A30000EB0690

Speaking of this patch in AppleALC for ice lake CPU

find:0E0000BE020000004889DF
Replace:0E0000B8709D0000EB0690

I compared AppleHDA.kext before and after the patch
image
It is just replacing some kind of device id with 0x9D70. I find these device ids here.
https://cateee.net/lkddb/web-lkddb/SND_HDA_INTEL.html
They can be summarized as follows.

vendor: 8086 ("Intel Corporation"), device: 02c8 ("Comet Lake PCH-LP cAVS")
vendor: 8086 ("Intel Corporation"), device: 06c8 ("Comet Lake PCH cAVS")
vendor: 8086 ("Intel Corporation"), device: 080a ("Moorestown Audio Ctrl")
vendor: 8086 ("Intel Corporation"), device: 0a0c ("Haswell-ULT HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 0c0c ("Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 0d0c ("Crystal Well HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 0f04 ("Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 160c ("Broadwell-U Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 1a98
vendor: 8086 ("Intel Corporation"), device: 1c20 ("6 Series/C200 Series Chipset Family High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 1d20 ("C600/X79 series chipset High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 1e20 ("7 Series/C216 Chipset Family High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 2284 ("Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 2668 ("82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 269a ("631xESB/632xESB High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 27d8 ("NM10/ICH7 Family High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 284b ("82801H (ICH8 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 2911
vendor: 8086 ("Intel Corporation"), device: 293e ("82801I (ICH9 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 293f
vendor: 8086 ("Intel Corporation"), device: 3198 ("Celeron/Pentium Silver Processor High Definition Audio")
vendor: 8086 ("Intel Corporation"), device: 34c8 ("Ice Lake-LP Smart Sound Technology Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 38c8
vendor: 8086 ("Intel Corporation"), device: 3a3e ("82801JI (ICH10 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 3a6e ("82801JD/DO (ICH10 Family) HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 3b56 ("5 Series/3400 Series Chipset High Definition Audio")
vendor: 8086 ("Intel Corporation"), device: 3dc8
vendor: 8086 ("Intel Corporation"), device: 43c8 ("Tiger Lake-H HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 490d
vendor: 8086 ("Intel Corporation"), device: 4b55
vendor: 8086 ("Intel Corporation"), device: 4b58
vendor: 8086 ("Intel Corporation"), device: 4dc8
vendor: 8086 ("Intel Corporation"), device: 51c8
vendor: 8086 ("Intel Corporation"), device: 5a98 ("Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster")
vendor: 8086 ("Intel Corporation"), device: 7ad0
vendor: 8086 ("Intel Corporation"), device: 811b ("US15W/US15X/US15L/UL11L SCH [Poulsbo] HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8c20 ("8 Series/C220 Series Chipset High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8ca0 ("9 Series Chipset Family HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8d20 ("C610/X99 series chipset HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 8d21 ("C610/X99 series chipset HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9c20 ("8 Series HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9c21 ("8 Series HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9ca0 ("Wildcat Point-LP High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: 9d70 ("Sunrise Point-LP HD Audio")
vendor: 8086 ("Intel Corporation"), device: 9d71 ("Sunrise Point-LP HD Audio")
vendor: 8086 ("Intel Corporation"), device: 9dc8 ("Cannon Point-LP High Definition Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a0c8 ("Tiger Lake-LP Smart Sound Technology Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a170 ("100 Series/C230 Series Chipset Family HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a171 ("CM238 HD Audio Controller")
vendor: 8086 ("Intel Corporation"), device: a1f0
vendor: 8086 ("Intel Corporation"), device: a270
vendor: 8086 ("Intel Corporation"), device: a2f0 ("200 Series PCH HD Audio")
vendor: 8086 ("Intel Corporation"), device: a348 ("Cannon Lake PCH cAVS")
vendor: 8086 ("Intel Corporation"), device: a3f0
vendor: 8086 ("Intel Corporation"), device: f0c8
vendor: 8086 ("Intel Corporation"), device: f1c8

In order to do a detailed test, I tested all of these ids, by replacing the XXXX in 0E0000B8XXXX0000EB0690 with these device ids. I'm testing with my icelake device: GPD WinMax. And here is the test result

These ids won't crash, and everything seems fine
0c0c
1c20
1d20
1e20
8c20
8ca0
9c20
9ca0
a170
a348
These ids will crash
9c70
9c71
Other ids either have no sound device or no sound output.

So if you encounter problems using this patch in AppleAlc. Try to modify the patch to another device id.
I'm using a348 now, and everything seems fine. So the patch in AppleALC should be modified to this

find:0E0000BE020000004889DF
Replace:0E0000B848A30000EB0690

Maybe different laptop needs different device id.
I tried a348, speaker works but headphone not.
Both work with a170.

Could you post the plist section of your patch please? @Jarvay

Could you post the plist section of your patch please? @Jarvay

image

You can find that in Resource/Controllers.plist