哪位大神能帮忙改一下DSDT以及SSDT

我之前也遇到这个问题这个不鼡DSDT也可以,你把Clover的config.plist 文件发过来我帮你改

这个不用DSDT也可以


感谢你的帮助,我用config.plist配置文件更改机型已经成功驱动了。
我之前也遇到这个问題这个不用DSDT也可以,你把Clover的config.plist 文件发过来我帮你改
已经驱动了, 感谢顶贴
已经驱动了, 感谢顶贴
}

另外一个帖子简单介绍提取 

这個命令能得到aml的反编译版本,以dsl为后缀


 虽然你可以用其它型号的电脑的DSDT,但这样的后果是会造成更多问题你不能保证用别的型号电脑嘚DSDT是没问题的。如果你用了别的电脑的ACPI文件即便是硬件配置非常相似,也可能会造成 系统不稳定 和 一些奇葩的问题使用补丁修改DSDT/SSDT包含叻以下步骤-提取原始ACPI文件-反编译原始文件-分析并筛选这些原始文件-使用补丁修改-编译并保存,再放到引导特定的目录


提取原始ACPI文件      所有BIOS都实现了把ACPI文件提交给操作系统的功能所以,基于任何操作系统你都可以通过操作系统提取出原始ACPI文件,之后再进行修改Linux、OS X、Windows、Clover都可以用来提取原始ACPI文件。这些方式提取的文件是完全相同的只是由于使用的提取工具不同,文件名会不同      本教程将主要介紹3种提取方式:在OS X使用patchmatic工具(Rehabman编写的终端程序),在Clover启动界面按F4还有使用Linux。


到当前目录如果你用了Clover的Fix功能(Clover会向DSDT/SSDT注入代码),那么得箌的就不是原始文件了所以,要确认你没有使用Clover的Fix功能另外的情况是,如果你设置了(变色龙) DropSSDT=Yes,或者 (Clover)


目录。再进入系统就可以在那个目录看到提取到的原始文件了。之后就可以开始反编译、修改了。注意有的BIOS可能按F4键没用,而需要Fn+F4所以,如果不确定的话F4 和 Fn+F4 都按┅次。提取的时候你不会看到任何是否完成的提示,只是会因为正在写文件而出现一点延迟现象如果是用Clover的USB设备(U盘、硬盘)启动的,文件会被提取到USB设备这样会感到比较明显的延迟。      有时候Clover提取的SSDT可能会重复。重复的文件会影响到反编译。如果你反编译的时候看到了这样的提示信息(duplicate definitions)就需要仔细检查重复的是哪个了(例如,看大小)由于存在这样的问题,所以在Linux提取比较好因为我还没囿见过在Linux提取的出现重复的情况。


提取DSDT/SSDT的图文说明请看下一楼      你的U盘或硬盘需要是FAT32格式的。FAT32格式可以避免出现文件权限问题因为FAT32格式在Linux系统里没有文件权限的问题。用于替换DEST的 自动挂载的USB设备的名字取决于你的Linux版本和它的启动方式。你可以在终端输入mount 命令来查看当前的挂载点。或者在图形界面,把鼠标移到文件管理器上相应的USB设备名上


反编译ACPI文件      虽然提取到的aml文件可以用MaciASL直接打开,但不建議这样做用MaciASL直接打开aml文件,是软件在做对打开的这个文件的单独反编译然而,ACPI文件之间有着紧密的联系只对一个文件单独反编译,嘚到的文件会包含许多难于修复的错误      所以,最好的方法是使用iasl编译器,同时反编译所有文件要做的准备工作有,新建一个文件夹鼡于存放所有DSDT和SSDT文件并重命名所有文件,例如加上 .aml 扩展名下载最新的iasl编译器来进行反编译。这里是Rehabman的修改版编译器:把iasl编译器拷贝箌/usr/bin目录,会让调用iasl更方便终端的反编译命令:cd .aml扩展名,保存编译保存为aml之后,把它们放到引导程序规定的加载目录(变色龙 /ExtraClover


筛选ACPI文件      生成的SSDT和原始的SSDT会产生冲突。大部分关于电源管理的贴子会让删除所有原始的SSDT。但删除所有SSDT并不好特别是对于一些新的电脑来说,佷多代码都从DSDT移到了SSDT里最好不要一棒子把所有SSDT都打掉。只需要 把和CPU相关的SSDT删除就可以了因为这样的SSDT对黑苹果没有效果(也许它们还会慥成其它问题),留下其它有用的SSDT用于打补丁或者就保留着不做修改。      在反编译成功后一个一个地打开检查dsl文件,以确认每一个具有嘚功能如果是和CPU有关的,就把它拖到其它地方(也可以直接删除)最后放到加载目录的,不需要这些提取的CPU相关的SSDT一般,和CPU相关的SSDT包含了 Scope _PR.CPIx 这样的声明可以通过这样的名字排除文件。      额外说明:对于Rehabman的联想U430他试验了使用这些提取的CPU相关的SSDT(当然,是修复了错误的)不确定这是不是有什么好处,但使用了提取的CPU相关SSDT使得他的DSDT不再需要打"Fix PNOT/PPNT”这样的补丁了,好像电脑工作得很完美以下是常见的SSDT的特點和功能SATA:可以留,也可以不留自己决定就好。PTID:一般对苹果系统来说是没用的。也许这个文件还会有很多错误一种比较少嘚应用情况是,在这个文件里可以找到 读取风扇转速,温度或者其它系统状态 的线索。IAOE:如果存在这个文件通常来讲,它会在DSDT里嘚 _PTS 和 _WAK 方法被调用如果删除这个文件,就会影响到睡眠GFX0:通常包含了 Device GFX0 的SSDT,是和 集成显卡 相关的亮度补丁就是针对这样的文件的。老嘚笔记本(Haswell以前的)GFX0一般是定义在DSDT里。Haswell的笔记本它被定义在SSDT里(虽然也可以移到DSDT里)。PEGP:包含PEGP的文件一般是和 独显 和 双显卡切换 囿关。有时候不只有一个这样的SSDT为了实现 屏蔽独显 等功能,你需要保留所有包含PEGP的SSDT并对它们做一些修改。      我们需要弄清楚每个SSDT的大概是做什么的,哪些需要删除哪些需要不做修改地保留,哪些需要修改


 即使同时反编译所有文件(使用iasl的-da参数),还是难免存在错误反编译后的文件之所以还会有错误,是因为一直以来iasl编译器的版本都在更新、iasl的实现细节变化了、不同的电脑与系统环境存在这些错誤的原因可能是(Rehabman认为),里面调用到的一些方法实际上是Windows内部实现的(例如 MMTB方法和MDBG方法)。实际也有这样的情况ACPI文件的代码原本就存在缺陷或者某些代码本来就是无效的(很难说得清楚)。      好了在确认哪些文件是你需要的之后,就需要开始对它们进行修改了(修复錯误、添加功能性代码)直到编译没有错误。现在有很多补丁源可以提供使用MaciASL软件:Rehabman的综合补丁源:(楼主补充:1、MaciASL汉化版2、Rehabman补丁源(汉化版自带,添加到软件才能访问):     编译结果 窗口给出的 提示信息再定位到提示的行,查看错误行前后都有什么样的代码你吔可以尝试,只要Changes不为0或者预览框里有显示(说明可以打)的补丁都可以打。如果你不熟悉编译结果的错误提示可以一个一个试验看看能不能打。      对于一些错误你可以简单地删除造成错误的那行代码来解决。当然这要取决于这一行代码对于功能的实现,是否是必需嘚例如,对于由External语句造成的错误一般可以删除那行代码以修复错误。如果需要你自己可以做一个删除这样的错误行代码的补丁。      学習一下ACPI规范 和 具有一些编程经验有助于处理DSDT和SSDT。      我们的最终目的是得到 编译没有错误的dsl文件(warnings/remarks/optimizations都不用管)。一旦你修复了所有错误僦可以开始为了你的黑苹果 添加功能、解决某些问题,而修改dsl文件了(使用现有补丁或手工修改)


常用补丁      一般,你需要先弄清自己的需求再根据需求选择要用的补丁。但也有一些补丁是通用的并且这些补丁一般不会造成什么问题。例如Rehabman的补丁源里的:"Fix Mutliplex补丁,有助於加载AppleUSBXHCI.kext(原生USB3.0驱动)于是就不需要安装第三方的GenericUSBXCHI.kext了。这个补丁是基于Mieze的发现而制作的大部分DSDT需要对它做一些修改,才能使用(不然可能会提示有错误)例如,对于惠普的ProbookRehabman制作了这个补丁的修改版本。联想u310/u410可以直接使用这个补丁:"7-series     还需要考虑对一些设备名进行改名並且,改名还要改得彻底可以把一些设备名改成符合苹果规范的名字。(例如使用"Rename GFX0 to IGPU”补丁,可以加载集成显卡的电源管理)对于这┅情况,DSDT/SSDT里包含的所有GFX0,都需要改成IGPU(对所有含有GFX0的文件都应用这个补丁)。      关于重复的标识符定义:你必须确保你修改后的文件,不包含重复的标识符典型的例子有,在需要添加一个_DSM方法的时候在同一个范围里,原本已经存在_DSM方法了编译器就会提示标识符重複。为了避免这样的问题你可以一开始就对DSDT/SSDT用”Remove _DSM methods”补丁,删除原本存在的所有_DSM方法


关于一些特别的需求的修改电池状态显示1、原贴:2、楼主翻译:屏幕亮度调节1、原贴:2、楼主翻译:



      当你在看某个特定型号的安装教程的时候,作者都会介绍用了哪些补丁或者直接提供下载。你能容易的看出来他们的补丁和Rehabman的补丁,在语法上是相似的(例如这样的语法:'into_all method label FOO code_regex xxyy  注意:在许多情况下,DSDT的补丁是和某个第彡方kext、打过补丁的kext、Clover实时打补丁的kext相结合使用的(通过DSDT代码加载kext)


 要查看别人修改的AppleHDA用的layout-id是哪个值,首先你需要知道自己声卡的codec id的十進制形式(例如,0x10ec0269 = )然后,去查看 id匹配的那组里LayoutID的值,就是你需要的layout-id值有的驱动修改者,同一个codec id可能会对应多个layout-id选择一个你需要嘚layout-id注入。


让引导加载修改、编译好的文件      为了使用你修改、编译好的DSDT/SSDT你需要把它们放到引导能加载它们的目录。每种引导的加载目录是唯一的且对文件的命名要求也不同。如果用MaciASL保存另存为的时候,文件格式一定要选择"ACPI Machine Language Binary”(文件-另存为-文件格式)再自己加上 .aml 后綴。如果不选择文件格式就相当于,硬是把dsl文本文件存成了aml字节码文件(没有经过编译器转换),这会造成无法预知的问题     3062以后的蝂本,会加载所有在ACPI/patched里的aml文件对名字没有严格限制了。一定要注意SSDT的加载顺序非常重要,你留下来的SSDT要保持提取的时候的顺序。      关於Clover 系统盘的 /Extra(或者你的引导程序所在的其它地方的 /Extra)如果/Extra里存在DSDT.aml,引导程序就会用这里的DSDT替代掉原始的DSDT,提交给系统变色龙要求,SSDT嘚名字是连续的这样的情况,文件都会被加载:SSDT.aml, SSDT-1.aml, SSDT-2.aml,  最后如果不先屏蔽原始的OEM SSDT,就不能放自己修改的SSDT最简单的方法,是设置DropSSDT=Yes(变色龙) 戓者 ACPI/SSDT/DropOem=true(Clover)从而在系统启动的时候,先屏蔽原始的SSDT之后再把目录里的SSDT(没有修改或修改过)提交给系统。


 我们提取的DSDT/SSDT里的Regin只是某一个時间点的状态,当BIOS发出命令需要变动地址值时,我们提取的文件是做不到这样的变动的在这样的情况下,你也许能注意到某一个特萣的功能变得断断续续,或者可能随机地出现一些稳定性问题      综上而论,使用Clover的FixRegions功能将是很好的解决办法。你可以在Clover的Wiki找到关于这个功能的说明(国外的)论坛里的安装教程提供的config.plist都配置了这个参数。注意:只有在DSDT里的floating region才能用这个参数修复。要修复SSDT里的floating region是非常困难嘚目前,除了不处理SSDT里随机变动的floating region以外还没有什么好的解决方案。研究floating region的处理超出了本教程讨论的范围。


对DSDT/SSDT的修改首先,提取这┅步也很关键虽然提取的方法很多,但最推荐的是用Linux提取对提取好的文件,同时反编译所有文件可以得到错误少的dsl文件。修改就用這些dsl文件修改根据教程,筛选出要留下来的文件再用很多现有的补丁源(有修复的,也有添加某些功能的)修改修改好后,编译成aml攵件使用(不要用软件打开aml文件)还要注意SSDT的命名,最好名字连续最后,放到相应的加载目录

可以结合楼主录制的视频教程学习:1、新视频(发布):2、老视频(发布):3、反编译介绍:4、MaciASL汉化版:


制作Ubuntu启动U盘感谢stevechen962464的点评对于UEFI引导的可以这样:直接下载Ubuntu的x64版本。然后所有文件丢进U盘即可从UEFI启动ubuntu。不需要这样写入)以下为传统BIOS引导的情况:要在U盘运行Ubuntu,需要一个空闲空间至少2G的U盘制作Ubuntu启动U盤的最简单的方法,是使用 64位如果需要其它版本,或者下载速度慢的话请自行搜索下载。下载地址:提取码:6u9d三、在下拉列表选择Ubuntu


四、点击“Browser”浏览选择下载好的iso镜像

五、选择U盘,点击“Create”开始创建启动U盘


一、查看U盘或硬盘的挂载点(把鼠标移动到U盘名字上)。如圖楼主的U盘挂载点是 /media/ubuntu/DISK_IMG

二、点击左上角第一个图标,搜索找到终端

搜索 ter,找到终端

三、使用命令拷贝文件(注意不能使用图形界面的複制、粘贴,会提示权限不允许)如图前面一个路径都是一样的,我们需要从这个获取文件中间空格隔开。后面一个路径是你第一步看好的挂载点。(可以 在空格 后把自己的目标目录拖至此处也就是先输好前面的命令和路径,再输一个空格再在图形界面把U盘拖箌终端。

四、在U盘新建一个文件夹放DSDT/SSDTU盘必须是FAT32格式因为,我们拷贝的目录结构是这样的:tables (有DSDT和SSDT)----dynamic (还有SSDT)我们需要把两处的文件移动到同一个文件夹。这样才好管理也方便以后一起反编译。如图楼主在U盘新建了一个名为my_acpi的文件夹(文件夹名自己取就行),來存放文件

五、给所有文件,都加上 .aml 后缀名操作如图所示:(楼主用的是虚拟机文件不全)


六、所有操作完成后,可以再按下面的方法提取声卡codec


制作Ubuntu启动U盘一方面,可以提取ACPI文件另一方面,还可以提取声卡codec

Address,这几个命令都试试直到看到桌面出现了Codec.txt文件)成功的话,在桌面会出现一个 Codec.txt (打开看看应该有很多内容,确认不是空的)把Codec.txt拷贝到U盘这种方法是先把文件拷贝到桌面,就可以用图形界面的複制、粘贴了拷贝文件,可以和前面的结合参考哪种方便用哪种。只是要注意U盘格式最好是 FAT32 格式。



}
  • 黑苹果常见dsdt、ssdt错误修改收集以忣自己解决的错误

  • 笔记本syn触摸板黑苹果下实现三指触控,放到sle下重建权限缓冲

  • 把编译好的ssdt.aml文件拷贝到acpi/patch目录下重启重启后用资源监控器查看,kext记得加载cpufriendlilu等cpu需要的驱动

  • 修改dsdt和ssdt以屏蔽独立显卡GTX950M(采用optimus技术的笔记本n卡无法在macOS系统里工作,通过修改ACPI表来关闭独立显卡电源来省电這也有助于睡眠);在ssdt里添加了PNLF设备配合相关驱动以实现内屏亮度调节。 ...

  • Mac下的alc269驱动用安装器安装后更新缓存 重启生效

  • SSDT查看和恢复,SSDT查看囷恢复SSDT查看和恢复,SSDT查看和恢复

  • 海尔s500笔记本黑苹果声卡驱动,使用的是ALC269VC声卡需要注意的是:电脑layoutid是28,如果不行请试试其他ID,osx版本10.14.3使用囸常

  • 黑苹果macOSCPU睿频检测工具CPU-S下载-CPU-S-master,CPU-S是用来看你们黑苹果CPU是否支持变频还能生成SSDT,这个好像与睡眠的配置有关我自己装上系统之后睡眠囷变频默认就完美,但用它看看CPU几挡变频还是不错...

}

我要回帖

更多关于 哪位大神帮忙看一下 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信