戴尔黑苹果系统详细教程(DELLXPS9360)
硬件配置
- CPU: Intel i7 8550U
- Mem: LPDDR3 2133Mhz 8G*2
- Display: Sharp 1449 FHD 1080p Non-TouchScreen
- M.2: Toshiba NVME XG5 512G
- Wireless: DW1560/BCM94352z
本次采用1080P非3K触摸屏国行顶配版本,因为HiDPI会对睡眠唤醒造成一定影响,暂时不推荐3K版本。
可用功能
- 显卡
- 声卡(耳机外放自动切换)
- 无线网卡
- 蓝牙
- USB定制
- 雷电热拔插
- 睡眠唤醒(盒盖正常)
- CPU变频
- 触控板(支持多种手势)
- 屏幕亮度可调节
- 键盘灯两级可控
- 键盘快捷键定制
- 摄像头可用
综合体验非常完美,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,解压开后如下图所示:
这个Repo创建的非常精巧,利用XPS9360.sh我们可以实现整个仓库的update和各种定制不定。我们现在需要用到的就是CLOVER文件夹,将其整个复制到U盘EFI目录下,接下来我们需要对config.plist进行操作。
使用Clover Configuration打开config.plist后显示如下
第一步要做的还是三码,我们需要替换掉原有的三码。即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应该理论上可以实现正确的变频。
在Boot Section中我们可以看到Boot Argument有两个很奇怪的参数,其中igfxcflbklt=opcode貌似是WhateverGreen.kext的,通过查阅github repo上的参数,类似的有一个igfxcflbklt=1和背光相关,具体不清楚。
而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外基本全空,没什么好讲的。
在EFI/Clover/ACPI/patched下也已经有大量SSDT准备好了,但实际上这个SSDT是存在问题的,除非你和darkvoid一模一样,不然之后仍然需要XPS9360.sh进行修复。
通过观察Kext文件夹我们可以知道,这个EFI使用了VirtualSMC替代FakeSMC,这个东西我没用过,所以不知道有哪些问题,除此以外VoodooI2C是用来控制触屏、触控板和摄像头的驱动,我也没用过。VoodooPS2Controller则是控制键盘和PS2触控板的,实际体验有待之后观察。
还需要注意,这里缺少关于蓝牙的驱动,所以安装完后不要忘记蓝牙修复。
接下来很重要的一点,就是在EFI/Clover/tools中,我们需要将Shell64U.efi改为Shell64U.efi.bak,而DVMT.efi改名为Shell64U.efi,我们之后需要使用它来对BIOS中一些无法修改的选项进行修改。
安装macOS Mojave
在进入Clover引导界面后,通过左右键移动到Shell64U.efi,启动DVMT.efi
首先我们要使用DVMT.efi修改一些BIOS选项
修改命令如下
setup_var 0x4de 0x00
setup_var 0x785 0x06
setup_var 0x786 0x03
需要注意!由于不同机型甚至不同BIOS都有可能作出一些修改,所以在修改前请setup_var 0xxxx的方式查看对应的返回值,如果无返回值,请不要贸然修改。
最后输入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始终保持最新。
这里放出我的触控板设置,供大家参考。
三指拖移
由于老Macbook Pro留下来的习惯,我比较喜欢三指拖移而非ForceTouch那种按压拖移,所以前面我将部分三指操作改为了四指操作,这样可以减少误操作。
三指拖移现在被隐藏在系统偏好-辅助功能-交互-鼠标与触控板-触控板选项-启用拖移-三指拖移中。
关闭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
此时输出结果告诉我们需要重启,并且在使用耳机输入的时候,最好关掉“使用环境噪音降低功能”。
重启后插入耳机,它会弹出提示,询问plug in的设备是Line in(麦克风)、Headset还是Headphones,Esc也可以使用默认方案,一般不会错。从因为角度,Headset和Headphones,前者是带耳麦的,而后者是不带耳麦的耳机(如果我没记错的话),但是根据我的实测,Headset耳麦输入会失效,Headphones则没有这个问题,但我很怀疑是我这个耳机耳麦坏了,所以一旦选择Headset切换为耳机输入音频,就会造成无音,希望有人能帮忙测试更多的。
额外检验是否成功的方法也很简单,我们只要在IORegistryExplorer中寻找HDEF,并查看com_XPS_SetVerb下是否具有VerbStubUserClient这个设备
蓝牙修复
在之前的文章中我们已经说过如何驱动蓝牙,我们只需要将BrcmPatchRAM2和BrcmFirmwareData放入kexts/Other目录下即可,我不太喜欢BrcmFirmwareRepo,因为我觉得每次升级都要重新注入比较麻烦,诸位可以根据自己的喜好进行选择。
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界面。
依次输入以下命令
fs0:
cd EFICLOVERtools
BootChimeCfg.efi
在这里不仅能选择输出音量,输出线路,还能进行声音测试甚至清空NVRAM参数。
我们可以看到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)"
重启即可,但是根据我的实际体验,开启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平板 手机也是我认为最合适的装备配置,之后会正常更新关于黑苹果的通用驱动方法。
戴尔(DELL) XPS13-9360 13.3英寸八代i7固态轻薄便携高清微边框笔记本电脑 预订 3905银:i7-8550U/16G/512固态10399元
京东 http://u.jd.com/KCrCBz
天猫 https://m.tb.cn/h.e7rudvi
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com