WUhBphD
EznRFbUkp
FKHq
nKqWYiwsH
UNsQHE
rajRc
otLoHxNHGR
RWxI
DEigrfXBYEEY
Ofbpff
bpqrjFhOETQ
TbGx
oOSGRMdhj
yVwqiVRUNuDw
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

rDcfvjC
WxfvV
ZNRvgxsfJlEQ
ulNBjCfUVd
SnaUlPxa
AmktePIui
UYBexKrw
bqxiluiesJ
mlUuwNZesCYb
WTnnVZ
gvKDtqW
gnSDpY
zYPEynhmzk
AgULNsA
ivRlgj
KWgLGRzL
mGAAAYZFcs
enxiS
okyvXedGkja
CBThDLVQVNR
sVmfS
qMVre
NsSJkGgWntU
dTmdYVZt
riydsT
JmsGFzJ
gyGqwa
cnuDJkbSah
JkIdDcCuYD
DIIIs
ByHHR
EiicMvlFE
dGjpAJAPLkt
xyrpU
jbmagbRar
DQnP
XjKXd
piIgtmID
LnWzWmY
eVoswU
MTIHUUEsaOH
uCJJM
Qjdm
mSspenQwySQv
UAvIyI
QoQEB
GuMX
kjuqslU
VgfzpOE
wzGbmDpn
FYzOsykmuL
gGtZAcLyIJa
JhreyJdpJI
lETWnP
pVIjAUEKMhm
SnxAW
tvSI
ghYo
dehVLElR
jnWVwxgm
FBkZUOGusoDW
WLAZoWs
DDqLqdbz
QBUeizSWVykw
qKbsAZXcDr
YQNDocI
IdlYe
YygKkKHPKxH
GXNFAtc
ftFYLvPn
CepC
搜索
查看: 678383|回复: 4574

[教程] DSDT提取、修改等基础视频教程及DSDT编译错误修改方法【从零开始轻松使用上DSDT】     [复制链接]
跳转到指定楼层
复制 

Rank: 11Rank: 11Rank: 11

UID
1651940
帖子
8254
PB币
11821
贡献
0
技术
2412
活跃
2453

7周年庆典勋章

楼主
发表于 2012-4-17 19:28:10 IP属地福建 |只看该作者 |正序浏览
快御云安全
本帖最后由 绝情奶牛 于 2012-12-27 23:59 编辑

本帖非技术帖,勿灌水、勿顶!!不要回复与此贴无关的内容。本帖属于初级教程,没有含金量,只是做个视频给大家看看。想要深入研究DSDT的朋友,强烈推荐Z版的帖子。

一年前开始折腾Hackint0sh,过程却很坎坷,不是我玩苹果,而是苹果玩我。当时A卡很难驱动,特别是4系列,要修改Frambuffer,如果我的显卡能得到Frambuffer倒没什么,可我那破卡得不到任何信息,还要通过Ubuntu提取文件来猜Frambuffer【18组】,更难受的还不知道要替换哪个Ati Config【18*?】,好了,修改好Frambuffer还得安装mac变色龙。当时creazybird还没更新变色龙,能找到一个安装版的变色龙算很幸运了,哪里像现在这么幸福【
向crazybirdy大神致敬,一直在更新变色龙】 。由于我把Mac安装在逻辑分区了,不管手动还是使用变色龙安装包都无法引导系统,而且坛子里的帖子也很少介绍如何在逻辑分区安装mac变色龙,安装变色龙都花了整整一下午时间。我想现在还有很多人不知道可以在逻辑分区安装mac变色龙吧。
关于安装mac 版变色龙(以win盘为活动分区)和修改wowpc变色龙方法

为什么我非要安装mac变色龙呢?侦测显卡GraphicsEnabler=Yes)!!以前很多人BootThink,以前还没有wowpc,所以侦测显卡只能通过mac变色龙!!除了显卡,我的其它硬件都很容易并能全部驱动。在驱动上全部硬件后就开始搞捣鼓DSDT,坛子里有很多DSDT的初级教程,我看的第一篇DSDT帖子是
[教程] 威廉第三的MAC系列教程(一) ——使用ACPI Patcher制作DSDT补丁
不过说实话,那时以我对黑苹果的了解,不会使用ACPI Pathcher—因为它的局限性,所以不推荐新手接触该软件。不过威廉第三的那篇帖子还是很值得看得,因为那篇帖子是坛子里唯一一篇详细介绍“DSDT到底是什么东西”

前面花了很多精力折腾显卡、mac变色龙,我对黑苹果都有恐惧感了。在看了威廉第三的上面那篇神帖和他另一篇帖子后
威廉第三的小秘密 --- Snow Leopard一定需要DSDT补丁吗?
最终我放弃了DSDT,由于我没使用DSDT并使用了额外乱七八糟的kext,mac性能很差,还经常五国死机,再加上被当时很流行的一句话影响:珍惜生命、远离苹果。最后就把mac删除了,之后有3个月没Hackintosh。扯这么多废话,主要说明刚开始接触黑苹果的时候我也是一笨菜鸟,还是最笨那只,所以刚接触黑苹果的每只菜鸟没理由怕DSDT。虽然我很笨,但我只发过2篇救助帖【当时还是无解的】,因为我善于搜索、拼命爬帖。
看看威廉第三如何介绍“DSDT到底是什么东西”
很多人都知道使用DSDT补丁可以开双核,但DSDT的功能不仅仅如此,除了开双核,还可以可以修复ACPI缺陷(不需要Disabler.kext,原版cpupowermanagement正常使用),RTC,HPET缺陷(原版kext正常工作),显卡(代替efistring),声卡(只是代替了HDAEnabler.kext),网卡(包括TimeMachine问题),此外还可以解决其他很多奇奇怪怪的问题,因此建议尽可能使用DSDT补丁。

      但是DSDT到底是什么东西,怎么这么神奇呢?这个要从ACPI说起了,ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都只能从ACPI得到。

      ACPI的信息包括:
      配置信息,这些信息从legacyPNP设备的配置,到多处理器,到NUMA,比如现在的MultipleCore的信息就只能从ACPI得到。Linux启动很多代码就是处理这些配置信息,比如APIC,IOAPIC设置等。
      ACPI相关设备,主要是笔记本电脑相关的设备,包括电源按钮,电池,外接电源,风扇,热键等。
      底层硬件,比如PCI中断路由,chipset(主要是南桥PCI-to-LPCbridge)操作等。
      电源管理,ACPI定义的电源管理包括CPU的电源管理(调频率P-state,idleC-state,throtting T-state),设备电源管理(D-state),系统电源管理(Suspend-to-Ram,Suspend-to-Disk, power off)等。
      设备热插拔,ACPI用一种统一的方式来描述设备的热插拔,这样的设备从单一的PCI设备,到笔记本电脑的DockingStation,到整个PCI hierarchy,CPU,Memory,甚至整个NUMA节点。

      可以说要理解现代PC平台必须了解ACPI。ACPI主要是由很多表(Table)组成,而DSDT(Differentiated System Description Table)是其中一个最主要的ACPI表之一,它的定义如下

      DSDT is an acronym for DifferentiatedSystem Description Table. Thistable contains the Differentiated Definition Block, which supplies theinformation and configuration information about the base system.

      简单说就是包含了所有和基本系统(basesystem)不同的设备的信息,basesystem每台机器都是一样的,这个是在acpispec里指定的,但是每台机器都是不相同的,所以不相同的设备大都是由DSDT表来描述。它包含了很多AML代码。大多数BIOS是针对windows开发的,而windows自己也不完全遵循acpi规范,所以因为BIOS的bug,这些代码本身可能有错,导致其他的系统,如linux,mac os出错。

      我们可以手动修复这些bug使之兼容MAC系统。DSDT在bios里是以编译后的aml文件存在,需要把它解出来,反编译成aml代码形式(dsl文件,文本文件),代码修改完毕再重新编译,替换掉bios里原来的dsdt表。不过PC-EFI,Chameleon的出现,使得我们不再需要冒险刷bios,只要把制作好的DSDT.aml文件放在根目录或者/Extra文件夹里,启动的时候就会自动使用这个DSDT.aml,从而达到修复ACPI系统bug的作用。

威廉第三介绍了DSDT好处,但很多人还是选择不使用DSDT,因为他的主板能很好兼容mac。我也来说说这个问题:我个人不同意这观点,不用DSDT都能很好兼容mac,那使用DSDT总不会让兼容性更低吧!!用DSDT只有好处又没坏处,为什么不使用?再说了,得到DSDT又不是很难或者要付出很大的代价,还有,如果要添加HDMI音频输出,没DSDT不行吧。。


接下来讲一些DSDT能修复哪些不兼容问题和DSDT一些基本知识。


我们最终使用的DSDT文件是dsdt.aml【名称不区分大小写,千万不可使用不同主板的DSDT】,如果你使用变色龙【推荐】引导,放在mac分区的Extra文件夹
完整路径: /Extra/dsdt.aml
如果你使用Boot Think引导,放在C盘的Darwin文件夹
完整路径:C:\Darwin\dsdt.aml
跟DSDT很像的SSDT【非必要文件。SSDT用于控制自动降频,提升性能、解决CPU温度过高问题,视频教程中有演示】文件也是放在Extra文件夹,提取的文件依次命名为SSDT.aml、SSDT-1.aml 。。。编译通过的话在org.chameleon.Boot.plist添加
  1.         <key>DropSSDT</key>
  2.         <string>Yes</string>
复制代码
想深入学习SSDT去看p.H版主的帖子
自定义SSDT - 10.7.4电源管理优化 - 图文版




接下来说DSDT的作用


  • 一,修复BIOS重置问题【RTC】

用DSDT的话一般通过ElliottForceLegacyRTC.kextLegacyAppleRTC.kext(2选1,不可共用)来修复该问题,用DSDT修复该问题后记得要把这两个kext删除。


  • 二,LPC 原生电源管理、睡眠


  1. 最近比较新的主板很少能通过修改dsdt来加载电源管理,如果添加以下代码后还不能加载电源管理,别问为什么,这很正常。那就乖乖对kext打补丁吧
复制代码


有些主板原生支持电源管理,则无需在DSDT添加相关代码【我的HM55可以】。如果需要使用NullCPUPowerManagement.kext或者删除AppleIntelCPUPowerManagement.kext【不推荐】才能进系统,那你就要在DSDT添加电源管理代码。还有三个情况要说明一下:1,如果添加代码后还不支持电源管理,貌似要对kext打补丁;2,很多华硕主板无法在DSDT找到相关字段添加代码,不知道华硕不支持电源管理还是怎样?我没接触过华硕主板,遇到这些问题自行搜索;3,现在论坛里有Speedstep补丁,貌似也可以通过那个补丁加载电源管理。总之,先判断主板是否原生支持电源管理,如果不行再住DSDT代码里添加代码,如果还不行,再使用补丁。【添加电源管理后也要把NullCPUPowerManagement.kext删除(否则还是无法加载电源管理),有删除AppleIntel。。的话,重新安装回去
  • 三,内建网卡
如果没有内建网卡,无法登陆App Store、FaceTime等

10.7会提示

内建网卡.png

10.8会提示

Snip20121117_5.png

可通过在org.chameleon.Boot.plist添加
  1.         <key>EthernetBuiltIn</key>
  2.         <string>Yes</string>
复制代码
解决该问题。如果使用DSDT内建网卡后,也要记得把該行代码删除。
但并不是所有主板都要手动添加内建网卡代码,我的原始DSDT已经有内建代码信息,不过内建名称不是GIGE,而是
  1.                  Device (PXSX)
  2.                 {
  3.                     Name (_ADR, Zero)
  4.                     Name (_PRW, Package (0x02)
  5.                     {
  6.                         0x09,
  7.                         0x04
  8.                     })
  9.                 }
复制代码
上面这段代码只是拿出来看一下!!!不是规范的内建代码,规范的内建代码请看附件里的word文档。内建网卡后



1. 删除/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist(显示隐藏文件,或者用前往方式)
2. 在系统设置偏好里/网络 里删除所有网络连接
3. 重新启动
4. 重新在系统设置偏好里/网络 里加所有网络连接

PS:USB网卡不能内建,如果不能驱动本地网卡(包括笔记本和台式机PCI无线网卡)并内建,意味着你永远无法登陆appstore。笔记本的话可以考虑换无线网卡,台式机考虑上一个PCI以太网卡或者无线网卡。只有这样才能解决appstore不能登陆的问题。



  • 四,加载仿冒声卡驱动

这个跟仿冒声卡有关,请自行查看集合帖有关仿冒声卡的帖子。如果你没使用仿冒声卡,无需在DSDT添加仿冒声卡代码。贴一个通用简洁的仿冒声卡代码【需稍作修改,该代码附件里也有】,切记添加该段代码不可与万能声卡共用!!否则会五国。

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"layout-id",
Buffer (0x04)
{
0x0D, 0x01, 0x00, 0x00 //此处值看附件具体介绍
},
"device-name",
Buffer (0x0F)
{
"Realtek ALC269"//此处名称自定义
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
  • 五,添加显卡信息,辅助驱动显卡

显卡信息代码不通用,这边不作具体介绍【很复杂,分A卡、N卡,就算同一个牌子的卡也有很多种代码】。不过希望各位推荐几篇通过DSDT来完美显卡的帖子【特别是N卡】,给新手来个传送门。

我先推荐我自己的一篇救助帖【只适于假免驱的A卡
ati 5XXX和6XXX免驱 但显卡名称不对,DVD意外退出的DSDT解决办法


  • 六,USB内建、解决硬盘橙色、关机断电等问题

因为USB内建、关机断电代码不通用,不一定能解决问题,这边也不作具体介绍,要解决这些问题到集合帖看相关帖子或者搜索,【本文只提通用的DSDT代码】关于解决硬件橙色问题,也自行搜索代码。


看完这些你就可以开始动手提取DSDT、修改DSDT了。不过在修改DSDT之前
建议先到http://www.tonymacx86.com/11-dsdt-database.html看是否有你主板的DSDT【一定要对应你的主板型号和BIOS版本,技嘉主板几乎都有】,如果有直接下载该DSDT来稍作修改。


虽说是视频教程,但也写了这么多文字。。。
关于视频,打算多演示几个修复DSDT错误,但一不小心录长了。另外个人能力有限,视频演示之内容可能有错,还请高手指出,如果视频和本帖内容有矛盾地方,以此贴内容为准。


推荐使用aida64extreme提取原始DSDT文件

aida64extreme、Java for Mac、DSDT工具【已经包含DSDT基本修改文档下载地址: 百度网盘
MultiBeast 下载:传送门


请使用本帖0.7版本的dsdt editor,在0.7编译没错的dsdt在0.8编译可能有错。还有,DSDT文件所在路径不能有中文】

DSDT Editor For win: DSDT Editor.zip (1.31 MB, 下载次数: 43515)
视频中的word文档下载: DSDT基本修改.zip (891.24 KB, 下载次数: 32740)



上视频。。该视频支持超清【720P】,请选择超清模式并全屏观看,否则看不清楚。



视频播放地址:  传送门

视频下载地址: QQ旋风  迅雷快传




后面楼层用于更新DSDT常见错误、警告及修复方法
更新方法:如果谁提取原始DSDT文件后按照视频或帖子里的方法
无法修复错误,可直接上传原始DSDT文件【acpi_dsdt.bin】,我会尽我最大努力修复错误。

但是给你们伸手的机会也要有前提:在此帖中本人只作原始DSDT文件修改,如果谁添加什么代码出错后再上传,我不会修改,因为我能力有限。还有,如果你真的要伸手,请确定你按照视频操作并且此贴也还没更新该错误的修改方法,你才可以上传附件让我帮你修改,如果视频中有提到或者此贴已经更新该错误,一率不理这些伸手党。给你们伸手的机会是为了让后面的人不用去伸手。
最后还
要说明的是:因个人能力、时间有限,肯定不能帮每个人修改DSDT。

今天写帖有点累了,后面慢慢更新一些DSDT常见错误修改方法。




























65

查看全部评分

Rank: 1

UID
4833888
帖子
7
PB币
0
贡献
0
技术
0
活跃
4
4575F
发表于 2017-12-5 09:34:00 IP属地河南 |只看该作者
学了好啊

Rank: 2Rank: 2

UID
2151683
帖子
225
PB币
0
贡献
0
技术
1
活跃
192
4574F
发表于 2017-11-23 17:29:27 IP属地北京 |只看该作者
学习一下~~~~

Rank: 2Rank: 2

UID
4811827
帖子
119
PB币
196
贡献
0
技术
0
活跃
560
4573F
发表于 2017-11-18 12:36:24 IP属地天津 |只看该作者
修改等基础视频教

Rank: 1

UID
581074
帖子
68
PB币
121
贡献
0
技术
0
活跃
51
4572F
发表于 2017-11-13 18:41:11 IP属地山东 |只看该作者
好详细的教程,学习了

Rank: 2Rank: 2

UID
3884588
帖子
145
PB币
6
贡献
0
技术
2
活跃
145
4571F
发表于 2017-11-9 10:43:18 IP属地天津 |只看该作者
学习了
正好需要

Rank: 2Rank: 2

UID
4817684
帖子
162
PB币
149
贡献
0
技术
0
活跃
197
4570F
发表于 2017-11-8 22:23:20 IP属地广西 |只看该作者
支持楼主!!!!

Rank: 2Rank: 2

UID
4817684
帖子
162
PB币
149
贡献
0
技术
0
活跃
197
4569F
发表于 2017-11-8 22:22:57 IP属地广西 |只看该作者
终于找到一个带视频的贴了

Rank: 2Rank: 2

UID
4827630
帖子
108
PB币
332
贡献
0
技术
0
活跃
133
4568F
发表于 2017-10-25 19:11:13 IP属地陕西 来自手机 |只看该作者
谢谢楼主,学习了

Rank: 2Rank: 2

UID
4827630
帖子
108
PB币
332
贡献
0
技术
0
活跃
133
4567F
发表于 2017-10-25 09:35:19 IP属地陕西 |只看该作者
楼主学习了,谢谢

Rank: 1

UID
4820168
帖子
41
PB币
18
贡献
0
技术
0
活跃
68
4566F
发表于 2017-10-21 13:21:42 IP属地重庆 |只看该作者
楼主好人感谢了

Rank: 7Rank: 7Rank: 7

UID
1029664
帖子
1708
PB币
3593
贡献
0
技术
4
活跃
906
4565F
发表于 2017-10-21 11:21:57 IP属地天津 |只看该作者
楼主厉害啊

Rank: 1

UID
2657051
帖子
78
PB币
16
贡献
0
技术
0
活跃
148
4564F
发表于 2017-10-11 21:41:25 IP属地江苏 |只看该作者
帮忙看看这个ssdt怎么改

Rank: 1

UID
4673205
帖子
34
PB币
4
贡献
0
技术
0
活跃
43
4563F
发表于 2017-10-11 14:33:17 IP属地浙江 |只看该作者
很不错的知识,爬楼中。。。

Rank: 2Rank: 2

UID
639283
帖子
484
PB币
126
贡献
0
技术
0
活跃
388
4562F
发表于 2017-10-9 16:42:15 IP属地陕西 |只看该作者

好教程,正需要呢

Rank: 2Rank: 2

UID
4618944
帖子
203
PB币
329
贡献
0
技术
0
活跃
170
4561F
发表于 2017-10-8 12:39:35 IP属地柬埔寨 |只看该作者
精华帖必须顶,一直搞不懂这东西

Rank: 1

UID
3304600
帖子
97
PB币
65
贡献
0
技术
0
活跃
126
4560F
发表于 2017-10-1 21:29:23 IP属地河北 |只看该作者
这个视频去年看了,没弄过。今年再看!谢谢楼主!

Rank: 2Rank: 2

UID
4755326
帖子
220
PB币
34
贡献
0
技术
0
活跃
255
4559F
发表于 2017-9-30 10:57:42 IP属地上海 |只看该作者
谢谢楼主的教程和资源

Rank: 2Rank: 2

UID
215833
帖子
335
PB币
1382
贡献
0
技术
0
活跃
651
4558F
发表于 2017-9-29 22:44:08 IP属地上海 |只看该作者
真厉害。。小白学习了!!

Rank: 1

UID
3097070
帖子
80
PB币
1
贡献
0
技术
2
活跃
88
4557F
发表于 2017-9-28 19:10:34 IP属地北京 |只看该作者
谢谢楼主,学习了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛