After months of reading threads, finally I've found a solution to use AppleHDA on ALC887!!!
First, you have to modify your DSDT in this way:
- into the Method (_L0D, 0, NotSerialized), add the following:
Notify (\_SB.PCI0.HDEF, 0x02)
- Add an HDEF Section under the PCI0 device with the following lines:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
OperationRegion (HDCS, PCI_Config, Zero, 0x60)
Field (HDCS, DWordAcc, NoLock, Preserve)
{
VID0, 16,
DID0, 16,
Offset (0x4C),
DCKA, 1,
Offset (0x4D),
DCKM, 1,
, 6,
DCKS, 1,
Offset (0x54),
, 15,
PMES, 1
}
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0E)
{
"subsystem-id",
Buffer (0x04)
{
0xA0, 0x00, 0x00, 0x00
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x86, 0x80, 0x00, 0x00
},
"codec-id",
Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x77, 0x03, 0x00, 0x00
},
"platformFamily",
Buffer (One)
{
0x00
},
"MaximumBootBeepVolume",
Buffer (One)
{
0x40
},
"PinConfigurations",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
- copy modified DSDT on root and inside E/E
Then do the rest:
- install LegacyHDA_ALC887.kext in E/E
- install AppleHDA.kext 1.7.9 in S/L/E
- repair permissions in E/E and S/L/E
- reboot
- once rebooted, verify in System Profiler/Audio if all is recognized correctly, and choose in System Preferences/Sound "line-out" for the output.
For the attachments exceed 1MB limit, you can download them from this post: http://bit.ly/mXw5zx