- 积分
- 2824
- 最后登录
- 2024-4-26
- 精华
- 0
- 阅读权限
- 50
- 主题
- 32
- UID
- 542221
- 帖子
- 2170
- PB币
- 507
- 威望
- 326
- 贡献
- 0
- 技术
- 212
- 活跃
- 353
Vico
- UID
- 542221
- 帖子
- 2170
- PB币
- 507
- 贡献
- 0
- 技术
- 212
- 活跃
- 353
|
4F
发表于 2012-4-13 22:04:27
IP属地山东
|只看该作者
DSDT修改
本帖最后由 nksmiles 于 2012-4-15 09:54 编辑
四、DSDT修改
4.1 添加苹果方法函数
要想使用苹果的原生驱动,添加苹果的方法函数是必须的,可以在DSDT开始部分或者第一个Scope (\){…}后添加。
- //// DTGP method to support Apple MacOS native driver
- Method (DTGP, 5, NotSerialized)
- {
- If (LEqual (Arg0, Buffer (0x10)
- {
- /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
- /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
- }))
- {
- If (LEqual (Arg1, One))
- {
- If (LEqual (Arg2, Zero))
- {
- Store (Buffer (One)
- {
- 0x03
- }, Arg4)
- Return (One)
- }
- If (LEqual (Arg2, One))
- {
- Return (One)
- }
- }
- }
- Store (Buffer (One)
- {
- 0x00
- }, Arg4)
- Return (Zero)
- }
- //// end of DTGP method
复制代码 另外,修复重启BIOS重置也是必须的查找(RTC)或者(RTC0)字段,将里面的或
修改为:
- 0x02, // Length ////modify from 0x08/0x04 to avoid BIOS reset
复制代码
另外Lion和Mountain Lion睡眠后再次重启仍会重置BIOS,需要破解AppleRTC才可以,具体参考6楼。
4.2 显卡DSDT代码
4.2.1 显卡亮度调节
在\_SB scope下面加入PNLF Device
- //// code for brightness adjust
- Device (PNLF)
- {
- Name (_HID, EisaId ("APP0002"))
- Name (_CID, "backlight")
- Name (_UID, 0x0A)
- Name (_STA, 0x0B)
- }
- //// end of code for brightness
复制代码 4.2.2 ACPIBacklight.kext支持代码
1、在Device (VGA)下面添加_DSM函数:
- //// add to support ACPI backlight
- Method (_DSM, 4, NotSerialized)
- {
- Store (Package ()
- {
- "AAPL,HasPanel",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "AAPL,Haslid",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
-
- "AAPL,backlight-control",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "@0,backlight-control",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "@0,AAPL,boot-display",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "@0,built-in",
- Buffer ()
- {
- One
- }
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- //// end
复制代码 2、在Device (LCD)下面添加:_DOS 函数(其他三个_BCL _BCM _BQC已经存在。)
- //// add to support ACPI backlight
- Method (_DOS, 1, NotSerialized)
- {
- Store (And (Arg0, 0x03), SWIT)
- }
- //// end
复制代码 4.3 添加声卡代码
查找Device (HDEF)字段,技嘉主板是AZAL,将AZAL改为HDEF即可。ASUS是HDAU,ATI是SBAZ,同样将其改为HDEF即可。在Device (HDEF)内添加_DSM函数。 然后E40需要修改后的代码如下: - //// code to support apple audio driver
- Method (_DSM, 4, NotSerialized)
- {
- Store (Package (0x0A)
- {
- "codec-id",
- Buffer (0x04)
- {
- 0x69, 0x02, 0xEC, 0x10
- },
- "layout-id",
- Buffer (0x04)
- {
- 0x0D, 0x01, 0x00, 0x00
- },
- "device-type",
- Buffer (0x25)
- {
- "Realtek ALC269 @ Intel Ibex Peak PCH"
- },
- "hda-gfx",
- Buffer (0x0A)
- {
- "onboard-1"
- },
- "PinConfigurations",
- Buffer (Zero) {}
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- ////end of audio _DSM method
复制代码 其中里面的参数layout-id涉及到AppleHDA的正确驱动,这里0x010D=269,与AppleHDA里面的layout-id为269对应。另外可以通过设置PinConfigurations的Buffer值来显示音频内建的具体信息。如果AppleHDA正常驱动,不需要设置,会自动从AppleHDA中读取。
|
|