问题代码:
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 文件。
视频下载 :
提取码 :
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 文件。
视频下载 :
提取码 :