qwerty12/X250-Hackintosh

Audio not working

Closed this issue · 2 comments

Hi,
I really love your guide, it helped me a lot already.
Now I'm trying to get my headphones to work, so I switched from AppleALC to CodecCommander & ALC3232.kext - but with these two in /L/E/ I have no Audio device.
I've also added the ALC3232.dsl as compiled .aml, but still no audio.
Would I need to make changes to the config.plist?

Hi,

Thanks :)

Apologies if I'm repeating the obvious, but have CodecCommander.kext and ALC3232.kext been appropriately chowned and chmodded? When rebuilding the kext cache, the only error messages in relation to those kexts should be about them having an invalid signature.
Does /Library/Extensions/ALC3232.kext/Contents/MacOS/AppleHDA correctly point to /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA? Was AppleALC removed before the kext cache was rebuilt?

ALC3232.dsl, which is indeed required, contains CodecCommander configuration only.
Sniki's ALC3232.kext expects a layout ID of 2. I am not sure how you are already injecting the current layout ID for AppleALC. You might be able to get away with just changing it from whatever it currently is (28?) to 2.

The config.plist here also applies some patches (not written by me, I have no idea who the original author is) to the original AppleHDA that you should use with ALC3232.kext: https://github.com/qwerty12/OS-X-Clover-Laptop-Config/blob/0321ddae82a73052d94c4e4e457c17c7fc79ba7d/config_HD5300_5500_6000.plist#L532

From what I can remember, that's pretty much what I did to get others' solutions for audio to work on my X250. If audio over the speakers work, then it's just a matter of installing Sniki's modified ALCPlugFix (and probably Mac Audio Keepalive) for the headphones.

I won't say that ALC3232.kext is perfect, as sometimes (not often, thankfully), I do have to reboot before the audio device shows up...


I use RehabMan's hotpatching SSDTs to inject the layout ID: SSDT-HDEF.dsl and SSDT-HDAU.dsl (I don't know if DisplayPort works). Both of these SSDTs rely on RehabMan's SSDT-RMCF.dsl to be present, which actually contains the layout ID number.

Because I inject the layout ID through SSDTs, Inside the config.plist used here I:

  • Remove the section entirely (https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD5300_5500_6000.plist#L262) just to make sure Clover doesn't try injecting another layout ID

  • Remove the entries for PciRoot(0)/Pci(0x1b,0) and PciRoot(0)/Pci(0x03,0) inside . This appears to be an alternative to injecting properties from the SSDT. While RehabMan's config.plist won't actually inject a layout ID from here because they're "commented" (#), I just removed them to make the plist smaller


I did manage to fix it by adjusting the SSDT with parts of your SSDT-IAL!!!
Now it works.

I have no more audio injection or HDAS to HDEF patching active, basically I'm not touching Audio in the DSDT, all I do is zeroing the codec via kext patches.

CodecCommand and ALCPlugFix are installed per your brilliant guide. I have not installed the Keepalive, maybe I don't need it.

SSDT-ALC3232.zip