戴尔黑苹果系统详细教程(DELLXPS9360)(1)

戴尔黑苹果系统详细教程(DELLXPS9360)(2)

硬件配置

本次采用1080P非3K触摸屏国行顶配版本,因为HiDPI会对睡眠唤醒造成一定影响,暂时不推荐3K版本。

可用功能

综合体验非常完美,I2C触控板远超其他版本,当然略逊于原生触控板,盒盖睡眠开盖唤醒也很正常。

BIOS

由于该机器现有的BIOS版本为2.11.0,所以我们需要对BIOS进行降级,降级为2.9.0,BIOS文件可以从Dell官网下载,请注意,降级需要在BIOS的Maintenance-BIOS Downgrade中勾选Allow BIOS Downgrade。

General-Boot Sequence-Boot List Option [UEFI]

System Configuration-SATA Operation [AHCI]

-SMART Reporting [Enable SMART Reporting]

-Thunderbolt Adapter Configuration [Disable Thunderbolt Boot&Pre-Boot]

-Thunderbolt Adapter Configuration [Security level - No Security]

-USB PowerShare [Enable USB PowerShare]

-Unobtrusive Mode [Enable Unobtrusive Mode]

-Miscellaneous Devices [Disable SD Card& SD Card Boot& Read-Only Mode]

Security-Computrace [Deactivate]

-CPU XD Support [Enable CPU XD Support]

Secure Boot-Secure Boot Enable [Disabled]

Intel SGE-Intel SGE Enable [Disbaled]

Power Management-USB Wake Support [Disable Wake on Dell USB-C Dock]

-Primary Battery Charge Configuration [Standard]

Post Behavior-Numlock Enable [Enable Numlock]

-Fn Lock Options [Lock Mode Disable/Standard]

-Fastboot [Minimal]

Virtualization Support-Virtualization [Enable]

-VT for Direct I/O [Disable]

Wireless-Wireless Switch [Disable WLAN&Bluetooth]

SupportAssist System Resolution-Auto OSRecovery Threshold [Off]

创建Clover EFI

首先我们需要下载the-darkvoid/XPS9360-macOS,解压开后如下图所示:

戴尔黑苹果系统详细教程(DELLXPS9360)(3)

这个Repo创建的非常精巧,利用XPS9360.sh我们可以实现整个仓库的update和各种定制不定。我们现在需要用到的就是CLOVER文件夹,将其整个复制到U盘EFI目录下,接下来我们需要对config.plist进行操作。

戴尔黑苹果系统详细教程(DELLXPS9360)(4)

使用Clover Configuration打开config.plist后显示如下

戴尔黑苹果系统详细教程(DELLXPS9360)(5)

第一步要做的还是三码,我们需要替换掉原有的三码。即SMBIOS/System Parameters-Custom UUID/RT Variable-ROM三块。

其余我们均不需要改动,但是我可以这里简单为大家介绍一下相应的功能。

通过观察ACPI的DSDT Hot Patch我们发现了除了一个叫change SAT0 to SATA, optionally pair with SSDT-SATA.aml的热修复被关闭外,其余都启用,并且搭配了对应的SSDT,由于还没开启,我们暂时不去动它,等装完后再根据IORegistryExplorer的输出来判断功能和调整。Generate Option中PluginType已启用,搭配CPU HWPEnable应该理论上可以实现正确的变频。

戴尔黑苹果系统详细教程(DELLXPS9360)(6)

戴尔黑苹果系统详细教程(DELLXPS9360)(7)

在Boot Section中我们可以看到Boot Argument有两个很奇怪的参数,其中igfxcflbklt=opcode貌似是WhateverGreen.kext的,通过查阅github repo上的参数,类似的有一个igfxcflbklt=1和背光相关,具体不清楚。

戴尔黑苹果系统详细教程(DELLXPS9360)(8)

而darkwake则是和power nap相关,但是=4我从来没见过,对应的功能未知,关于darkwake的参数说明如下。

darkwake=0 -> Power Nap 禁用

darkwake=1 -> Power Nap 开启 (机器完全唤醒:风扇打开,显示器打开。每小时一次。)

darkwake=2

darkwake=3

darkwake=4

darkwake=5

darkwake=6

darkwake=7

darkwake=8 -> Power Nap 开启 (机器完全唤醒:有时候显示器打开,有时候不会。)

darkwake=9

darkwake=10 -> Power Nap 开启 (机器部分唤醒:风扇,显示器不打开,系统日志记录唤醒时间。 时光机备份在睡眠模式进行,每小时一次。)

darkwake=11

除此以外为了便于调试,我们添加-v、keepsyms=1、debug=0x100参数,但实际上我有九成九的把握是可以正常安装的,所以其实加不加都无所谓。

在比较重要的Kernel and Kext Patch中,除了DellSMBIOSPatch外基本全空,没什么好讲的。

戴尔黑苹果系统详细教程(DELLXPS9360)(9)

在EFI/Clover/ACPI/patched下也已经有大量SSDT准备好了,但实际上这个SSDT是存在问题的,除非你和darkvoid一模一样,不然之后仍然需要XPS9360.sh进行修复。

戴尔黑苹果系统详细教程(DELLXPS9360)(10)

通过观察Kext文件夹我们可以知道,这个EFI使用了VirtualSMC替代FakeSMC,这个东西我没用过,所以不知道有哪些问题,除此以外VoodooI2C是用来控制触屏、触控板和摄像头的驱动,我也没用过。VoodooPS2Controller则是控制键盘和PS2触控板的,实际体验有待之后观察。

还需要注意,这里缺少关于蓝牙的驱动,所以安装完后不要忘记蓝牙修复。

戴尔黑苹果系统详细教程(DELLXPS9360)(11)

接下来很重要的一点,就是在EFI/Clover/tools中,我们需要将Shell64U.efi改为Shell64U.efi.bak,而DVMT.efi改名为Shell64U.efi,我们之后需要使用它来对BIOS中一些无法修改的选项进行修改。

安装macOS Mojave

在进入Clover引导界面后,通过左右键移动到Shell64U.efi,启动DVMT.efi

戴尔黑苹果系统详细教程(DELLXPS9360)(12)

首先我们要使用DVMT.efi修改一些BIOS选项

戴尔黑苹果系统详细教程(DELLXPS9360)(13)

修改命令如下

setup_var 0x4de 0x00

setup_var 0x785 0x06

setup_var 0x786 0x03

需要注意!由于不同机型甚至不同BIOS都有可能作出一些修改,所以在修改前请setup_var 0xxxx的方式查看对应的返回值,如果无返回值,请不要贸然修改。

戴尔黑苹果系统详细教程(DELLXPS9360)(14)

戴尔黑苹果系统详细教程(DELLXPS9360)(15)

最后输入exit返回Clover界面,回车引导macOS安装程序

进入安装界面后发现了一个问题,触控板貌似失灵了,这其实在我预料之中,毕竟I2C是和DSDT相关的驱动。由于Install界面也没办法调试,先接上USB鼠标,装完再说。

然后又碰到了Windows磁盘两个分区Disk Utility无法进行格式化为APFS,使用Terminal输入

diskutil eraseDisk apfs Macintosh HD /dev/disk0

接下来正常进行macOS安装即可。

Mojave完善过程

键盘映射

安装完后最大的一个感受是发现键盘已经被完美映射,F1静音 F2音量减小 F3音量增大 F4-F6控制播放 F10键盘两级背光 F11-F12控制显示器亮度。完美符合XPS键盘原生功能。赞!

开启所有来源

上一篇文章忘记跟大家说了,有人问我打开APP有问题,实际上是没有开启所有来源,在Terminal中输入

sudo spctl --master-disable

输入密码即可。在darkvoid文件中的 XPS9360.sh --enable-3rdparty 也可以解决这个问题

触控板VoodooI2C

装完后首当其中的就是触控板的问题,这里我看了下VoodooI2C的官方文档。发现这个驱动做的不错但是需要配合DSDT使用,所以实际上应该是DSDT部分出现了问题,后来我又看了XPS9360.sh,惊奇的发现原来有一个 --compile-dsdt 的参数,会将本机的ACPI表重编译一遍放到./Clover/ACPI/patched目录下,我们只要将这部分重编译的aml复制到EFI/Clover/ACPI/patched目录下即可。

由于darkvoid根本没有教程,所以到现在为止我才完全明白darkvoid这个Repo的更新思路,所有的必备软件都被保存在这个位置,同时借助XPS9360.sh可以实现大部分的排错和配置,并且 XPS9360.sh --update 可以基于git的版本控制可以让这个Repo始终保持最新。

这里放出我的触控板设置,供大家参考。

戴尔黑苹果系统详细教程(DELLXPS9360)(16)

戴尔黑苹果系统详细教程(DELLXPS9360)(17)

戴尔黑苹果系统详细教程(DELLXPS9360)(18)

三指拖移

由于老Macbook Pro留下来的习惯,我比较喜欢三指拖移而非ForceTouch那种按压拖移,所以前面我将部分三指操作改为了四指操作,这样可以减少误操作。

三指拖移现在被隐藏在系统偏好-辅助功能-交互-鼠标与触控板-触控板选项-启用拖移-三指拖移中。

戴尔黑苹果系统详细教程(DELLXPS9360)(19)

关闭TouchID

再次感谢darkvoid,由于darkvoid杰出的工作,很多问题得以轻松解决。

./XPS9360.sh --disable-touchid

开启SSD Trim

如果你使用的不是M.2 NVME固态,而是M.2 SATA固态,那么我们安装完之后就需要手动启用SSD Trim,在之前上一篇X99的文章中我也有讲过如何使用KernalToPatch修复SSD Trim。

这里我们使用另一种不同的方法

./XPS9360.sh --enable-trim

或者也可以使用 sudo trimforce enable

耳机无声问题

如果这个时候你使用耳机,会发现接上耳机后XPS不再发声,但是耳机内也没有声音,这里我们就需要用ComboJack补丁,使用也很方便

./XPS9360.sh --combo-jack

此时输出结果告诉我们需要重启,并且在使用耳机输入的时候,最好关掉“使用环境噪音降低功能”。

戴尔黑苹果系统详细教程(DELLXPS9360)(20)

重启后插入耳机,它会弹出提示,询问plug in的设备是Line in(麦克风)、Headset还是Headphones,Esc也可以使用默认方案,一般不会错。从因为角度,Headset和Headphones,前者是带耳麦的,而后者是不带耳麦的耳机(如果我没记错的话),但是根据我的实测,Headset耳麦输入会失效,Headphones则没有这个问题,但我很怀疑是我这个耳机耳麦坏了,所以一旦选择Headset切换为耳机输入音频,就会造成无音,希望有人能帮忙测试更多的。

额外检验是否成功的方法也很简单,我们只要在IORegistryExplorer中寻找HDEF,并查看com_XPS_SetVerb下是否具有VerbStubUserClient这个设备

戴尔黑苹果系统详细教程(DELLXPS9360)(21)

蓝牙修复

在之前的文章中我们已经说过如何驱动蓝牙,我们只需要将BrcmPatchRAM2和BrcmFirmwareData放入kexts/Other目录下即可,我不太喜欢BrcmFirmwareRepo,因为我觉得每次升级都要重新注入比较麻烦,诸位可以根据自己的喜好进行选择。

戴尔黑苹果系统详细教程(DELLXPS9360)(22)

CPU/GPU降压

在darkvoid Repo中写出了使用DVMT.efi对CPU/GPU进行降压的方法

Overclock, CFG, WDT & XTU enable

0x4DE -> 00

0x64D -> 01

0x64E -> 01

Undervolt values:

0x653 -> 0x64 (CPU: -100 mV)

0x655 -> 01 (Negative voltage for 0x653)

0x85A -> 0x1E (GPU: -30 mV)

0x85C -> 01 (Negative voltage for 0x85A)

经过尝试,-100mV和-30mV在我的机器上可以正常运作,如果你不是这个数值,需要将十进制转变为十六进制,替代上面的0x64和0x1E。

注意!请先用XTU对这个降频幅度进行测试,然后再使用这个降压方法,不恰当的降压将会使CPU欠压损坏。

开启声修复

如果诸位前面正确操作了,那么相信大家已经发现了,在Clover引导最初,机器会发出一声咚~~~的启动声,我非常喜欢这个设定,让我回忆起了我第一台电脑——Macbook Pro MD101。但是这个声音个人觉得有点大,最好调小点。在-v模式最初我发现了一行输出,它表示声音大小的控制由BootChimeCfg.efi决定,我们将之前DVMT.efi仿冒的Shell64U.efi重新改回原名,Shell64U.efi.bak改为Shell64U.efi,重启重新进入Shell64U.efi界面。

戴尔黑苹果系统详细教程(DELLXPS9360)(23)

依次输入以下命令

fs0:

cd EFICLOVERtools

BootChimeCfg.efi

在这里不仅能选择输出音量,输出线路,还能进行声音测试甚至清空NVRAM参数。

戴尔黑苹果系统详细教程(DELLXPS9360)(24)

我们可以看到V是用来改变声音大小的,然后我们可以输入0-100的数来调节音量,最后我们还可以用T来测试声音具体大小。根据我的测试,我感觉这个音量百分比并不是线性的,我选择了70作为输出的音量。

如果希望完全关闭开机提示音。只需要直接删除EFI/Clover/drivers64UEFI中的AudioDxe.efi和BootChimeDxe.efi即可。

但是有一点让人不爽的是在启动Clover的时候还会发出一声奇怪的声音,留待以后解决。

HiDPI

这一部分请大家慎重考虑!

xzhih给出了一键开启原生HiDPI的办法。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi-zh.sh)"

戴尔黑苹果系统详细教程(DELLXPS9360)(25)

重启即可,但是根据我的实际体验,开启HiDPI会导致第二阶段苹果LOGO变大,最让人难以忍受的是睡眠醒来会导致屏幕只有左上角有一个小桌面,需要二次唤醒,所以我建议1080p的用户不要开启HiDPI,同时不推荐购买3K屏幕版本。

睡眠模式调节

一般来说我们都会关闭standby和autopoweroff,这两个功能主要针对长期睡眠会进入深度睡眠,但是据说黑苹果这个是有问题的,所以基本上都要求关闭,具体到这台机器,我没有进行测试。

sudo pmset -a hibernatemode 0

sudo pmset -a standby 0

sudo pmset -a autopoweroff 0

sudo rm /private/var/vm/sleepimage

sudo touch /private/var/vm/sleepimage

sudo chflags uchg /private/var/vm/sleepimage

当然这并不是说黑果都不能睡眠,而是我们不推荐使用深度睡眠,所谓的深度睡眠(Hibernate)需要和正常启动一样,而浅睡眠(Sleep)则可以很快唤醒,两者差别主要在于内存的信息保存上,浅睡眠耗费电量同样很小,深度睡眠还需要占用很大的一块硬盘空间,白苹果上同样几乎没有开启深度睡眠的时候。

如果有兴趣了解可以搜pmset电源管理,也可以使用pmset -g查看现在的电源管理设置。

总结

本文就到这里结束了,感谢darkvoid,我只是站在巨人的肩膀上,才能完成这篇小教程,如果觉得可以,希望各位能多多点赞!

这两天爆肝赶文章啥都没学,接下来要努力刷题看书了,本人的学习设备已经齐全,台式机 轻薄本 iPad平板 手机也是我认为最合适的装备配置,之后会正常更新关于黑苹果的通用驱动方法。

戴尔黑苹果系统详细教程(DELLXPS9360)(26)

戴尔(DELL) XPS13-9360 13.3英寸八代i7固态轻薄便携高清微边框笔记本电脑 预订 3905银:i7-8550U/16G/512固态10399元

京东 http://u.jd.com/KCrCBz

天猫 https://m.tb.cn/h.e7rudvi

,