(Surface Pro 3) Reached postinstall, can't get AppleALC audio to work

Hello, I'm trying trying to turn my Surface Pro 3 into a Hackintosh following Dortania's OpenCore guide. I've followed all the necessary steps to get the system to install and the OS seems to boot fine with nearly everything working (except WiFi/BT as expected because they're incompatible, battery - will attempt to fix later, and audio) but, no matter what I try, I can't get the latter to work, even after following the troubleshooting guide.

Here are the specs, SMBIOS and OS version:

  • CPU: Intel Core i3 4300U
  • GPU: Intel HD Graphics 4400
  • RAM: 4 GB LPDDR3
  • Motherboard/Laptop model: Surface Pro 3
  • Audio Codec: Realtek ALC288
  • Ethernet Card: None
  • Wifi/BT Card: None (Built-in incompatible, disabled)
  • SMBIOS: MacBookPro11,1
  • OS: macOS Big Sur 11.4

List of SSDTs/Driver/Kexts:

Drivers: OpenRuntime.efi, HfsPlus.efi
Kexts: AppleALC.kext, Lilu.kext, TypeCover3.kext, VirtualSMC.kext, WhateverGreen.kext

Following the troubleshooting guide here I've looked up AppleALC's layout IDs for my codec (layouts 3, 13, 23) and I've tried booting the OS with each one of them using the alcid= boot arg, one at a time, but none seem to work.

I've then double checked that Lilu is getting loaded before AppleALC in config.plist and that all Kexts are getting loaded correctly in the log and while using the OS via kextstat, which seems to be the case:

Boot log:

34:442 00:069 OC: Prelinked injection Lilu.kext () - Success[...]35:050 00:102 OC: Prelinked injection AppleALC.kext () - Success

Kextstat terminal output:

Last login: Tue Jul 20 06:29:55 on console
surface@MacBook-Pro-di-Surface ~ % kextstat | grep -E "AppleHDA|AppleALC|Lilu"
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
48 3 0 0x2e000 0x2e000 as.vit9696.Lilu (1.5.4) 809BC306-CD75-382C-A93A-6D072B207915 <8 6 5 3 2 1>
50 0 0 0x181000 0x181000 as.vit9696.AppleALC (1.6.2) 3B84E151-792F-361B-A84D-5BBD68C1EB6F <48 14 8 6 5 3 2 1>
111 0 0xffffff7f99a79000 0x13000 0x13000 com.apple.driver.AppleHDAController (283.15) 7D53B99A-6D41-35D5-97C4-0F249C564299 <110 109 93 14 8 7 6 5 3 1>

I've also checked via IORegistryExplorer if AppleALC patched the controller correctly and, while the controller was renamed, alc-layout-id reports the correct layout specified via the alcid boot arg, and AppleHDAController seems to attach itself succesfully, no AppleHDAInput devices are shown. This happens with all three layouts: the guide says this is an indication I should try another layout, but there are no other ones listed as compatible with my codec on AppleALC's support page.

Layout 3: https://i.postimg.cc/YtMRMSNJ/layout3.png
Layout 13: https://i.postimg.cc/k7sc4dfD/layout13.png
Layout 23: https://i.postimg.cc/TRPc5H40/layout23.png

The Surface Pro 3 comes with a single audio card (there's technically another output, the one listed as HDAU which seems to be HDMI out according to /proc/asound in Linux, but I've also tried adding the external-audio flag to it just in case and it didn't change anything). I've tried everything else listed there, including using the alcdelay and/or alctsel boot args, verifying I'm using the latest stock version of AppleALC, but nothing seems to make a difference. I've even thought about switching from AppleALC to VoodooHDA but the latter seems to not load, giving me this error in the log:

Dependency com.apple.iokit.IOAudioFamily was not found for kext org.voodoo.driver.VoodooHDA

(If I add the IOAudioFamily.kext found in VoodooHDA's repo, I then get the following error: "Dependency com.apple.vecLib.kext was not found for kext com.apple.iokit.IOAudioFamily". I've read VoodooHDA is currently broken for macOS 11.3+, so I've left it at that)

So, I'm currently stuck. It's a real shame because I seem to be this close to getting a working system up and running, but I can't understand what's wrong here. Any help would be greatly appreciated!

submitted by /u/vappster_
[link] [comments]