本帖最后由 kaeserlin 于 2017-10-25 11:59 编辑
2017.10.25 最新源码(应该是)编译,Lilu支援版本为1.2.0
以下为分割线
10.25新增DSDT内注入声卡信息,Clover可以随意更改layoutID,不再需要HDAEnabler,DSDT或者Hotpatch信息如果与你的有所不同,请自行修改,声卡位置自行添加保留HDAEnabler5独立附件。
10.25新增SSDT-HDEF和SSDT-Config的Hotpatch完整注入代码。
-----------------------------------------------------------------------------------
之前的我用着休眠有些问题,手动休眠或者黑屏准备进行睡眠状态下唤醒会导致无声,所以更新了一下,基本没什么问题了,睡眠、手动睡眠唤醒、以及黑屏准备进行睡眠状态下唤醒都有声音,机箱前置后置麦克风正常,无杂音。
注:如果你的仍旧有唤醒无声的问题,请把在Config里面设置darkwake=no。
精简掉了其他型号,仅适用ALC892,亲测注入ID为1,2,3,5,7都可用,但是注入不同的ID在系统偏好设置里面显示的设备数量不一样,其中5的最少,但是目前没有发现影响接口使用什么的。
附件中的是ID=5的HDAEnabler,AppleALC,Lilu,一起放进Clover/Other即可(使用DSDT注入和Config注入的不需要HDAEnabler),支持10.13.X High Sierra。
- Device (HDEF)
- {
- Name (_ADR, 0x001B0000) // _ADR: Address
- Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
- {
- Store (Package (0x08)
- {
- "codec-id",
- Buffer (0x04)
- {
- 0x92, 0x08, 0xEC, 0x10
- },
- "layout-id",
- Buffer (0x04)
- {
- 0x07, 0x00, 0x00, 0x00
- },
- "device-type",
- Buffer (0x11)
- {
- "ALC892"
- },
- "PinConfigurations",
- Buffer (0x28)
- {
- /* 0000 */ 0x01, 0x90, 0x02, 0x01, 0x02, 0x01, 0x10, 0x40,
- /* 0008 */ 0x11, 0x01, 0x20, 0x90, 0xA1, 0x90, 0x60, 0x90,
- /* 0010 */ 0xA1, 0x02, 0x40, 0x30, 0x81, 0x01, 0x50, 0x40,
- /* 0018 */ 0x21, 0x02, 0x30, 0x61, 0x4B, 0x01, 0x18, 0x19,
- /* 0020 */ 0x1A, 0x1B, 0x1C, 0x1D, 0x14, 0x15, 0x16, 0x0B
- }
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
复制代码
以下为Hotpatch完整代码,包含SSDT-HDEF+SSDT-Config代码。
新建一个SSDT-HDEF.aml文件,粘贴以下代码,其中地址请自行修改。
- DefinitionBlock ("", "SSDT", 2, "hack", "HDEF", 0x00000000)
- {
- External (_SB_.PCI0.HDEF, DeviceObj) // (from opcode)
- External (RMCF.AUDL, IntObj) // (from opcode)
- Device (_SB.PCI0.HDEF)
- {
- Name (_ADR, 0x001B0000) // _ADR: Address
- Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
- {
- If (CondRefOf (\RMCF.AUDL))
- {
- If (LEqual (Ones, \RMCF.AUDL))
- {
- Return (Zero)
- }
- }
- If (LNot (Arg2))
- {
- Return (Buffer (One)
- {
- 0x03
- })
- }
- Store (Package (0x08)
- {
- "codec-id",
- Buffer (0x04)
- {
- 0x92, 0x08, 0xEC, 0x10
- },
- "layout-id",
- Buffer (0x04)
- {
- 0x07, 0x00, 0x00, 0x00
- },
- "device-type",
- Buffer (0x11)
- {
- "Realtek ALC892"
- },
- "PinConfigurations",
- Buffer (0x28)
- {
- /* 0000 */ 0x01, 0x90, 0x02, 0x01, 0x02, 0x01, 0x10, 0x40,
- /* 0008 */ 0x11, 0x01, 0x20, 0x90, 0xA1, 0x90, 0x60, 0x90,
- /* 0010 */ 0xA1, 0x02, 0x40, 0x30, 0x81, 0x01, 0x50, 0x40,
- /* 0018 */ 0x21, 0x02, 0x30, 0x61, 0x4B, 0x01, 0x18, 0x19,
- /* 0020 */ 0x1A, 0x1B, 0x1C, 0x1D, 0x14, 0x15, 0x16, 0x0B
- }
- }, Local0)
- }
- }
- }
复制代码
新建一个SSDT-Config.aml粘贴以下代码。
- DefinitionBlock ("", "SSDT", 2, "hack", "RMCF", 0x00000000)
- {
- Device (RMCF)
- {
- Name (_ADR, Zero) // _ADR: Address
- Method (HELP, 0, NotSerialized)
- {
- Store ("TYPE indicates type of the computer. 0: desktop, 1: laptop", Debug)
- Store ("AUDL indicates audio layout-id for patched AppleHDA. Ones: no injection", Debug)
- }
- Name (TYPE, Zero)
- Name (AUDL, 0x03)
- }
- }
复制代码
|