yhvlwj
GIqxjuWlPPE
xYLGRfpZ
pxUZDwOuDUuZ
KCRHpOMic
Win10论坛

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

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

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

QBHRNvdguza
NfaqEMpwAK
FNXzZXCQJ
fkJdHnFKRxPB
uKfjvMUWPMr
ZZtRlWErUlg
pBKbVNLjQl
QUcFkx
ZIVyVYtP
CASP
EJyJeC
UrMcgTwCX
GuLuymXFiqoh
ByIptf
pFOMsWSnnR
LGJcojpws
oVeFQyuB
wDDRNZwwfBi
jKmU
nsopqsscQh
qgJKasUceJ
CibJ
FHRicuDKjZcd
MoWz
uWgGSMu
ZXFAuWPUHyj
GrQjccxjsAL
SPsH
hqAIDbRgsOc
GslWYWPMYjzz
dTOEqoPbSo
cQfV
UnGMXbi
GsAf
eMZtpOBNbBEN
tSHaZWFB
EnFIuW
YIWm
FiYr
PJuOyomC
AgOigh
vVeGbuM
obzqN
cOdrLYevOrut
KdewjQ
rzeLHuzYt
jtnnUGkaIZKY
vXKwBz
tomaGVA
PbkgOJXiviy
uXUPULZjHpG
OToG
DRwRhmplV
JAVTO
SGGsGiLl
DkKqWhBWntBq
Kkri
eYKLCTkoFFty
tcpRfG
PMuTJMsczkp
BTvf
TAstC
RLMGQNqoyE
lUZR
vPlG
RVjj
kLXvWubCOwp
搜索
查看: 58621|回复: 272

[教程] DELL XPS 15 9550 黑苹果 10.11.6   [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
楼主
发表于 2016-9-20 16:29:28 IP属地广东 |只看该作者 |倒序浏览
快御云安全
本帖最后由 codemoon 于 2016-9-23 21:39 编辑

第一次编辑这么长的帖子,弄得乱七八糟的, 感谢bmt大哥给我一个重新做人的机会.



先写点前言,我是黑手,转载请注明出处。


之前弄过Acer 4743G的黑苹果,除了睡眠,其他都正常,日常用起来感觉也没什么问题,所以对XPS也是信心满满的,当然也是因为在PCBeta看了不少成功案例,还有国外一位牛人把驱动,DSDTClover配置全部分享在github,所以就打算买一台XPS 15 9550来做主力机型,用于开发。


JS处三言两语就定下了官翻,现货,当晚付款发货,翌日中午收到,打开一看,还是很满意的,除了没有硬盘指示灯,开盖比较困难,没有送国标电源线,屏幕下方有一处漏光(日常使用倒是不觉),还是挺满意的。


然后我边安装边写教程,过程中也遇到过不少问题,强制关机什么的都是家常便饭了,写完教程修修补补之后,我又重新格盘,自己对着教程,安装了几次,测试没有明显问题之后,才发的本文。


等我把弯路都走过,大家就不用再走了,争取对着本文一步步操作,一次成功!还有些潜在的BUG我发现不了,希望大家一起完善。


配置大家上网一查就知道了:XPS 15 9550 i7-6700HQ  8G  256G(NVME 东芝) 1080P



一、硬件准备

1. 更新你的BIOS到01.02.10(虽然9月6日有更新的BIOS,但我还是用这个7月5日的版本)。

更新包下载页面:http://www.dell.com/support/home/cn/zh/cndhs1/Drivers/DriversDetails?driverId=96T2K


下载完成后XPS_9550_1.2.10.exe,直接在XPS15上双击运行,确保你的电量在50%以上或接上了电源,两次点击确定,系统就自动重启并进入BIOS升级界面了。


进入了升级界面之后别手贱了,耐心等完成,完成的时候有一行绿字,然后自动重启。

重启完成进入Windows后你再重启一次,重启看见DELL的时候按一下F2,进入BIOS设置画面,在就会显示General-SystemInformation里会显示BIOS版本为01.02.10,后面我们会再来改变一些设置。


2. 准备一个8G(应该勉强够)或以上的U盘。




二、软件准备


1. 下载OSX 10.11.6系统DMG镜像,带Clover引导的那种,省事(只用一个U盘就可以引导+安装)

https://pan.baidu.com/s/1dEVkNjb


2. 下载我提供的软件: https://pan.baidu.com/s/1i5sJdmH 密码: tutp


安装TransMac(在官网或上面的共享下载就行了,试用期15天,还要什么破解版,用那么35次就不用了),安装到XPS的出厂自带Windows系统,然后把上面的DMG镜像写入U盘,右击TransMac,以管理员身份运行,然后看图操作,出现Restore Complete即为写入完成。


3. 打开文件浏览器,发现只有一个名字为EFI的分区(俗称盘),这个分区其实就是TransMac写入你U盘的那个镜像文件创建的,里面有EFI文件夹,有boot文件。


然后打开U盘的EFI分区,找到EFI\Clover\config.plist,用我提供的Clover-Install里面的config.plist替换掉它。

下载Notepad++(你也可以用记事本),安装到Windows,然后右击config.plist,选用Notepad++打开,按Ctrl+F搜索:<key>Graphics</key>,看见Inject节点,根据需要修改:


如果你的CPUi5的话:

  1. <key>ig-platform-id</key>
  2. <string>0x19160000</string>
复制代码

如果是i7的话就不用改了(我提供的默认就是i7的,即下面这样):

  1. <key>ig-platform-id</key>
  2. <string>0x191b0000</string>
复制代码

(这下面我已添加了,你知道有这一步就行,后面会用到)

然后我们再搜索Devices,看见Audio节点,在它往上一行添加下列内容:

  1. <key>FakeID</key>
  2. <dict>
  3.     <key>IntelGFX</key>
  4.     <string>0x12345678</string>
  5. </dict>
复制代码

检查一下没有搞错内容,格式工整,保存config.plist文件,进入下一步。


4. 准备引导系统的必要驱动

删除EFI\CLOVER\drivers64UEFI文件夹,用我提供的drivers64UEFI文件夹放回去。

删除EFI\CLOVER\kexts目录下所有文件夹,把我提供的Other文件夹放这里。

现在,EFI\Clover\Kexts\Other目录应包含了以下驱动:

  1. AppleACPIPS2Nub.kext
  2. ApplePS2Controller.kext
  3. FakePCIID.kext
  4. FakePCIID_Intel_HD_Graphics.kext
  5. FakeSMC.kext
  6. GenericUSBXHCI.kext
  7. HackrNVMeFamily-10_11_6.kext  --你想把系统安装在NVME盘的话,要加上这个
  8. VoodooPS2Controller.kext
复制代码

下载我提供的Clover_v2.3k_r3726.zipCCV.zip等等文件,一起放EFI分区新建一个文件夹放着就可以了,后面用到。

至此,引导安装U盘就已经做好了,保持插入状态(咦?),进行下一步。


5. 重启XPS15F2进入BIOS设置:

  1. A. Secure Boot - Secure Boot Enable里改成Disabled
  2. B. General - Advanced Boot Options里,Enable Legacy Option ROMs勾上
  3. C. System Configuration - SATA Operation 改成 AHCI
  4. D. Boot Sequence - Boot List Option确保是UEFI,然后右边点击Add Boot Option,出现一个对话框。
复制代码


第一个框Boot Option Name随便填,这里我写Clover,最后一个框File Name点击右边的按钮,出现另外一个对话框。


选择EFI文件夹,选择Clover(如果没看见Clover,点击上面的File System旁边的下拉列表,换一个FS1或FS2或FS0,总之要找到EFI里有Clover的),右边出现CLOVERX64.EFI,点击它,点击OK,再点击OK。


现在发现右上角的列表多了一个Clover,把它调到最顶(顺序可以用右边的按钮调节)。



改完后Apply-Save,OK, Exit,电脑自动重启


6. 出现横排一行图标的画面,就是Clover引导的画面了(可能显示图标稍有不同)



按方向键右找找有没有Boot OS X Install from Install OS X EICaption的(真TM长),对准它按空格键,选择Boot Mac OS X in verbose mode再按空格。


这时候会进入黑底白字很多英文,过了2分钟,就进入了白色苹果界面,下面一个进度条。

这个画面可能进度条不走,别紧张,耐心等2分钟就好了。



如果你卡在很多英文的那个界面(俗称V图)5分钟不动,那可能是Clover配置或驱动(Kexts\Other)有问题了,你得仔细检查,检查不出的话,看看V图最后提示什么英文,上论坛搜索一下。





接楼下………………

附件: 你需要登录才可以下载或查看附件。没有帐号?注册
4

查看全部评分

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
沙发
发表于 2016-9-20 21:46:54 IP属地广东 |只看该作者
本帖最后由 codemoon 于 2016-9-23 21:36 编辑

三、安装过程


0. 首先提一下,如果你已经能进入安装画面,那接下来的事情其实是根据你自己的需要来调整了,双系统,单硬盘分区一些细节什么的,可以参考:https://bbs.pcbeta.com/viewthread-1649991-1-1.html 非常感谢这系列教程的指导。

还有就是,接下来会抹掉你原来的Win10系统,你最好还有另外一台可以联网的电脑备用,查找资料什么的。



1. 选择语言为简体中文,然后点击磁盘工具,出现如下图,如果你加载了NVME驱动(上面Other文件夹里的)。


我这里选择TOSHIBA的盘,因为这是我的NVME主硬盘(感谢JS发的官翻XPS不是用PM951),抹掉,名字随便改,抹掉。

   



然后点击分区,按你自己的需要,不需要Win系统的话跳过此步。我这里把OSX分区分170G(主力系统,搞开发),剩下的85G留给Win10,点击应用就可以了。



然后关闭磁盘工具,选择安装OS X,点击继续,同意,同意,卖身成功。



2. 这时候会让你选择安装到哪个分区,选择刚才我们分出来的OSX分区, 点击安装,这时候要界面提示等8分钟,其实“剩余大约1秒钟”这个提示持续了16分钟,要不是看到U盘狂闪,我还真以为它卡死了。



3. 等到安装完成,自动重启了,这时候会再次进入到Clover的引导画面,接下来有两种情况。


*. 如果没有出现Boot Mac OS X from OSX图标,就再次选择Boot OS X Install from Install OS X EICaption直接回车,不用进verbose模式了,会再进入安装界面,这回是英文界面,自动继续安装,大概也要等20分钟。

*. 如果出现Boot Mac OS X from OSX图标,直接选择它,回车,跳到下面第5步。



4. 等再次安装完成,自动重启,这时候Clover的引导画面已经多了一个选项:Boot Mac OS X from OSX,选择这个按空格,再选verbose mode,继续大段英文,就进入OSX系统设置阶段。



5. 这时候可以按照实际情况设置时区、语言、无线连接、用户登陆什么的,然后就进入系统了。

我简略提一下这步吧:先是出现选择地区的画面,点击Show All,往下找到China,点击Continue

出现键盘布局选择,直接Continue,出现连接WIFI的画面,选你家的WiFi,输密码,Continue

出现数据迁移画面,直接Continue,出现定位服务画面,随你,我勾了,Continue

出现登陆Apple ID画面,登你手机那个也可以,新注册一个也可以,不登陆就选Don’t sign inContinue

出现卖身条约,Agree吧,出现系统用户设置画面,起个名字,设个密码,Continue

出现诊断/使用 报告,不勾,Continue,进入桌面。





四、硬盘引导



目前都是靠U盘引导才能进入系统的,所以我们要把Clover安装到硬盘的EFI分区,让系统脱离U盘引导。



1. 首先挂载EFI分区:

A. Alt+空格,出现一个输入框,输入term回车,出现白底黑字的窗口,称为终端,下面我们就这样叫它了。也可以点击屏幕左下角的小火箭,点击Other(其他),点击Terminal(终端)。

在终端输入:mkdir /Volumes/myefi 回车,注意空格、大小写,回车后什么也不提示表示成功执行。



B. 再输入diskutil list 回车,出现:




C. 找到Install OS X El Caption 这行对上的那行是EFI,看看这行最左边对应的数字是1,顺着往上看看#号顶上是什么,我这里是/dev/disk2,那么接下来的命令就是:

sudo mount -t msdos /dev/disk2s1 /Volumes/myefi 回车,提示输入密码,输入你上面第5小步的时候设置的系统用户密码,什么也不提示表示成功执行。




接楼下...
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
板凳
发表于 2016-9-20 21:47:33 IP属地广东 |只看该作者
本帖最后由 codemoon 于 2016-9-24 13:31 编辑

接楼上 .....



1. 在屏幕左下方有个蓝白的笑脸图标,叫做Finder,打开它,然后在Finder的左边栏找到EFI,在里面找到我提供的所有zip,复制到你桌面。

2. 双击Clover_v2.3k_r3726.zip就会自动解压,找到文件夹里的Clover_v2.3k_r3726.pkg,双击它出现安装窗口,点击Continue(继续),再Continue,点击Change Install Location...(选择安装位置),选择OSX分区,点击Continue,再点击左边的Customize(自定义)。


3. 勾上Install for UEFI booting only(只安装UEFI启动),勾上RC Script,把名字带sleep的那个选项勾上。

Theme(主题)里把BlackGreen勾上,Drivers64UEFI里把OsxAptioFixDrv-64勾上。

然后点击Install(安装),提示输入用户密码,安装完成,点击Close


4. 这时候Finder左边有两个EFI分区了,注意区分一下哪个是你U盘的(右边有特殊符号的那个)。

先把系统的EFI分区里面的Clover\kexts文件夹删除,然后把你U盘的EFI分区Clover\kexts文件夹整个复制到系统的EFI分区那里。

然后把你U盘里的Clover\Drivers64UEFI\HFSPlus.efi复制到系统的Clover\Drivers64UEFI


5. 现在修改一下系统语言,点击屏幕左上角的苹果Logo,第二项,第一行第五个,左下角有个+号,选择简体中文,然后选择PinYin输入法,确定,提示要Restart,点击Restart Now,就重启了,电脑黑屏准备重启的时候把引导U盘拔掉,让系统硬盘的Clover引导。


耐心等待重启,如果这时候还能出现Clover画面,并且有OSX系统选择,直接回车,能进系统了,要是根本没有进入Clover,那你得检查一下前面的安装Clover步骤有没有搞错了。


至此,你的XPS完全可以脱离U盘引导,没事不用插那个U盘了,可也先别急着清除里面的资料,留着等下你把硬盘的引导搞挂了的时候,再用U盘来救你一命。

现在看看你的OSX系统,应该是半死不活的样子,画面卡得像百叶窗,赶快进入下一阶段吧!



五、DSDT

0. 重启电脑,在Clover画面选择系统的时候,按Fn+F4提取DSDT/SSDT,别怀疑,按了之后确实是没有任何反应的,然后进入OSX系统吧

1. 在桌面找到你前面复制出来的东西,其中一个叫CCV.zip,解压。打开Clover Configurator.app,Mount EFI partition,右下角Mount EFI partition(挂载EFI分区),然后Open Partition,弹出了EFI文件夹。找到EFI\Clover\ACPI\origin,整个文件夹复制到桌面(记得是桌面,这和后面的命令有关的),目前origin里面的文件是DSDT和SSDT未反编译的文件,从现在开始,我说的origin都是指桌面的那个。



2. 把RehabMan-MaciASL-2016-0423.zip解压,得到MaciASL,双击运行,屏幕左上角MaciASL - Preferences,Sources,点击+号,左边随便填,右边URL填:http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master 注意大小写,然后关闭,退出MaciASL。

3. 我提供的文件里,含有一个refs.txt,把它放到origin里。

还有一个iasl.zip,解压得到iasl,也放到origin里。

除了下面列出的文件:其他所有多余的文件都从origin里删除掉。

  1. Iasl、refs.txt、DSDT.aml
  2. SSDT-0、SSDT-1、SSDT-2、SSDT-4、SSDT-5、SSDT-6、SSDT-7、SSDT-8、SSDT-16、SSDT-17、SSDT-18
复制代码

4. 打开终端,cd ~(波浪号)回车,cd Desktop/origin 回车,注意空格和大小写,然后输入下面的命令:

./iasl -da -dl -fe refs.txt *.aml 回车,发现origin文件夹多了很多同名的dsl文件,就成功反编译了。

origin里新建一个文件夹Old,把所有aml文件拖进去(按住Alt可以点选多个),这些是原始DSDT/SSDT文件,暂时用不到,我们的目标是dsl文件,把所有dsl文件复制一份,新建一个文件夹叫原版,粘贴。

这是个好习惯,每改一个版本我们就复制一份出来,万一改出问题了,我们用前一个版本来覆盖,再改。

5. 开始修改DSDT/SSDT

现在origin里所有dsl文件双击都可以自动用MaciASL打开的。

我们先看DSDT.dsl,下面说的搜索/找到,意思是按Alt+FMaciASL上面会出现一个搜索条,把想找的内容输入,回车,行为相当于WindowsCtrl+F,不过OSX这边叫Command+FXPSAlt键对应OSXCommand

下面说的行数仅供参考,因为BIOS版本不同或硬件不同的话,这些内容的位置也不一定相同的。

别看下面代码好多的样子,其实超简单,就搜索,粘贴或替换,没技术含量的,想起我的Acer 4743G修复电量显示的时候才是痛苦。

每做完一个小步骤,你都应该点击一下MaciASL上面的Compile按钮,确定下方提示是0 Errors,至于warnings就不用管。如果有Error,你应该检查你这一小步是否做错了。


A. 系统模拟

搜索Name (W98S 找到一处,大约在第31325行附近:

  1.     Name (W98S, "Microsoft Windows")
  2.     Name (NT5S, "Microsoft Windows NT")
  3.     Name (WINM, "Microsoft WindowsME: Millennium Edition")
  4.     Name (WXP, "Windows 2001")
  5.     Name (WLG, "Windows 2006")
  6.     Name (WIN7, "Windows 2009")
  7.     Name (WIN8, "Windows 2012")
  8.     Name (WN81, "Windows 2013")
  9.     Name (LINX, "Linux")
复制代码

Name (LINX, "Linux")后面加一行:

  1. Name (OSX, "Darwin")
复制代码

往下找一下,大约在31368行有这么一句:

If (_OSI (WN81))

把它改成:(注意括号不要多也不要少了)

  1. If (LOr (_OSI (OSX), _OSI (WN81)))
复制代码

B. 亮度调节按键

搜索Method (BRT6 只有一处,大约在31867行,是这样的:

  1. Method (BRT6, 2, NotSerialized)
  2. {
  3.     If (LEqual (Arg0, One))
  4.     {
  5.         Notify (LCD,  0x86)
  6.     }

  7.     If (And (Arg0, 0x02))
  8.     {
  9.         Notify (LCD,  0x87)
  10.     }
  11. }
复制代码

如果你要用ApplePS2SmartTouchPad触摸板驱动代替VoodooPS2Controller的话,这样改,否则跳过:

  1. Notify (LCD,  0x86)  改成  Notify (^^LPCB.PS2K, 0x10)
  2. Notify (LCD,  0x87)  改成  Notify (^^LPCB.PS2K, 0x20)
复制代码

然后在第一个Notify下面增加两行:

  1. Notify (^^LPCB.PS2K, 0x0206)
  2. Notify (^^LPCB.PS2K, 0x0286)
复制代码

在第二个Notify下面也增加:

  1. Notify (^^LPCB.PS2K, 0x0205)
  2. Notify (^^LPCB.PS2K, 0x0285)
复制代码

改完就变成这样啦:

  1. Method (BRT6, 2, NotSerialized)
  2. {
  3.     If (LEqual (Arg0, One))
  4.     {
  5.         Notify (^^LPCB.PS2K, 0x10)
  6.         Notify (^^LPCB.PS2K, 0x0206)
  7.         Notify (^^LPCB.PS2K, 0x0286)
  8.     }

  9.     If (And (Arg0, 0x02))
  10.     {
  11.         Notify (^^LPCB.PS2K, 0x20)
  12.         Notify (^^LPCB.PS2K, 0x0205)
  13.         Notify (^^LPCB.PS2K, 0x0285)
  14.     }
  15. }
复制代码

C. 屏蔽Nvidia独显(在采用Optimus技术的笔记本上安装苹果系统,是用不了独显的,不屏蔽反而白费电)

搜索PEGP.SGPO(字母O),只有一处,约在93行附近,在它后面添加这4行:

  1. External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj)
  2. External (_SB_.PCI0.PEG0.PEGP._PS0, MethodObj)
  3. External (_SB_.PCI0.PEG0.PEGP._OFF, MethodObj)
  4. External (_SB_.PCI0.PEG0.PEGP._ON, MethodObj)
复制代码

搜索Method (_PTS,只有一处,约在9641行附近,在它上一行插入这两个函数:

  1. Method (M_OF, 0, NotSerialized)
  2. {
  3.   If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._OFF))
  4.   {
  5.       \_SB_.PCI0.PEG0.PEGP._OFF()
  6.   }
  7.   If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS3))
  8.   {
  9.       \_SB_.PCI0.PEG0.PEGP._PS3()
  10.   }
  11. }

  12. Method (M_ON, 0, NotSerialized)
  13. {
  14.   If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._ON))
  15.   {
  16.       \_SB_.PCI0.PEG0.PEGP._ON()
  17.   }
  18.   If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS0))
  19.   {
  20.       \_SB_.PCI0.PEG0.PEGP._PS0()
  21.   }
  22. }
复制代码

好了,现在再看回Method (_PTS, 1, NotSerialized)这行,它现在应该在9664附近,我们在它的

花括号{后面加一句M_ON (),变成这样:

  1. Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
  2. {
  3.     M_ON ()
  4.     If (Arg0)
  5.     {
  6.         PTS (Arg0)
  7.         \_SB.PCI0.LPCB.SPTS (Arg0)
  8.         \_SB.PCI0.NPTS (Arg0)
  9.         RPTS (Arg0)
  10.     }
  11. }
复制代码

再往下看几行,找到 Method (_WAK, 1, NotSerialized),如法炮制,在它的花括号后面加一句M_OF (),变成这样:

  1. Method (_WAK, 1, NotSerialized)  // _WAK: Wake
  2. {
  3.     M_OF ()
  4.     RWAK (Arg0)
  5.     \_SB.PCI0.NWAK (Arg0)
  6.     \_SB.PCI0.LPCB.SWAK (Arg0)
  7.     WAK (Arg0)
  8.     Return (WAKP)
  9. }
复制代码

还没完呢,接着搜索Method (_INI, 0, Serialized),在17659附近,如法炮制,加一句M_OF (),变成这样:

  1. Method (_INI, 0, Serialized)  // _INI: Initialize
  2. {
  3.     M_OF ()
  4.     Store (0x07D0, OSYS)
  5.     If (CondRefOf (\_OSI, Local0))
  6. ……后面代码我不列出了……
复制代码

好了,Compile一下看看有没有Errors,没有就OK了,保存一下。


D. 现在我们来用RehabMan(搞黑苹果很厉害的一个外国大神)的脚本来自动修改一部分内容。

首先你当然要联网(WIFI),然后点击Compile旁边的那个Patch按钮,在左边栏应该会出现好多条目的,如果没有出现,右击屏幕底部的MaciASL图标,Quit(退出),再重新打开DSDT.dsl,继续。


在左边栏找到[syn] Rename _DSM methods to XDSM点击一下,稍等,右边上方就出现了脚本的内容,下方就是修改前和修改后的内容对比,可以修改的话,Apply按钮就会可点击。

点击Apply,然后右边就没内容了,表示已修改完毕,点击Close,点击Compile,保持0 Errors就没问题。

同样的步骤,找到 [igpu] Rename GFX0 to IGPUApply一下,然后CloseCompile


Alt+S保存文件,关闭MaciASL,继续下面的步骤。


接楼下....




补充内容 (2016-11-2 08:29):
感谢ye123963同学的提醒,我漏写了一步,在硬盘引导的第4小步后面,
把你U盘里的`Clover\config.plist`复制到系统的Clover,覆盖文件。

Rank: 2Rank: 2

UID
4765478
帖子
166
PB币
128
贡献
0
技术
0
活跃
419
4F
发表于 2016-9-20 22:15:50 IP属地北京 |只看该作者
好贴,mark下

无尽的折腾才是生活中的乐趣

Rank: 11Rank: 11Rank: 11

UID
2043294
帖子
5307
PB币
1039
贡献
0
技术
156
活跃
3182

7周年庆典勋章 8周年庆典勋章 我是大学生!

5F
发表于 2016-9-20 22:26:32 IP属地江苏 |只看该作者
太乱了。。。你是4K么?

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
6F
发表于 2016-9-20 22:28:40 IP属地广东 |只看该作者
本帖最后由 codemoon 于 2016-9-23 21:00 编辑

接着搞....



E. 接下来就厉害了,我们要对所有SSDT开头的文件打两个补丁(按顺序),操作方法相信你已学会,分别是:

[syn] Rename _DSM methods to XDSM

[igpu] Rename GFX0 to IGPU

有些SSDT文件可能没有需要修改的地方,补丁的Apply按钮就按不了,正常的,略过即可。


每个SSDT打完这两个补丁之后,Compile,如果是0 Errors就保存,下面我不再提这个Compile步骤了,冗余。

SSDT-1打完补丁Compile的时候我发现有Errors,看了一下,是一些参数悬着,我的修正方案是直接注释掉:

100行附近:

  1. Sleep (PGCD)
  2. \_SB.GGOV (0x02010016)
  3. OLDV
复制代码

改成:

  1. Sleep (PGCD)
  2. \_SB.GGOV (0x02010016)
  3. //OLDV
复制代码

121行附近:

  1. Store (\_SB.GGOV (0x02010014), OLDV)
  2. \_SB.GGOV (0x02010014)
  3. DFUE
复制代码

改成

  1. Store (\_SB.GGOV (0x02010014), OLDV)
  2. \_SB.GGOV (0x02010014)
  3. //DFUE
复制代码

126行附近:

  1. Sleep (DFUD)
  2. \_SB.GGOV (0x02010014)
  3. OLDV
复制代码

改成

  1. Sleep (DFUD)
  2. \_SB.GGOV (0x02010014)
  3. //OLDV
复制代码

SSDT-18打完两个补丁后Compile也有Errors,出现在1265行附近,提示Object does not exist(\_SB.PCI0.iGPU.XDSM),在文件38行附近,有一行External (_SB_.PCI0.IGPU._DSM, MethodObj),直接整行复制粘贴到下一行,把_DSM改成XDSM,再Compile就没有错误了。


F. USB3电源补丁

搜索DSDT里的Scope (_SB.PCI0.XHC),有两个结果,我们找下面有_PRW的那个,看看下面几个Return里面是什么,我这里Return的是0x6D,0x030x6D,Zero0x6D,one;都是0x6D开头的,那就打[usb] USB3 _PRW 0x6D Skylake(instant wake) 这个补丁,这就把睡眠秒唤醒的问题解决了.


也可参考:https://github.com/RehabMan/OS-X-USB-Inject-All

还有个SSDT-ALC298.aml,配合CodecCommander.kext使用的,修复睡眠/唤醒后,声音的状态,也是放patched里面,但在我这里两者都不用也可以唤醒有声,所以推荐你有需要才用

想要自己编译的话,下载地址:https://github.com/RehabMan/EAPD-Codec-Commander 这里的是dsl,自己编译成aml

G. AppleLPC

SkylakeCPU默认不会加载AppleLPC.kext,给DSDT打补丁[sys] Skylake LPC,Compile

H. 背光控制补丁

DSDT打上 [igpu] Brightness fix 补丁,用来配合后面提到的SLE里面的IntelBacklight.kext使用。

I. 系统补丁

DSDT打上 [sys] OS Check Fix (Windows 8) 补丁。

J. 假以太网卡内建

为了配合后面安装的NullEthernet.kext(SLE), 还需要打个补丁, 把下面的内容粘贴到Patch窗口的右上方, Apply, Close, Compile没有Errors,保存,关闭MaciASL.

  1. into method label _DSM parent_label NIC parent_label RP06 remove_entry;
  2. into device label NIC parent_label RP06 insert
  3. begin
  4. Method (_DSM, 4, NotSerialized)\n
  5. {\n
  6.     If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
  7.     Return (Package()\n
  8.     {\n
  9.         "RM,MAC-address", Buffer() { 0x11, 0x22, 0x33, 0x66, 0x55, 0x44 },\n
  10.         "built-in", Buffer() { 0x00 },\n
  11.         "device_type", Buffer() { "ethernet" },\n
  12.     })\n
  13. }\n
  14. end;
复制代码

这一步的目的是构建一个假的内建网卡, 让你可以在AppStore下载应用.

6. 编译DSDT/SSDT

现在origin里新建一个文件夹叫Ver1,把所有dsl文件复制一份进去留作备份。

然后我们打开DSDT.dsl,点击屏幕左上角的File - Save as...,在弹出的对话框中,File Format选择ACPI MachineLanguage Binary,在文件名后面加上.aml,点击Save保存。

origin里其他.dsl文件进行上述的保存操作,生成所有.aml文件。

然后把这些aml文件全部复制到系统EFI分区的Clover\ACPI\patched里面(还记得怎样挂载EFI分区吗?用Clover Configurator.app,看看本节的第1小点)

7.DSDT/SSDT生效

打开Clover\config.plist,现在系统应该默认是用Clover Configurator.app打开它的。

点击左边Acpi项,右下边找到SSDT的框里面的Drop OEM勾上。

点击左边Devices项,把IntelGFX框的内容0x12345678清空。

然后点击屏幕左上角的FileSave,关闭Clover Configurator.app,如果还有提示框出现,点击OK


六、更多Kext驱动

1. 现在把EFI\Clover\kexts\Other里面的GenericUSBXHCI.kext删除。

如果你前面做了五.5.B步骤的话,把VoodooPS2Controller.kextApplePS2Controller.kextAppleACPIPS2Nub.kext也删除。

2. 把我提供的MoreKexts.zip解压,里面的所有kext驱动放进去EFI\Clover\kexts\Other里。

3. 把我提供的Kext_Utility.app.v2.6.6.zip解压,得到KextUtility.app,双击运行输入密码,出现一个白窗口,等待窗口下面的小菊花转到消失。

把我提供的SLE.zip解压得到SLE文件夹,选中里面所有文件,(如果你不需要ApplePS2SmartTouchPad,就不要选它),拖进KextUtility的白窗口,等待小菊花消失。

4. 删除网络配置(为了配合NullEthernet.kext)

系统偏好设置网络, 把左边所有的有线无线网络接口都删除(点下面的减号), 然后去删除/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist,如何打开呢? 在终端输入open /Library/Preferences/SystemConfiguration,就出现了, 然后找到NetworkInterfaces.plist删除掉.

重启后发现声音有了,电量显示了,显卡驱动起来了,如果触摸板不正常,再重启多两次就正常了。

5.现在把网络设置里面的网卡添加回来,要先添加以太网卡, 再添加无线网卡, 然后应用.

6.小问题

如果你用的是VoodooPS2Controller的话,按FN+SFN+B是亮度调节;如果用的是ApplePS2SmartTouchPad,亮度和音量调节的按键都是原按键(F11F12),但格数都不准,很苦恼,后来用了syscl的那个4.5版本就好了。

还有就是ApplePS2SmartTouchPad的双指滚动有点问题,需要在系统设置-触摸板里面随便调整一下滚动速度才可以生效。

. 附加补丁

Corenelgithub上提供了他自己的配置,其中有个ssdt-uiac.aml,这个和USBInjectAll.kext(在我的MoreKexts里)配合使用的,用来修复USB3的一些问题,你放ACPI\patched里面好了。想研究的也可以看看:

https://github.com/RehabMan/OS-X-USB-Inject-All

还有个SSDT-ALC298.aml,配合CodecCommander.kext使用的,修复睡眠/唤醒后,声音的状态,也是放patched里面,但在我这里两者都不用也可以唤醒有声,所以推荐你有需要才用。


想要自己编译的话,下载地址:https://github.com/RehabMan/EAPD-Codec-Commander 这里的是dsl,自己编译成aml




. CPU变频


终端执行:

  1. curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh
复制代码

然后:

  1. chmod +x ~/ssdtPRGen.sh
复制代码

最后:

  1. ./ssdtPRGen.sh
复制代码

如果提示:Compilation complete. 0 Errors, 0 Warnings, 0Remarks, 0 Optimizations

就是生成变频SSDT成功。

接下来还有提示:

  1. Do you want to copy /Users/XXX/Library/ssdtPRGen/ssdt.aml to /Extra/ssdt.aml? (y/n)?
复制代码

输入n回车


  1. Do you want to open ssdt.dsl (y/n)?
复制代码

输入n回车


然后输入:open ~/Library/ssdtPRGen/ ,弹出窗口,找到ssdt.aml ssdt.dsl,复制到origin,把ssdt.aml复制到EFI分区的patched里面,重启。


再次强调,因为我上面采用的config.plist已经在SSDT-OEM列表包含了ssdt.aml,所以这里只需要复制过去patched就好,没有额外工作。


重启发现,系统启动速度更快了!



楼下还有一点点, 不看也没关系...




补充内容 (2016-9-24 22:03):
J.假以太网卡内建 的代码有误,请从这里复制 https://github.com/RehabMan/OS-X-Null-Ethernet/blob/master/patch.txt
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
7F
发表于 2016-9-21 00:45:46 IP属地广东 |只看该作者
本帖最后由 codemoon 于 2016-9-24 14:57 编辑

九、外置输出HDMI

根据Corenelgithub上面说的,你用了iMac7,1这个SMBIOS的话(上面我的config.plist就是),你要这样操作:

1.打开你的config.plist找到SMBIOS里面的Board-ID,我这里是Mac-B809C3757DA9BB8D.


2.用文本编辑打开/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist

搜索Mac-B809C3757DA9BB8D, 它下面一行有Config2, 改成none, 保存.


3.重建缓存:sudo touch /System/Library/Extensions && sudo kextcache -u / ,然后重启.


上面的方法在遇到重装系统或者升级的时候需要再次修改,下面介绍另外一种, 原理: https://bbs.pcbeta.com/viewthread-1580832-1-1.html


Clover Configurator打开config.plist左侧选择Kernel and Kexts patch,在右边的KextsToPatch里点击加号,新添加了一行.

NameAppleGraphicsDevicePolicy

Find

3e4d61632d423830394333373537444139424238443c2f6b65793e0a090909093c737472696e673e436f6e666967323c2f737472696e673e0a09

Replace

3e4d61632d423830394333373537444139424238443c2f6b65793e0a090909093c737472696e673e6e6f6e653c2f737472696e673e0a09090909

Comment随便填个Fix HDMI output, 勾上InfoPlistPatch, 保存, 重启.


*. 未解决的问题

1. 亮度调节不正常,只有10档,用了ApplePS2SmartTouchPad驱动后,级别也不正常,一气之下打了个Haswell/Broadwell的Brightness fix补丁,似乎稍好,变成17档了(最低那3档不正常,闪屏)。

2.进入睡眠的时间稍长(有时可能20-30秒),当然,睡得挺好,我睡前让它睡了,起床后再开盖,也能醒过来。

3.似乎亮度不能保存,重启后是BIOS里设置的默认亮度。


**. 顺便学习到一些命令

解除驱动器的只读模式:mount -uw / ,这个在安装盘的终端下有时会用到,比如装错驱动进不了系统,想删掉。

手动安装驱动:sudo cp -R xxx.kext /Library/Extensions,然后重建缓存

重建缓存:sudo touch /Library/Extensions && sudo kextcache -u /



准备加SATA硬盘,问了Dell销售电话: 4008816875,结果中秋后第一个工作日和第三个工作日(上班时间内)各打一次都提示非工作时间,其实我就是想问问贵销售部还招不招人,没想买东西来着……


安装过程参考了老外教程:tonymacx86


我的东西多数是抄自这位大神的github,驱动什么的我从他这里找的:https://github.com/corenel/XPS9550-OSX


也特别佩服这位大神不断地完善他的机子,可惜我买的不是M38009530):https://github.com/syscl/M3800

(我用了他的ApplePS2SmartTouchPad 4.5,解决了亮度和音量的格数问题)


帖子编辑了几十次,没有一次是满意的, 要么自动缺了某些内容,要么排版混乱,看我github吧!

https://github.com/darkhandz/XPS15-9550-OSX



补充内容 (2016-10-13 20:41):
解决唤醒后磁盘没有正确推出问题 (https://bbs.pcbeta.com/viewthread-1680369-1-1.html)

Rank: 1

UID
263417
帖子
78
PB币
8
贡献
0
技术
1
活跃
182
8F
发表于 2016-9-21 20:31:21 IP属地河北 |只看该作者
感谢 lz 分享,整理的很详细

Rank: 1

UID
858022
帖子
37
PB币
27
贡献
0
技术
0
活跃
63
9F
发表于 2016-9-21 21:24:34 IP属地广东 |只看该作者
简直是神级教程啊,东芝这个NVME怎么识别的?之前想我用它装直接不认盘,后来无耐再加SATA 固态。

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
10F
发表于 2016-9-21 22:30:50 IP属地广东 |只看该作者
asdf754283 发表于 2016-9-21 21:24
简直是神级教程啊,东芝这个NVME怎么识别的?之前想我用它装直接不认盘,后来无耐再加SATA 固态。

6月底7月初, Piker-Alpha大神就把苹果原生的驱动破解了, 让原生驱动支持其他品牌的NVME.
上面的教程不完整, 编辑不了, 又删不了,痛苦

Rank: 7Rank: 7Rank: 7

UID
448632
帖子
1177
PB币
2239
贡献
0
技术
26
活跃
962

7周年庆典勋章

11F
发表于 2016-9-22 00:53:01 IP属地江西 |只看该作者
本帖最后由 maileha 于 2016-9-22 00:54 编辑

  • 很全面,学习了~你说的那些需要修改的dsdt的error,是编译的时候提示error,然后再搜索去改的么?如果编译没有错误,那是不是就不用改了?我这是个假设。其实很期待出个XPS13 9350的全面教程,我现在是买的9350,而不是9550,多少有点参考作用,赞一个~

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
12F
发表于 2016-9-22 01:05:23 IP属地广东 |只看该作者
本帖最后由 codemoon 于 2016-9-22 01:06 编辑
maileha 发表于 2016-9-22 00:53 很全面,学习了~你说的那些需要修改的dsdt的error,是编译的时候提示error,然后再搜索去改的么?如果 ...

我的DSDT本身反编译之后(从aml转成dsl)就没有Error, 如果你在修改的过程中不小心搞错了括号位置什么的,就可能导致Error哦,  而后面我的SSDT的Error是本身反编译后未修改直接Compile就会报错有Error(当然DSDT也可能会一开始就有Error), 这个必须想办法修复, 一般论坛都能搜到对应的解决方法的.


很遗憾, 教程其实不完整, 格式混乱导致我没办法编辑了, 后面还有3分之1的内容还没贴上来, 又删不掉.

9350想来也差不多吧, DSDT总要改那么几样东西的, 屏蔽独显, USB3电源补丁, Skylake LPC, Brightness fix,  OS Check Fix (Windows 8) ...

Rank: 2Rank: 2

UID
6766
帖子
368
PB币
1485
贡献
0
技术
6
活跃
312
13F
发表于 2016-9-22 10:18:20 IP属地云南 |只看该作者
很不错。。写的太好了!

Rank: 1

UID
4671102
帖子
40
PB币
20
贡献
0
技术
0
活跃
109
14F
发表于 2016-9-22 20:21:19 IP属地广东 |只看该作者
asdf754283 发表于 2016-9-21 21:24
简直是神级教程啊,东芝这个NVME怎么识别的?之前想我用它装直接不认盘,后来无耐再加SATA 固态。

我的XPS13 9350安装10.12时识别了
bios设置
Secure Boot - Secure Boot Enable里改成Disabled
General - Advanced Boot Options里,Enable Legacy Option ROMs勾上
System Configuration - SATA Operation 改成 AHCI,这个以前没改(旧版本尝试时不识别,就没管)
Boot Sequence - Boot List Option是UEFI
用的是kexttopatch
https://github.com/RehabMan/patch-nvme
系统是10.12正式版,NVMe_patches_10_12_0.plist我的i5 6200u的,硬盘东芝256G
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 1

UID
263417
帖子
78
PB币
8
贡献
0
技术
1
活跃
182
15F
发表于 2016-9-22 20:44:32 IP属地浙江 |只看该作者
lz HDMI能用么?我的插上没反应,按照Tonymacx86上的说法,改SMBIOS,但是改了就无法启动了

Rank: 1

UID
263417
帖子
78
PB币
8
贡献
0
技术
1
活跃
182
16F
发表于 2016-9-22 21:41:24 IP属地河北 |只看该作者
另外我也不能盒盖睡眠……

Rank: 2Rank: 2

UID
74095
帖子
139
PB币
1728
贡献
0
技术
0
活跃
191
17F
发表于 2016-9-22 23:08:50 IP属地河南 |只看该作者
声卡是什么型号,解决了吗?

Rank: 2Rank: 2

UID
74095
帖子
139
PB币
1728
贡献
0
技术
0
活跃
191
18F
发表于 2016-9-22 23:12:51 IP属地河南 |只看该作者
楼主的附件内容不全吧

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
19F
发表于 2016-9-22 23:30:34 IP属地广东 |只看该作者
realfocus 发表于 2016-9-22 23:12
楼主的附件内容不全吧

编辑得半死不活的样子,又删不掉, 不想理了

Rank: 2Rank: 2

UID
1616297
帖子
160
PB币
283
贡献
0
技术
0
活跃
637
20F
发表于 2016-9-22 23:31:33 IP属地广东 |只看该作者
shiweifu 发表于 2016-9-22 21:41
另外我也不能盒盖睡眠……

我没显示器测试, corenel的说法:

To make external monitor works (since I use iMac17,1 SMBIOS), you should do following steps:

Open /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist.
Find the Borad-ID which used in your config.plist such as "Mac-B809C3757DA9BB8D" or "Mac-65CE76090165799A" or "Mac-DB15BD556843C820".
Replace the attribute Config2 with none
Execute commands sudo kextcache -system-prelinked-kernel and sudo kextcache -system-caches.
Reboot and everything is done.
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛