toleda
Moderator
- Joined
- May 19, 2010
- Messages
- 22,834
- Motherboard
- Asus Maximus VII Impact
- CPU
- i7-4770K
- Graphics
- RX 560 + HD4600
- Mac
- Classic Mac
- Mobile Phone
How to Add or Edit dsdt/HDEF v2
For Realtek ALC AppleHDA
Realtek ALC AppleHDA Audio ID Injection adds or edits dsdt/HDEF for Realtek ALC Audio.
audio_ALCInjection
toleda/audio_ALCInjection
Version 2
- Minimum edits, no Method (DTGP..), faster boot; Credit: PikeRAlpha
- OS X versions supported:
- Mavericks/10.9 or newer
- Mountain Lion/10.8 and newer
- Realtek ALC, one of the following Device_ID - Codec Name
- 10ec0885 - ALC885/ALC889a
- 10ec0887 - ALC887/ALC888b
- 10ec0888 - ALC888/ALC888s
- 10ec0889 - ALC889
- 10ec0892 - ALC892
- 10ec0899 - ALC898
- 10ec0900 - ALC1150 - 10.8.5 or newer
- Supported Audio-IDs (Audio_ID = layout-id)
- Audio_ID: 1 - 5/6 port Realtek ALC onboard audio and HD5K/AMD/Nvidia HDMI audio
- Audio_ID: 2 - 3 port Realtek ALC onboard audio and HD5K/AMD/Nvidia HDMI audio
- Audio_ID: 3 - 3/5/6 port Realtek ALC onboard audio and HD3K/HD4K/AMD/Nvidia HDMI audio
- Audio_IDs: 1 and 2 support analog 5.1 surround sound, 3 does not
- Audio_IDs: 1, 2 and 3 require HDMI audio dsdt edits/ssdts for HDMI audio.
- Successfully compiled dsdt.aml
- If no dsdt, MaciASL/File/New from ACPI/DSDT
- MaciASL
- IOReg (either)
- IORegistryExplorer/File/Save a Copy As… ( View Raw: IORegistryExplorer_v2.1.zip)
- IOJones Download
- DPCIManager
- Carbon Copy Cloner or SuperDuper
- Make a bootable backup with Carbon Copy Cloner or SuperDuper
- Remove any audio enablers
- kexts, S/L/E/HDAEnabler1.kext, HDAEnabler8--.kext, ALC8xxHDA.kext, etc.
- ssdt, remove Extra/SSDT-1.aml (usually)
Procedure
A. Configure MaciASL
- Copy Downloads/MaciASL to Applications
- Open Applications/MaciASL
- MaciASL/Preferences/Source/+/https://raw.github.com/toleda/audio_ALCinjection/master
- URL:
Code:
https://raw.github.com/toleda/audio_ALCinjection/master
- URL:
- MaciASL/File/Open dsdt.aml
- Determine BIOS supplier (supports all AMI BIOS)
- MaciASL/Compile, if no errors, jump to 3
- MaciASL/Patch/toleda/AMI/Clean Compile (Note: AMI only)
- MaciASL/Compile, if no errors, jump to 3
- If errors, seek assistance
- MaciASL/Edit/Find/Find…/HDEF
- If "Device (HDEF)" present, jump to 4.
- MaciASL/Patch/toleda/Add dsdt/HDEF/Audio ID: 1
- Jump to 5.
- MaciASL/Patch/toleda/Select
- Enable Audio ID: 1 or
- Enable Audio ID: 2 or
- MaciASL/Patch/Apply
- MaciASL/Patch//Close
- MaciASL/Compile, if no errors, jump to Verify Edits
- If errors, seek assistance
- MaciASL/Edit/Find HDEF (1x), represented as Device (HDEF)
- Verify HDEF/layout-id is:
- 0x01, 0x00, 0x00, 0x00 or
- 0x02, 0x0l0, 0x00, 0x00
- MaciASL/File/Save As…/ACPI Machine Language Binary/Desktop/dsdt.aml (add extension)
- MaciASL/File/Save As…/ACPI Machine Language Binary/Extra/dsdt.aml (add extension)
- MultiBeat/Desktop/dsdt.aml
- Alternative: Copy (Drag/Hold Option key) Desktop/dsdt.aml to Extra
- Restart
- IORegistryExplorer
- Search: HDEF
- Locate: layout-id (right pane, scroll down)
- Verify:
- <01 00 00 00> or
- <02 00 00 00>
- System Preferences/Sound/Output
- Description of audio problem
- OS X version/motherboard model/BIOS version/processor/graphics
- Procedure/Guide Used
- Copy of IORegistryExplorer/IOJones (either)
- IOReg/File/Save a Copy As…, verify file (no ioreg.txt)
- IOJones/Save.. .
- Chimera/Chameleon
- Extra/org.chameleon.Boot.plist
- DPCIManager/Misc/Boot Log
- Extra/dsdt.aml
- Clover
- EFI/Clover/config.plist
- EFI/Clover/misc/debug.log (Set config.plist/Boot/Debug/YES)
- EFI/Clover/ACPI/Patched/dsdt.aml
Credits:
VCH888; ALC889A, Gigabyte (Intel): now having a working front mic - Page 38 - Sound - InsanelyMac Forum
SJ_UnderWater: SourceForge.net: MaciASL - Project Web Hosting - Open Source Software
PikeRAlpha: Intel HD4600 with full resolution | Pike's Universum
dsdt Edits
1. HDEF
Code:
[B]After patch (.dsl)[/B]
[COLOR=#232323][FONT=Helvetica]Device (HDEF)[/FONT][/COLOR]
[COLOR=#232323][FONT=Helvetica] {[/FONT][/COLOR]
[COLOR=#232323][FONT=Helvetica] Name (_ADR, 0x001B0000)[/FONT][/COLOR]
[COLOR=#232323][FONT=Helvetica]....[/FONT][/COLOR]
[COLOR=#232323][FONT=Helvetica]....[/FONT][/COLOR]
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
Return (Package()
{
"layout-id", Buffer() { 0x01, 0x00, 0x00, 0x00 },
"PinConfigurations", Buffer(Zero) {},
"hda-gfx", Buffer() { "onboard-1" },
})
[COLOR=#232323][FONT=Helvetica] }[/FONT][/COLOR]
[COLOR=#232323][FONT=Helvetica] }
[/FONT][/COLOR][B]Compiled (.aml)[/B]
Device (HDEF)
{
Name (_ADR, 0x001B0000)
....
....
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x06)
{
"layout-id",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}