ACPI文件处理与屏蔽独显、亮度调节

问题代码:
Method (MXMX, 1, Serialized)
        {
            If (LEqual (Arg0, Zero))
            {
                \_SB.PCI0.PEG0.PEGP.SGPO (ESEL, One)
                P8XH (One, 0x99, P8XH (Zero, Zero, Return (One)))

                 //分开两个P8XH,并分别传递 Zero One 参数。分开Return语句,并注意小括号要配对。
            }
            If (LEqual (Arg0, One))
            {
                P8XH (One, 0x99, P8XH (Zero, One, Return (One)))
                // 分开两个P8XH,并分别传递 Zero One 参数。分开Return语句,并注意小括号要配对。
            }
            If (LEqual (Arg0, 0x02))
            {
                P8XH (One, 0x99, P8XH (Zero, 0x02, Return (\_SB.PCI0.PEG0.PEGP.SGPI (ESEL))))
                // 分开两个P8XH,并分别传递 Zero One 参数。分开Return语句,并注意小括号要配对。
            }
            Return (Zero)
        } 
Compile 显示为:
        1396   Error   parse error,expecting '','' or '')''
        1400   Error   parse error,expecting '','' or '')''         1404   Error   parse error,expecting '','' or '')''
        1404   Error   parse error,expecting '','' or '')'' 


修改后的代码
1、
P8XH (One, 0x99,  Zero )
P8XH (Zero, Zero,  One )
Return (One)

2、
P8XH (One, 0x99,  Zero )
P8XH (Zero, One,  One )
Return (One)


3、
P8XH (One, 0x99,  Zero )
P8XH (Zero, 0x02,  One )
Return (\_SB.PCI0.PEG0.PEGP.SGPI (ESEL))

      2014.6.9 更新,在下载地址中,提供视频中的原始文件和修改好的文件。读者可参照视频用这些文件练习。      

      本贴为视频教程 ,主要内容为 DSDT/SSDT文件处理 与 屏蔽独显、亮度调节,以及,MaciASL软件的使用。

       楼主第一次录制视频教程,可能有一些地方表达或者处理得不太清楚,望提出可改进的建议。

      本帖的文件提取自 微星 GE60 455  ,为 Haswell平台 的电脑, 是楼主帮助坛友修改时下载的 ,主要进行了屏蔽独显与添加亮度调节操作。一共有 1个DSDT 和 11个SSDT。

一、 关于屏蔽独显的文字说明 请结合视频内容理解

注意:
      \_SB_.PCI0.PEG0.PEGP ,这个作用域,不同的电脑不一样,大部分电脑是这样的,有的电脑的,PEG0 可能变成 RP05 等名字,需要自己先找找。
      _OFF、_PS3、_ON、_PS0,这些函数的名字,不同的电脑也不一样,这几个是最常见的名字。

步骤:
      1、一个SSDT:找定义了显卡的SSDT。这个SSDT的特点是,在MaciASL的左边栏的结构中,只有一个”\_SB.PCI0“,并且,它的下面有1个Device (GFX0)。那么,这个SSDT就是定义了显卡的。
      2、另一个SSDT:找显卡包含显卡切换的SSDT。在Windows下提取的所有SSDT中,其中一个,有许多“\_SB_.PCI0.PEG0.PEGP”或者“\_SB_.PCI0.RP05.PEGP”这样的定义,在这个SSDT中,先搜索有没有"_PS3",如果有,那么再搜索有没有"_OFF",一般,有这两个了,"_ON"、"_PS0"也有了。这是一般的情况。
      少数情况,只有"_PS3"和"_PS0",或者有"_PS3"和"_PS0",但没有"_OFF"和"_ON",相应的,可能是有 "SGOF"和"SGON" 或者 "OPOF"和"OPON" 。那么这两个就是替代者。
自己根据自己的文件判断。
      3、可能有的SSDT:对于这个SSDT,有的电脑有,有的电脑没有。主要特点是,搜索,含有GFX0或者PEGP。或者,在MaciASL的左边栏也能直接看出来。与显卡有关的SSDT还是比较容易看出来的,其它的SSDT里,一般都是有CPU字样的。版权声明:本贴内容,由@daxuexinsheng撰写,转载请注明出处。
      这3个SSDT就是与屏蔽独显有关的。


二、 亮度调节
      使用MaciASL软件打补丁实现。
      可结合 视频 与 之前楼主的贴子 理解。
       http://bbs.pcbeta.com/viewthread-1475339-1-1.html

总结
      1、DSDT/SSDT处理,请使用 反编译 方法。剩下的错误会很少,甚至已经没有错误了。之后,用dsl文件进行想要的修改,修改好后,使用 命令 编译成 aml文件。(本贴的重要补充中介绍)
       http://bbs.pcbeta.com/viewthread-1475332-1-1.html
      2、示例为Haswell平台的笔记本,Haswell平台的笔记本 显卡相关SSDT 会有 2到3个。2代、3代平台,显卡相关SSDT会有 1到2个。屏蔽独显的过程,只会比本视频提供的更简单。如果文件有一些差别,请灵活理解方法。


重要补充 ,在之前的贴子 和 本次的视频 里,楼主都忘了介绍 使用命令 编译DSDT/SSDT文件的方法了,特此补充:
            iasl   文件名
示例: iasl DSDT.dsl 或者
           iasl SSDT*.dsl 或者
           iasl *.dsl
即可由 dsl源文件,生成 aml目标文件。( 不建议用软件打开aml文件

或者 ,在用 MaciASL  保存的时候 这样选择 :(保存类型选择:“ACPI Machine Language Binary”(简称aml),这样就可以把 dsl 编译保存为 aml 了)


注意 :修改用 dsl 文件。dsl 没有错了,就可以编译成 aml 直接用了。不要用软件打开 aml 文件。

视频下载
本帖隐藏的内容
http://pan.baidu.com/s/1i3wuHiX


提取码
本帖隐藏的内容

r973


来源:http://bbs.pcbeta.com/viewthread-1517830-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值