Hi guys,
Just wondering if anyone has 5.1 sound working in Snow (or Leo for that matter)
Not digital out but normal surround via the 3 analog ports.
If so could you share the method please (DSDT, kext)
Thx in advance
UPDATE: Solved thx to all for your input, especially
Mormegil, thx a lot bro for the guidance and files!
- Update on Sep 14 2009: I'm providing my modded AppleHDA kext for comparison or it might even work for some people without re-modding to their own hardware.
http://www.mediafire.com/?f0mmm25zrja
- Update on Sept 8 2009: Mormegil has created a guide to mod your Leopard AppleHDA kext to Snow Leopard: http://www.infinitemac.com/f57/guide...a-to-sl-t3981/
- Update on Sept 4 2009: Alright, since a lot of fello ALC889a users have issues I thought it would be only fair to post my steps to get audio fully working. This is based on my rig of course.
START
First grab these files which are:
iaslme to unpack your dsdt.aml file:
http://www.mediafire.com/?jnjrdtmfm3k
kextutility in case you haven't got it yet:
http://www.mediafire.com/?njgtzhzwm0j
For comparison:
my dsdt.aml without the audio mod:
http://www.mediafire.com/?xm2yn2xguyo
my dsdt.aml with the audio mod:
http://www.mediafire.com/?zzgmmgmhdbo
Credit goes to Mormegil for patience and support, respect bro!
PART I: Patching DSDT
- Slide your dsdt.aml file over the iaslme icon to decompile it to a dsdt.dsl file.
- Open the dsl file with texteditor
- Apple + F to open the search tab and fill in AZAL
- Change AZAL into HDEF
In my case:
From
Code:
Notify (\_SB.PCI0.AZAL, 0x02)
To
Code:
Notify (\_SB.PCI0.HDEF, 0x02)
- Search again for AZAL and this time the item “Device” should show up (at least in my case)
Change this:
Code:
Device (AZAL)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRQV)
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQ1)
FindSetRightBit (IRQ1, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
Into this:
Code:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRQV)
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQ1)
FindSetRightBit (IRQ1, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
PART II: Patching AppleHDA
- Copy your AppleHDA.kext from System/Library/Extensions to your desktop
- Right click the kext and select ShowPackage, then browse to Content/Contents/Plugins
- Right click AppleHDAHardwareConfigDriver.kext and again Show Package Contents
- Browse to Contents and replace info.plist with this one (just slide it in and confirm replace)
http://www.mediafire.com/?rttltqjqxn4
Go back to the Plugins folder and this time Show Package Content of AppleHDAPlatformDriver.kext
Browse to Contents and replace info.plist with this one
http://www.mediafire.com/?zhnmdm0izzy
- Close all windows and then slide the modded AppleHDA.kext on the Kextutility icon.
- Reboot and repair permissions again with Kextulility, Terminal or Disk Utility just to make sure.
- If SL starts to behave badly and post a kernel panic you might want to boot into 32bit safe mode (-x -x32) and then run kextutility
Audio should be working now
PART III: Configuring 5.1
- Spotlight "AUDIO/MIDI-configuration" prefs
- Click
+ left bottom
- Double click name and rename it to ALC889a
- In the right panel select the 3 built-in line streams
- To adjust or correct volume expand ALC889a and use the sliders in the right tab for all 3 line-outs:
In my case they were minus 12db if I remember correctly.
- Click speaker configuration bottom right
- Select Multichannel tab and next to it select 5.1 surround from the menu
- Check All streams at top and then start configuring the streams (in my case I had to switch 5 & 6 to left and right rear and 3 & 4 to center and sub respectively)
- Confirm with bottom buttons and go check a 5.1 movie in quicktimeX
- You might want to install Perian (
http://perian.org/) and set Audio Output to:
Mutli-Channel Output
I think that's about it, everything should be working, if not, it's probably because you have a completely different system then mine or your dsdt isn't properly patched or you just messed up on the way.
Good luck!
THE END