Audio ALC889 DSDT Setup

In order to use on-board Audio the DSDT table must be adopted, the section HDEF.

What is not clear up to now, is the use of codec-ID and layout-ID. Also the need of patching the file AppleHDA.kext (with a perl command line) is not clear.

HDEF Guide

A guide for HDEF generation will help.

# HDEF example from guide
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)
                }
            }  

DSDT from tonymac86, HDEF

Folowing is an excerpt from the DSDT table:

# 0x79, 0x03 = 889
            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)
                            {
                                0x79, 0x03, 0x00, 0x00
                            }, 

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

DSDT HDEF from Sergey_Galan, osx86.net

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

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package ()
                        {
                            "AAPL,slot-name", 
                            Buffer (0x09)
                            {
                                "Built In"
                            }, 

                            "built-in", 
                            Buffer (One)
                            {
                                0x00
                            }, 

                            "device_type", 
                            Buffer (0x06)
                            {
                                "AUDIO"
                            }, 

                            "name", 
                            Buffer (0x0F)
                            {
                                "Realtek ALC889"
                            }, 

                            "model", 
                            Buffer (0x27)
                            {
                                "Realtek ALC889HD High Definition Audio"
                            }, 

                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x0C, 0x00, 0x00, 0x00
                            }, 

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

DSDTSE, Simple Editor

Here the Help text from DSDTSE is extracted, shorted and expanded were needed for understanding.

NOTE: An incorrect DSDT user editing can make the hardware unusable, EvOsx86 Team is not responsible for any damage you may cause to your hardware using the application.

Ioregistryexplorer is opensource software owned by Apple.

The hacks often required are:

ALIAS FIX, HPET FIX, FIX RTC and METHOD DTGP if you add network/graphics/whatever hack on DSDT.

If you use Snow Leopard, check the "CMOS reset" hack also, you may need it.

DSDTSE (DSDT Simple Editor) is a small program designed to be a DSDT editing utility.

Its mission is to make DSDT repairing and hacking as simple and affordable as possible.

It doesn´t performs automatic patching, patching is done manually by the user.

The program creates a folder under Library/DSDT/ to be used as working folder, if you want to compile your DSDT using this app, save the file in the suggested folder as dsdt.dsl.

The program has a contextual help, that means if you leave the mouse over a button or text, you will get a help balloon with a brief explanation of what each button does.

List of pages in this category:

-- RudolfReuter 2012-08-05 17:11:45


Back to CategoryMacOSX or StartSeite

rudiswiki9: MacOSXAudioALC889 (last edited 2012-08-24 17:56:37 by dslb-084-058-137-237)