黑苹果从入门到精通 篇七:XPS 9360完美黑果实战

2019-07-11 22:11:24

240点赞

2161收藏

253评论

追加修改(2019-12-23 19:39:18):

触控板问题就是I2C驱动没成功,可以用sudo kextcache -i /也可以用kext Utility,如果这样还不行,说明I2C有问题

追加修改(2019-10-27 20:30:43):

今天想试试Sidecar,就把Catalina也升级上去了,很顺利,什么问题都没有,有些人经常询问我触控板失效怎么办,其实就Inject with Kext一次就行,很简单。升级注意事项看我X99的补充说明就行了。

硬件配置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

这个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元京东去购买

xps文件服务器端,黑苹果从入门到精通 篇七:XPS 9360完美黑果实战相关推荐

  1. mac x99算法 java_黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一)...

    黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一) 2019-12-27 17:01:17 196点赞 2085收藏 138评论 追加修改(2019-12-2 ...

  2. z390 黑苹果启动盘_黑苹果从入门到精通:K39小钢炮黑苹果实践

    本内容来源于@什么值得买SMZDM.COM|作者:唐少游 本来从第三篇开始是基于一台没有任何参考的电脑,逐步逐步从零开始给大家展示黑苹果优化修复过程,可惜在第五篇结束后OC Formula主板损坏了, ...

  3. ElasticSearch从入门到精通--第七话(自动补全、拼音分词器、自定义分词、数据同步方案)

    ElasticSearch从入门到精通–第七话(自动补全.拼音分词器.自定义分词.数据同步方案) 使用拼音分词 可以引入elasticsearch的拼音分词插件,地址:https://github.c ...

  4. wlan从入门到精通第七期直接转发和隧道转发

    wlan从入门到精通第七期直接转发和隧道转发 AC+FIT AP架构的网络中存在两种报文,一类是AC管理控制AP的报文,称为管理报文(也叫控制报文),另一类是STA的用户数据报文,称为业务报文. 如上 ...

  5. 黑苹果从入门到精通:可能是世界上最详细的VMware安装macOS教程

    前言 不知为何,以前我发的两篇关于黑苹果的文章或没过审或被删除,最近SMZDM上有不少优质的黑苹果文章发出来,貌似禁令已开,前段时间在一篇写的很不错的黑果文章下吹牛说今年要写一个系列,故有了这篇文章作 ...

  6. 黑苹果从入门到精通:最详细的VMware安装macOS教程

    前言 不知为何,以前我发的两篇关于黑苹果的文章或没过审或被删除,最近SMZDM上有不少优质的黑苹果文章发出来,貌似禁令已开,前段时间在一篇写的很不错的黑果文章下吹牛说今年要写一个系列,故有了这篇文章作 ...

  7. seo从入门到精通_SEO入门到精通(七):SEO工作的流程是什么?

    刚入门seo会对这个行业的工作流程产生疑问,或者因为自己学习的seo知识比较零散,无法去把控seo工作的整体流程,本文会给大家讲解下企业站通用的seo优化流程: 行业概况分析→企业实况分析→竞品分析→ ...

  8. SQL Server从入门到精通(七)

    哈喽好久不见呐 最近太忙了都没时间写博客,呜呜呜,排名一直没上升,落后了,今天抽空更新一篇博客吧,顺带涨涨粉,哈哈哈,涨不涨粉不重要,重要的是我想写博客 往期精选 SQL Server从入门到精通(一 ...

  9. webstorm 两个文件对比不同_DOS 入门到精通 使用 fc 命令比较两个文件,并逐一显示不同之处...

    fc 命令的作用是比较两个文件或两组文件,并且分别显示相比较的两个文件的不同之处.此命令的功能比 comp 命令更为强大,进行文件比较时一般也较多地使用 fc 命令. 命令格式:fc [盘符:] [路 ...

  10. JVM从入门到精通(七):GC常用参数,Method Area,JVM调优案例分析

    GC常用参数 -Xmn -Xms -Xmx -Xss 年轻代 最小堆 最大堆 栈空间 -XX:+UseTLAB 使用TLAB,默认打开 -XX:+PrintTLAB 打印TLAB的使用情况 -XX:T ...

最新文章

  1. 在.Net程序中使用log4net记录日志(示例)
  2. C# DateTimePicker控件如何精确设置显示时分秒
  3. 新的开始,连菜鸟都算不上的程序媛
  4. 一个低级错误引发Netty编码解码中文异常
  5. superset各种数据库连接地址(持续更新中)
  6. A Brief History of NoSQL (转)
  7. java int相除向上取整_Java基础篇——Java运算符
  8. Java进阶04 RTTI
  9. MSDN上的英语结巴
  10. ExecutorService学习小记
  11. [起重机监测系统] 1、基于无线传输的桥式起重机的安全监测方案
  12. CakePHP 2.x CookBook 中文版 第七章 模型 之 数据校验
  13. linux环境ubuntu: pushd: not found
  14. python文本模糊匹配
  15. Unity ToLua LuaFramework_UGUI学习笔记
  16. python if语句怎么结束_【Python】IF 条件语句总结
  17. 2021年下半年软考信息安全工程师下午案例题及解析
  18. 为什么要学习西方文化
  19. unity的矢量数学
  20. ThingsBoard 开发环境搭建

热门文章

  1. 跟叶子猿学习JVM(二)Java虚拟机内存管理
  2. 章节1 概述 - Segger SystemView使用手册(译文)
  3. python出入库_基于Python对Excel数据入库的处理
  4. php 生成电话名片二维码
  5. 运算服务器v9型号,V9服务器
  6. 图片验证码的实现方法
  7. 三菱plc pwm指令_【三菱PLC指令教程】步进指令STL和RET(单序列状态转移图编程)
  8. 看服务器硬盘序列号,获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)...
  9. 一篇文章看懂自然语言处理——word表示技术的变迁(从bool模型到BERT)
  10. 【控制】PID和LQR