daxuexinsheng 发表于 2014-6-8 19:01

[2015.1.2 更新][DSDT/SSDT视频教程] ACPI文件处理与屏蔽独显、亮度调节

本帖最后由 daxuexinsheng 于 2015-1-2 18:28 编辑


2015.1.2 更新:
录制了新的视频教程。本贴将取消回复可见。
https://bbs.pcbeta.com/viewthread-1569867-1-1.html





      2014.11.14 更新:
感谢坛友“thirson”的提醒:
谢谢楼主为大家写教程,但告诫和我一样的新手不要再移动SSDT内容到DSDT了,Rehabman说这是一个“Bad idea”,因为我用此法会出现莫名其妙的问题,最明显的就是开机慢(卡IOACPI),睡眠会出问题。我华硕机器不合并也没加屏蔽独显代码(打了几乎全部patch),已经接近完美。再次感谢楼主!
由于楼主没有带独显的电脑,所以不能亲自验证。大家先试试本视频里的移动SSDT内容到DSDT的方法,如果有这位坛友所说的问题,那么就再试试不移动代码,而在DSDT里,Externel 要用到的方法吧。楼主因为没有设备和时间,视频就不能更新了。


      2014.7.20 更新,增加 把 dsl 编译保存成 aml 的方法。


      2014.6.13 更新,更新视频里没有的一个常见错误的修复方法。常见于 部分 宏基、神舟、惠普 电脑。

问题代码:
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软件打补丁实现。
      可结合 视频 与 之前楼主的贴子 理解。
      https://bbs.pcbeta.com/viewthread-1475339-1-1.html

总结:
      1、DSDT/SSDT处理,请使用 反编译 方法。剩下的错误会很少,甚至已经没有错误了。之后,用dsl文件进行想要的修改,修改好后,使用 命令 编译成 aml文件。(本贴的重要补充中介绍)
      https://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 了)
http://cdn.pcbeta.attachment.inimc.com/data/attachment/album/201403/22/202838gyx55h1htzup57u4.png

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

视频下载:
http://pan.baidu.com/s/1i3wuHiX
提取码:
r973

daxuexinsheng 发表于 2014-6-8 19:44

备用楼。

zmmwan 发表于 2014-6-8 19:45

{:9_403:}不能抢楼是版规,我是来支持楼主的。

daxuexinsheng 发表于 2014-6-8 19:46

zmmwan 发表于 2014-6-8 19:45 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
不能抢楼是版规,我是来支持楼主的。

zm大神给个建议吧。
{:9_411:}

neycwby09 发表于 2014-6-8 19:47

视频教程大赞

zmmwan 发表于 2014-6-8 19:49

本帖最后由 zmmwan 于 2014-6-8 20:00 编辑

daxuexinsheng 发表于 2014-6-8 19:46 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
zm大神给个建议吧。
{:9_399:}建议????
{:9_404:}取消权限吧。

daxuexinsheng 发表于 2014-6-8 19:52

zmmwan 发表于 2014-6-8 19:49 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
建议????
来个回复可见吧。

是这样想来着,但有的 坛友 建议不要回复可见,发贴的时候,我也考虑了有一会儿了。有点纠结。

对于阅读权限10的话 游客看不了。对于回复可见 游客能看内容 但是可能关键的资源下载不到。

{:9_598:}

zmmwan 发表于 2014-6-8 19:57

本帖最后由 zmmwan 于 2014-6-8 20:00 编辑

daxuexinsheng 发表于 2014-6-8 19:52 http://cdn.pcbeta.img.inimc.com/static/image/common/back.gif
是这样想来着,但有的 坛友 建议不要回复可见,发贴的时候,我也考虑了有一会儿了。有点纠结。

对于阅 ...
{:9_395:}你都设置10权限了,游客已经看不了了。为了传播优秀的资源,我觉得应该把权限取消。

zmmwan 发表于 2014-6-8 20:01

{:9_381:}我修改了下建议,不然会被当成坏人的。

liankaohk 发表于 2014-6-8 20:08

回复可见必须支持啊......

philips826 发表于 2014-6-8 20:12

看一下,{:5_591:}

wwwsky999 发表于 2014-6-8 20:18

快快快看看

chenleiyanquan 发表于 2014-6-8 20:29

膜拜楼主,学习学习~

傲骨虚怀 发表于 2014-6-8 20:32

能长点知识也好啊

sofair 发表于 2014-6-8 20:55

赞,一个字不行。

gonggaolei 发表于 2014-6-8 20:59

视频教程的方式很好哦。

yjplayer 发表于 2014-6-8 20:59

学习学习哈哈

yearjinheng 发表于 2014-6-8 21:04

感谢分享!

zeng1718 发表于 2014-6-8 21:10

终于出视频了,谢谢大大

kukusyaoran 发表于 2014-6-8 21:12

嗯!是来看视频的~
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [2015.1.2 更新][DSDT/SSDT视频教程] ACPI文件处理与屏蔽独显、亮度调节