- Joined
- Jul 18, 2021
- Messages
- 11
- Motherboard
- Lenovo Thinkpad T430
- CPU
- I5-3320
- Graphics
- Intel HD Graphics 4000
- OS X/macOS
- 10.13.x
- Bootloader
- OpenCore (UEFI)
- Mobile Phone
- Android
- iOS
Become a Premium Member for $25/year with no ads to improve your community experience. Upgrade to Pro Account for faster response and no wait times!
MBP15,2 is a poor choice for your hardware. Use MBP9,2 instead. For Audio, use SSDT-HDEF and make sure to add the correct layout ID. The same layout ID must be used in your config.plist too. In Device Properties and in boot-args.
For Laptops, i recommend patching full set ACPI, Hotpatch can work but requires more advance knowledge.Thank you for this tip.
Unfortunately, I didn't manage to make sound work.
:/
First, using MBP9,2 leads to :
View attachment 3606
No booting process allowed anymore.
After some search, I had to add "-no_compat_check" in the "boot-args" section in order to allow the operating system to boot on a prohibited mac hardware.
Now, it's fine
View attachment 3607
Yes, I'm kind of a newbie, that's why I need help and maybe detailed help.
I tried anything using SSDT-HDEF but I probably missed something important because it's impossible to see the sound device in macOS.
I can see it in ioreg though with ALC-layout-id 23 (0x17) :
View attachment 3609
This alc-layout-id is the same in config.plist :
in boot-args section :
View attachment 3610
and in device properties section :
View attachment 3611
Note that there is also a "layout-id" (value : 07) which is not "alc-layout-id" and is confusing...
Your SSDT-HDEF evocation leads to there :
Nothing in this website seems to be made for ALC3202 or ALC269 chips except these two SSDTs :![]()
audio_ALCInjection/ssdt_hdef at master · toleda/audio_ALCInjection
macOS Realtek ALC885 through ALC1220 Onboard Audio - toleda/audio_ALCInjectiongithub.com
"ssdt_hdef-3-no_ioreg/hdef
Supports Realtek ALC/Audio ID; 3 - HD3000/HD4000 HDMI and motherboard audio
Injects Device (HDEF) and Audio ID: 3 (layout-id: 0x03, 0x00, 0x00, 0x00)
ssdt_hdef-3-with_ioreg/hdef
Supports Realtek ALC/Audio ID; 3 - HD3000/HD4000 HDMI and motherboard audio
Injects Audio ID: 3 (layout-id: 0x03, 0x00, 0x00, 0x00)"
One more time a "layout-id" appears here which is neither 0x17 nor 0X07 but 0x03 and is a bit more confusing... I imagine that this audio-ID refers to the type of SSDT-HDEF used (ssdt_hdef-3) but I'm not sure.
I tried those two : no success. Then I tried those two again but this time with a patched DSDT using RehabMan's [Audio layer 3] (like higher) patch. Again : does not work.
Every time, "Pin configurations" is empty in ioreg and it should not be empty, am I wrong ?
View attachment 3612
Could you please be more precise concerning the right way to activate audio ? It appears that doing random stuff without knowing exactly where it's leading and what every patch is doing is not really efficient.
Of course, I've joined ioreg, and verbose log if it can help.
Thanks.
In ACPI, it's Decimal to Hexadecimal. For e.g., if you want to use Layout ID=13, the Hexadecimal value will be D. In ACPI, it will be changed to 0x0D. If you want to use Layout iD=28, the Hexadecimal value will be 1C. In ACPI, it will be changed to 0x1C.Layout ID=17 00 00 00 in Device Properties is hex value (0x17 = 23 decimal value) and alcid=23 in boot-args is directly decimal value. I thought that it was the right way to declare these values but if I'm wrong, what's the good way to declare these values ?
For SSDT-HDEF, the layout ID will be 0x1CShould I put decimal 28 value in every place refering to a layout-id ?
Well, it's upto you how soon you give up or put efforts and manage to get things working.Thank you EliteMacx86 for your explanation. I'll try this asap. See you soon.
[edit] : SSDT-HDEF with layout 0x1C + alcid=28 + layout-ID=28 in Device Properties = still no sound card detected.
:'(
I'm about to give up, I can't get it, i don't understand.
DefinitionBlock ("", "SSDT", 2, "hack", "_HDEF", 0x00000000)
{
External (RMCF.AUDL, IntObj) // (from opcode)
External (RMCF.DAUD, IntObj) // (from opcode)
External (RMDA, IntObj) // (from opcode)
Method (_SB.PCI0.HDEF._DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (CondRefOf (\RMCF.AUDL))
{
If (LEqual (Ones, \RMCF.AUDL))
{
Return (Zero)
}
}
If (LNot (Arg2))
{
Return (Buffer (One)
{
0x03
})
}
Store (Package (0x08)
{
"layout-id",
Buffer (0x04)
{
0x1C, 0x00, 0x00, 0x00
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"no-controller-patch",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero){}
}, Local0)
If (CondRefOf (\RMCF.AUDL))
{
CreateDWordField (DerefOf (Index (Local0, One)), Zero, AUDL)
Store (\RMCF.AUDL, AUDL)
}
Store (Zero, Local1)
If (CondRefOf (\RMDA))
{
Store (One, Local1)
}
If (CondRefOf (\RMCF.DAUD))
{
If (LEqual (Zero, \RMCF.DAUD))
{
Store (One, Local1)
}
}
If (Local1)
{
Store ("hda-gfx", Index (Local0, 0x02))
}
Return (Local0)
}
}
You can match the SSDT contentI'm sorry, I can't see what is still incorrect in SSDT-HDEF... layout-ID is set to 0x1C. Could you please tell me what's wrong with this SSDT-HDEF ?
View attachment 3617
Audio works perfectly on Windows, by the way.![]()