 
        
        Hackintosh from A to Z
.pdf{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"built-in", Buffer (One)
{
0x00
},
"codec-id", Buffer (0x04)
{
0x89, 0x08, 0xEC, 0x10
},
"layout-id", Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"device-type", Buffer (0x11)
{
"ALC889a"
},
"PinConfigurations", Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0)
}
ALC889a с PinConfigurations
Код:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"built-in", Buffer (One)
{
0x01
},
"codec-id", Buffer (0x04)
{
0x85, 0x08, 0xEC, 0x10
},
"layout-id", Buffer (0x04)
{
0x75, 0x03, 0x00, 0x00
},
"device-type", Buffer (0x10)
{
"Realtek ALC889A"
},
"PinConfigurations", Buffer (0x28)
{
| /* 0000 */ | 0x10, 0x90, 0xA1, 0x01, | 
0x20, 0x90, 0xA1, 0x02,
| 
 | /* 0008 */ | 0x80, 0x30, 0x81, 0x01, | 
| 0x90, 0x40, | 0x21, 0x02, | 
 | 
| 
 | /* 0010 */ | 0x30, 0x40, 0x11, 0x01, | 
| 0x40, 0x40, | 0x01, 0x01, | 
 | 
| 
 | /* 0018 */ | 0x50, 0x60, 0x01, 0x01, | 
| 0x60, 0x20, | 0x01, 0x01, | 
 | 
| 
 | /* 0020 */ | 0x70, 0x61, 0x4B, 0x01, | 
0xA0, 0x01, 0xCB, 0x01
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0)
}
}
ALC888
Код:
Device (HDEF)
{
Name (_ADR, 0x001B0000) Name (_SUN, One)
Name (_PRW, Package (0x02)
{
0x05,
0x04
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"codec-id", Buffer (0x04)
{
0x3E, 0x3A, 0x00, 0x00
},
"built-in", Buffer (One)
{
0x00
},
"layout-id", Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"model", Buffer (0x0F)
{
"Realtek ALC888"
},
"device_type", Buffer (0x07)
{
"alc888"
},
"PinConfigurations", Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0)
}
}
ALC888 с PinConfigurations. У меня этот вариант отлично работает с
Legacy 888 Mozodojo SL x86_64
Код:
}
Device (HDEF)
{
Name (_ADR, 0x001B0000) Name (_PRW, Package (0x02)
{
0x0D,
0x06
})
OperationRegion (HDCS, PCI_Config, 0x54, 0x04) Field (HDCS, DWordAcc, NoLock, Preserve)
{
, 15, PMES, 1
}
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"codec-id", Buffer ()
{
0x3E, 0x3A, 0x00, 0x00
| 
 | }, | 
 | 
| 
 | "built-in", | 
 | 
| 
 | Buffer () | 
 | 
| 
 | { | 
 | 
| 
 | 0x01 | 
 | 
| 
 | }, | 
 | 
| 
 | "layout-id", | 
 | 
| 
 | Buffer () | 
 | 
| 
 | { | 
 | 
| 
 | 0x0C, 0x00, 0x00, 0x00 | |
| 
 | }, | 
 | 
| 
 | "model", | 
 | 
| 
 | Buffer () | 
 | 
| 
 | { | 
 | 
| 
 | "Realtek ALC888" | |
| 
 | }, | 
 | 
| 
 | "AAPL,slot-name", | 
 | 
| 
 | Buffer () | 
 | 
| 
 | { | 
 | 
| 
 | "PCI bus" | 
 | 
| 
 | }, | 
 | 
| 
 | "device_type", | 
 | 
| 
 | Buffer () | 
 | 
| 
 | { | 
 | 
| 
 | "Sound" | 
 | 
| 
 | }, | 
 | 
| 
 | "PinConfigurations", | |
| 
 | Buffer () | 
 | 
| 
 | { | 
 | 
| 
 | /* 0000 */ | 0x10, 0x44, 0x01, 0x01, | 
| 0x11, 0x64, | 0x01, 0x01, | 
 | 
| 
 | /* 0008 */ | 0x12, 0x14, 0x01, 0x01, | 
| 0x14, 0x24, | 0x01, 0x01, | 
 | 
| 
 | /* 0010 */ | 0x20, 0x4C, 0x21, 0x02, | 
| 0x30, 0x61, | 0x4B, 0x01, | 
 | 
| 
 | /* 0018 */ | 0x40, 0x9C, 0xA1, 0x01, | 
| 0x4F, 0x34, | 0x81, 0x01, | 
 | 
| 
 | /* 0020 */ | 0x50, 0x9C, 0xA1, 0x02, | 
| 0x60, 0x71, 0xCB, 0x01 | 
 | |
| 
 | } | 
 | 
| 
 | }, Local0) | 
 | 
| 
 | DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) | |
Return (Local0)
}
}
Device (P0P2)
{
ALC883
Код:
Device (HDEF)
{
Name (_ADR, 0x001B0000) Name (_SUN, One)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
OperationRegion (AZPM, PCI_Config, 0x55,
One)
Field (AZPM, ByteAcc, NoLock, Preserve)
{
AZWE, 1
}
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (Zero, AZWE)
}
If (LEqual (Arg0, One))
{
Store (One, AZWE)
}
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"codec-id", Buffer (0x04)
{
0x83,
0x08, 0xEC, 0x10
},
"built-in", Buffer (One)
{
0x00
},
"model", Buffer (0x0F)
{
"Realtek
ALC883"
},
"device_type", Buffer (0x07)
{
"alc883"
},
"layout-id", Buffer (0x04)
{
/* 883
| */ | 0x73, 0x03, 0x00, 0x00 | 
},
"PinConfigurations",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3,
RefOf (Local0))
Return (Local0)
}
}
ALC883 с PinConfigurations
Код:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"built-in", Buffer (One)
{
0x00
| 
 | }, | 
 | 
 | 
 | 
| 
 | "layout-id", | 
 | 
 | |
| 
 | Buffer | (0x04) | 
 | |
| 
 | { | 
 | 
 | 
 | 
| 
 | 0x0C, 0x00, 0x00, 0x00 | |||
| 
 | }, | 
 | 
 | 
 | 
| 
 | "PinConfigurations", | |||
| 
 | Buffer | (0x30) | 
 | |
| 
 | { | 
 | 
 | 
 | 
| 
 | /* | 0000 | */ | 0x10, 0x40, 0x01, 0x01, | 
| 0x10, 0x10, | 0x01, 0x01, | 
 | 
 | 
 | 
| 
 | /* | 0008 | */ | 0x11, 0x60, 0x01, 0x01, | 
| 0x10, 0x20, | 0x01, 0x01, | 
 | 
 | 
 | 
| 
 | /* | 0010 | */ | 0x40, 0x98, 0xA1, 0x90, | 
| 0x50, 0x9C, | 0xA1, 0x02, | 
 | 
 | 
 | 
| 
 | /* | 0018 | */ | 0x40, 0x30, 0x81, 0x01, | 
| 0x20, 0x4C, | 0x21, 0x02, | 
 | 
 | 
 | 
| 
 | /* | 0020 | */ | 0xF0, 0x01, 0x33, 0x59, | 
| 0x00, 0xE6, | 0x15, 0x40, | 
 | 
 | 
 | 
| 
 | /* | 0028 | */ | 0x30, 0x11, 0x44, 0x01, | 
| 0xF0, 0x11, | 0x11, 0x41 | 
 | 
 | 
 | 
| 
 | } | 
 | 
 | 
 | 
| 
 | }, Local0) | 
 | 
 | 
 | 
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0)
}
}
Device (P0P2)
Sigmatel 9228X на ноутбуке Dell
Код:
Method (_GTM, 0, NotSerialized)
{
Return (GTMS ())
}
}
}
Device (HDEF)
{
Name (_ADR, 0x001B0000) Name (_PRW, Package (0x02)
{
0x0D,
0x03
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"codec-id", Buffer (0x04)
{
0x16, 0x76, 0x84, 0x83
},
"layout-id", Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"model", Buffer (0x14)
{
"Sigmatel 9228X/Dell"
},
"device_type", Buffer (0x16)
{
"High Definition Audio"
},
"PinConfigurations",
| 
 | Buffer (0x1C) | 
 | 
| 
 | { | 
 | 
| 
 | /* 0000 */ | 0x40, 0x10, 0x21, 0x01, | 
| 0x20, 0x91, | 0xA7, 0x90, | 
 | 
| 
 | /* 0008 */ | 0x30, 0x41, 0x17, 0x90, | 
| 0x10, 0x10, | 0x81, 0x01, | 
 | 
| 
 | /* 0010 */ | 0x50, 0x10, 0x01, 0x01, | 
| 0x70, 0x00, | 0x56, 0x98, | 
 | 
| 
 | /* 0018 */ | 0x60, 0x31, 0xA6, 0x90 | 
| 
 | }, | 
 | 
"built-in", Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0)
}
}
Видео
Стринги не совместимы с заводкой видео через dsdt
GFX добавляется в качестве субустройства к PEGP.
PEGP - pci-мост для порта pci express 16x,
GFX - устройство (в данном случае - видеокарта), вставленное в этот порт. Если видеокарта встроенная, то GFX сидит не на мосту, а сразу на шине PCI0
Пример для ASUS
Код:
}
Device (P0P2)
{
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x16)
{
"@0,compatible", Buffer ()
