- 积分
- 284
- 最后登录
- 2024-4-30
- 精华
- 0
- 阅读权限
- 30
- 主题
- 6
- UID
- 4534443
- 帖子
- 634
- PB币
- 1627
- 威望
- 5
- 贡献
- 0
- 技术
- 3
- 活跃
- 2175
- UID
- 4534443
- 帖子
- 634
- PB币
- 1627
- 贡献
- 0
- 技术
- 3
- 活跃
- 2175
|
4F
发表于 2016-6-7 13:55:05
IP属地天津
|只看该作者
本帖最后由 alienwareerazer 于 2016-6-9 12:33 编辑
第三步:完善OSX系统,运行EI Capitan
这几项问题的解决要靠给DSDT、SSDT打补丁和安装驱动协同工作来解决。DSDT和SSDT是ACPI规范描述表,可以看作类似BIOS的功能(苹果的BIOS不太一样),这里面最复杂的是DSDT和SSDT打补丁,要展开的话篇幅太大,只能简单把要点和顺序说一下:
1、准备DSDT和SSDT打补丁工作环境:在MAC里下载并安装好编译与反编译软件iasl和打补丁软件MaciASL
2、提取XPS9550上的DSDT和SSDT表:可以用原来做好的OSX安装U盘,按F4,提取机子的DSDT和SSDT文件(aml二进制码文件格式)到OSX安装U盘里的ACPI-》origin文件夹里,拷贝保存DSDT和SSDT开头的文件备用
3、用文本编辑器创建文件名为refs.txt的文本文件,文本内容如下保存备用
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB_.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB_.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_SB.PCI0.SAT1.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
4、用iasl对上一步得到的DSDT和SSDT文件进行反编译,命令如下:
iasl -da -dl -ferefs.txt *.aml
得到和DSDT、SSDT开头文件名一一相对应的ASL文件
5、用MaciASL的patch和编辑功能对DSDT.ASL文件操作
a、用patch功能打如下补丁:
"Rename _DSM methods toXDSM"
"Rename GFX0 to IGPU"
b、用编辑功能
在这些代码
Name (W98S,"Microsoft Windows")
Name (NT5S,"Microsoft Windows NT")
Name (WINM,"Microsoft WindowsME: Millennium Edition")
Name (WXP,"Windows 2001")
Name (WLG,"Windows 2006")
Name (WIN7,"Windows 2009")
Name (WIN8,"Windows 2012")
Name (WN81,"Windows 2013")
Name (LINX, "Linux")
后面添加代码
Name (OSX, "Darwin")
C、查找代码
If (_OSI (WN81))
替换为
If (LOr (_OSI (OSX), _OSI (WN81)))
d、添加外部定义代码:
External(_SB_.PCI0.PEG0.PEGP._PS3, MethodObj)
External (_SB_.PCI0.PEG0.PEGP._PS0,MethodObj)
External(_SB_.PCI0.PEG0.PEGP._OFF, MethodObj)
External(_SB_.PCI0.PEG0.PEGP._ON, MethodObj)
e、添加M_OFFand M_ON methods:
Method (M_OFF, 0, NotSerialized)
{
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._OFF))
{
\_SB_.PCI0.PEG0.PEGP._OFF()
}
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS3))
{
\_SB_.PCI0.PEG0.PEGP._PS3()
}
}
Method (M_ON, 0, NotSerialized)
{
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._ON))
{
\_SB_.PCI0.PEG0.PEGP._ON()
}
If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS0))
{
\_SB_.PCI0.PEG0.PEGP._PS0()
}
}
f、给_PTS _WAK _INI添加上面的两个method,如下:
Method (_PTS, 1,NotSerialized) // _PTS: Prepare To Sleep
{
M_ON ()
.........
}
Method (_WAK, 1, Serialized)
{
M._OFF()
......
}
Method (_INI, 0, NotSerialized)
{
M_OFF()
Store (0x07D0, OSYS)
If (CondRefOf (\_OSI, Local0))
{
If (_OSI ("Linux"))
{
Store (0x03E8, OSYS)
}
.......
}
都做好后,用MaciASL编译一下看有没错误(警告不理会),没错误的话,用iasl编译为新的DSDT.aml。DSDT打补丁工作结束。
6、 用MaciASL的patch功能对所有以SSDT开头的ASL文件打如下补丁
"Rename _DSM methods toXDSM"
"Rename GFX0 to IGPU"
"Cleanup/Fix Errors(SSDT)"
然后用iasl对每个打好补丁的SSDT开头ASL文件编译为对应的aml文件。
把打好补丁的DSDT和各个SSDT开头的aml文件放到OSX磁盘EFI分区的clover-》ACPI-》patched文件夹里,并在config.plist的ACPI下添加代码
<key>DropOem</key>
<true/>
使这些aml文件生效。
给iokit打补丁完美驱动4K高清屏
启动XPS9550,进入OSX系统后打开终端工具并输入命令:
git clone https://github.com/the-darkvoid/XPS9530-OSX.git
下载完成后再输入
./XPS9530.sh --patch-iokit
然后把如下驱动放到clover里:
BrcmFirmwareData 蓝牙驱动
BrcmPatchRAM2 蓝牙补丁
VoodooHDA 声卡仿冒驱动
ACPIBatteryManager ACPI电源管理驱动
FakePCIID 使下面的intel集显生效的驱动
FakePCIID_Intel_HD_Graphics Intel集显驱动
VoodooPS2Controller.kext 键盘触摸板驱动
FakeSMC.kext 这个弄过黑苹果的都知道
NVMeGeneric.kext Nvme驱动,若你不使用NVMe SSD,这个就不用了
删除SATA-100-series-unsupported.kext 主板驱动,这个DSDT打好补丁就不需要了。
在S/L/E里安装下面的驱动(这个驱动只能在这里才能正常工作)
IntelBacklight
用clover configrator修改config.plist里smbios区域的mac配置内容,建议按MacBook9,1或iMac17,1来设置,这是目前苹果在售的和XPS 9550一样使用6代Skylake CPU的产品。
注:XPS 9550安装OSX打补丁步骤参考贴:http://www.tonymacx86.com/thread ... clover-uefi.192598/重启,以重新配置的系统磁盘EFI分区的clover引导OSX,登录,然后你会发现一个和本帖开头一样COOL的EI Capitan展现在你面前!
|
|