Contribute
Register

[EasyGuide] How to add HDEF to your dsdt

Status
Not open for further replies.

toleda

Moderator
Joined
May 19, 2010
Messages
22,834
Motherboard
Asus Maximus VII Impact
CPU
i7-4770K
Graphics
RX 560 + HD4600
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. 512K
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
2787035531_066ba1ee85.jpeg

[EasyGuide]
How to add HDEF to your dsdt and
How to get a dsdt if you don't have one.


Benefits
1. Enable RealTek on board audio
2. Prerequisite for HDMI audio
3. Front panel audio with auto mute
4. Passive front mic
5. Optical Surround Sound
6. Improved audio quality
7. Easy installation
8. Nearly native

Requirements
1. 10.7.3 - 64 bit kernel
2. Realtek audio codec (one of the following)
a. 885 (aka; 889a)
b. 887 (aka: 888b, 888s)
c. 888 (aka: 1200)
d. 889
e. 892
f. 898
3. HD Audio
a. BIOS - HD Audio Enabled
b. Front Panel Audio - HD Audio connector plugged into motherboard front panel audio

Tools
1. DSDTSE v1.4.3 - http://www.osx86.es/?p=610

dsdt Edits
DTGP
HDEF

Steps
1. Extract DSDT
2. Verify DSDT
3. Edit DSDT
4. Compile DSDT
5. Test DSDT
6. Install DSDT
7. Restart

Guide
1. Downloads/Add_HDEF_to_dsdt/HDEF/How_to_add_HDEF_to_your_dsdt

Attachments
1. Add_HDEF_to_dsdt
View attachment Add_HDEF_to_dsdt.zip

dsdt/HDEF edits
Code:
Audio ID: 885, layout-id: 885 (dec), 375 (hex), 0x75, 0x03, 0x00, 0x00
Audio ID: 887, layout-id: 887 (dec), 377 (hex), 0x77, 0x03, 0x00, 0x00
Audio ID: 888, layout-id: 888 (dec), 378 (hex), 0x78, 0x03, 0x00, 0x00
Audio ID: 889, layout-id: 889 (dec), 379 (hex), 0x79, 0x03, 0x00, 0x00
Audio ID: 892, layout-id: 892 (dec), 37C (hex), 0x7C, 0x03, 0x00, 0x00
Audio ID: 898, layout-id: 898 (dec), 382 (hex), 0x82, 0x03, 0x00, 0x00

HDEF  (Example:  885/887/888/889/892/898)

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                             "layout-id", 
                            Buffer (0x04)
                            {
                                0x75, 0x03, 0x00, 0x00    /for 885 - Select only one layout-id
                                0x77, 0x03, 0x00, 0x00    /for 887
                                0x78, 0x03, 0x00, 0x00    /for 888
                                0x79, 0x03, 0x00, 0x00    /for 889
                                0x7C, 0x03, 0x00, 0x00    /for 892
                                0x82, 0x03, 0x00, 0x00    /for 898
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Note
1. Before making your own dsdt, check the tonymacx86 DSDT Database for an edited dsdt that matches your motherboard tonymacx86 - DSDT Database

Edited 7/27 - Fixed typos in layout-ids, renamed file DSDT-HDEF_Edits_v1.1

Credit
MacMan
 
Thank you very much for the guide. It's very clear. :thumbup: I have zero experience with dsdt but following your guide, I have successfully patched my dsdt and enabled the ALC898 audio!! :clap:
 
Thanks Toleda. It works for me :')
 
Does this work if you have Azalia Audio in the BIOS or does it matter?
 
BIOS has Azalia Enabled/Disabled.
 
shorty said:
BIOS has Azalia Enabled/Disabled.
Your BIOS doesn't know about HDEF. I don't know if your motherboard will work with HDEF. Try this:
1. DSDTSE/dsdt: Search AZALIA Replace HDEF
2. DSDTSE/dsdt: remove Device (HDEF) - previously AZALIA
3. DSDTSE/dsdt: add Device (HDEF)
4. DSDTSE/dsdt: Compile dsdt
5. DSDTSE/dsdt: Install dsdt
6. Restart

Reply with a copy of IOReg.
 
So I followed these instructions which were a breeze to follow and I now see a sound device in the System Report but do not have any options to select for sound output. Am I missing anything from this to get sound working?

I'm using a Supermicro X8DAH+ motherboard
 
surrealillusion said:
So I followed these instructions which were a breeze to follow and I now see a sound device in the System Report but do not have any options to select for sound output. Am I missing anything from this to get sound working?
Attach a copy of IOReg. Verify the file opens in IOReg before attaching.
 
toleda said:
shorty said:
BIOS has Azalia Enabled/Disabled.
Your BIOS doesn't know about HDEF. I don't know if your motherboard will work with HDEF. Try this:
1. DSDTSE/dsdt: Search AZALIA Replace HDEF
2. DSDTSE/dsdt: remove Device (HDEF) - previously AZALIA
3. DSDTSE/dsdt: add Device (HDEF)
4. DSDTSE/dsdt: Compile dsdt
5. DSDTSE/dsdt: Install dsdt
6. Restart

Reply with a copy of IOReg.


I did a search for "Azalia" to replace with "HDEF", comes up with "no word found".
I did a search for "Device" and scrolled through the whole DSDT but didn't find anything
that even remotely looked like Audio.
I'll try to add the "HDEF" and if it doesn't work I'll attach the IOReg.
 
Status
Not open for further replies.
Back
Top