黑苹果好吃但难啃,还需步步注意!
请注意
本文中的部分内容可能已经过时。如需参考本机型现时适配的 EFI,请参阅笔者的 Github。0x00 前言
转眼间,Pinming 购买目前使用的这台笔记本戴尔灵越 7590
已近半年,它也陪着我剪了几条片子,也陪我入门了编程。甚至在上个学期开学之前我还因为没拆电池换网卡,把板子弄短路而直接送修了,可谓「最速奇迹」,购买仅仅 20 天就送修。【所以拆机一定要拔电池!这是血的教训】
我个人认为这台机其实算是比较均衡的,配置不太低、价格不太高、做工不算顶级、但用料还算扎实。俗话来讲就是性价比颇高,这款机将 4K+i7 标压的笔记本价格拉到了一万元上下,同时有着优秀的重量控制和大电池加持,性能、便携、价格,我们常说笔记本这三者难以平衡,但灵越 7590 尚且是做到了及格,虽然它的绝对价格还是比较高的,但相比它的竞品 —— Dell XPS 15 7590、Thinkpad X1 Extreme、技嘉 Aero 15、甚至是苹果的 MacBook Pro 16…… 三分之二的价格换来的是几乎没有什么差距的体验【别说苹果还有系统差距!一会就装给你看!】,我觉得就真的很香。
那么,接下来我会就我近几日在本机上进行的黑苹果过程做一个小结。
请注意 / 在正文开始之前
- 本贴并不会就黑苹果的安装提供详尽的教程【不过未来还是有可能写的】,且难易程度因机器而异,甚至同型号间也存在个体差异【比如我这台】;
- 如果想要进行这样的尝试,请先确保自己对电脑的软硬件知识有初步的了解!
- 不同的机器安装黑苹果可能产生不同的效果,从事这样的操作要为机器做好最坏的打算!黑苹果需要的操作可大可小,因此在一定程度上存在着发生不可逆硬件损害的可能【虽然概率并不高】!
- 本贴内容偏大众向,意味着文章内容会有一些 Geek 眼中的「废话」,不喜求轻喷!
0x01 本机硬件配置
已驱动 / 已知可驱动
Dell Inspiron 7590 with Sharp SHP14C7 4K Display
- CPU:Intel Core i7-9750H @ 2.60 Ghz (Boost to 4.50 Ghz)
- IGPU:Intel Graphics UHD 630
- RAM:Hynix DDR4 2666Mhz / 16 GB * 2 = 32 GB RAM
- Display:Sharp SHP14C7 @ 15.6’ / 4K(通过
WhateverGreen
配合SSDT-PNLF.aml
以及KextstoPatch
确保正确驱动及正确且可调的背光亮度) - SSD:WD PC SN520 NVMe WDC 512GB SSD
- Audio:Realtek ALC295(戴尔定制型号:ALC3254)(内置麦克风不能驱动)(Layout-ID = 77,选用 28 可能导致 kernel_task 占用过高而导致 CPU 高频不下)
- 【计划 / 即将更换】WLAN + Bluetooth:Broadcom DW1820A
已知不可驱动
- Nvidia Geforce GTX 1650(无解)
- Realtek Memory Card Reader(无解)
- Intel Wireless-AC 9560(WiFi 无解 / 仅蓝牙可有限度使用)
- Goodix fingerpint reader(无解)
0x02 本机简评
灵越 7590 这款机器从其配置上讲,尤其是 4K 屏幕这一款应当是极其适合黑苹果的。有标压 i7、有 100% Adobe RGB
、90% DCI-P3
、8 bit 抖动 10 bit
豪华参数、素质极高的 4K 屏幕、也有 97 Wh 的大电池,从硬件上它几乎可以和新款的 MacBook Pro 16 不分伯仲(不过人家毕竟可以上 i9,而且不需要屏蔽独显)。
在保证自身性能的同时,其拓展性也十分充足(苹果出来挨打!):有 USB-A (3.0) * 3、ThunderBolt 3 (40 Gbps / USB-C) *1,有 HDMI,还有双 M.2 盘位,这样的拓展性是苹果任何的笔记本都无法比拟的,且散热尚且不算很差(爆发时 65W,长时间单拷 CPU 也还顶得住 45W),机身也较为轻薄(1.72 kg / 17.94 mm)。它拥有为黑苹果做先决准备的几乎一切有利条件,它几乎可以说是一台移动工作站了,除了打游戏【说真的我就打个实况,对游戏性能根本没有要求,况且实况还能开 1080P 全高稳定 60fps】,这机器大概算是适合其他一切需要吃计算性能的东西——比如剪片、比如作图、比如 Coding。而 Windows 系统在这些方面的优化几乎可以说惨不忍睹,苹果在这方面(包括视频解码、颜色映射以及更多专业向的操作上)优化可以说更下功夫,这也是这台机器值得黑苹果的重要原因。
但很可惜碎片化的 Windows 笔记本固然会存在随批次与生产条件不同而造成的单一硬件差异
(你们知道我在内涵某菊花的),Pinming 手中的这台灵越 7590 装配的是屏幕是夏普的 SHP14C7
,其存在的严重问题是不能使用常规的办法在 macOS 系统下正常驱动,正是因此,本次黑苹果的安装也煞费周折。
除此之外,黑苹果往往是难以做到十全十美的,毕竟苹果拥有其自身的完整生态,同时在电脑生产线也处于上游地位,拥有较大的支配权,因此他们可以对自己的型号进行高度自定义的设计与硬件搭配。这意味着普通的笔记本或多或少(除非运气足够好,配置搭配极为得当,当然台式机只要你想总能搭配得当)都存在一些配件无法完美适配 macOS,表现可能是工作效率打折扣、也可能是干脆无法正常工作。所以在后续章节我会一一陈述在我的平台上发现的 Bug。
0x03 在 10.14.3 下驱动 SHP14C7 的可行办法
首先送上 EFI~ 点我前往 Github
安装系统及日用都可以使用 config.plist
作为启动脚本。
安装系统,先修改集显 Platform-ID 为:0x12345678
,然后安装系统并完成初始设置,这期间的多次重启每一次都需要修改集显 Platform-ID 为0x12345678
。
首次进入系统后,在 Terminal 中重建 Kext 缓存:sudo kextcache -i /
,之后重启。
之后继续使用 config.plist
,使用内置的 Platform ID:0x3E9B0009
启动系统,如无意外应该可以正常驱动 UHD630 及本屏幕。
0x04 系统运行图赏
目前系统的主要硬件均可正常工作,CPU、IGPU 实现了(原生)变频;键盘大体上工作正常;触摸板可以实现 Mac 的原生手势。
日常娱乐。
BMD RAW 解码速度测试。
Davinci Resolve、Premiere、XCode。
/* 以下截图画面灰暗是画面采集的问题,原片上色及肉眼所见正常,正确的色彩管理是 Mac 的巨大优势之一 */
4K 60fps HDR 视频硬解,没有明显掉帧。若是在 Win10 下即使用 1650 带这样的视频也会非常费劲,掉帧是常事。苹果的优化功力不得不服!再也不黑了!nb!
(from 2019 第 70 回 NHK 红白歌会)
最后当然是挂 4K HDR 的老婆!(from 剧场版『コード・ブルー –ドクターヘリ緊急救命–』)
看起来很好,接下来抓 Bug,噩梦开始了!
0x05 我的机器最重大的 Bug:屏幕难以驱动
本机型的 4K 版本有两种屏幕,分别为友达的 AUO41EB
与夏普的 SHP14C7
。但经尝试发现后者并不像前者般容易驱动。使用常规的 WhateverGreen
+ 注入参数至 config.plist
的 Devices
-> Properties
子项的方式并不能成功驱动后者,同时会出现 division-by-zero
的 Kernel Panic,并立即重启,因此无法正常进入系统。(也可能不重启,能够进入系统但不输出画面,画面卡死在启动界面。这与注入 Properties
的数据有关)
Division-by-zero
这一问题理论上在新版的 WhateverGreen
已经可以由其本身解决,但在装有夏普 SHP14C7 屏幕的机器上似乎并不奏效。
经尝试后发现,该屏幕在 10.14.2
和 10.14.3
版本下可以使用二进制破解 AppleIntelCFLGraphicsFramebuffer.kext
的方法规避这一 Panic 正常进入系统。具体参数已注入本 repo 的 config.plist
。(具体注入内容见文末)
目前个人认为,要解决在 SHP14C7 上的 division-by-zero
,在 WhateverGreen
并不能发挥其预期作用的情况下,根本思路还是在于计算相关值,二进制破解 AppleIntelCFLGraphicsFramebuffer.kext
从而使修改的量传递至 kext 的正确位置。但该过程涉及反编 kext,个人目前能力有限,难以实现这一目标,希望有 julao 可以出手相助!
0x06 目前存在的其他 Bug
- 【已解决】
在 Windows 系统下热重启至 Mac 会导致声卡不能正常工作通过强制加载AppleHDA
及使用SSDT-ALC295.aml
1 基本可以解决该问题 - 【已解决】
HDMI 连接会导致 Kernel Panic配合WhateverGreen
并在Devices
->Properties
中注入接口数据使得 HDMI 可以正常输出画面2,但不能输出声音 - macOS 版本不能升级(本 repo 中的二进制破解仅适用于
10.14.2
&&10.14.3
!各版本对应的KextstoPatch
并不相同,且 10.15.x 系统据称已不支持这样的方式修补 kext) F6
&&F7
调节亮度映射错误,对应的按键是Fn + S
&&Fn + B
(你怎么骂人呢!)【近期会对键盘映射做修复】- 内置麦克风无法使用【无解】
- 直接启动 FaceTime 无法正常启用摄像头,需要先启动 PhotoBooth
- 电池的容量 (Capacity) 识别错误,应为 97Wh,但实时电量显示基本准确
- 无线网卡 / 雷电接口尚未测试,不确定功能可用性【目前暂时用手机 USB Tethering 上网】
0x07 关于二进制破解 Kext 的参考文章
感谢以下文章的原作者,作为我们的领路人摸清了驱动这台电脑的前路!
《Coffee Lake Intel UHD Graphics 630 on macOS Mojave: A compromise solution to the kernel panic due to division by zero in the framebuffer driver》3
《[FIX] Coffee Lake Intel UHD Graphics 630 on macOS Mojave: Kernel panic due to divide-by-zero》
《10.14-10.14.5 macOS Mojave 各平台核显 DVMT Framebuffer 二进制补丁》
0x08 10.14.2 && 10.14.3 对应的 KextstoPatch 内容
1 | <key>KextsToPatch</key> |
0xFF 后记
以上是本次黑苹果过程的简要记录。不管怎么说,虽然过程曲折,但是当整个系统日渐完善,你能够一点一点驾驭它的时候,还是会不由得感叹真香。
黑苹果向来都是这样:「前途是光明的,道路是曲折的。」有人问为什么要装黑苹果,其实也正应了那句话:「为什么要攀登珠穆朗玛峰?因为它就在那里。」虽然黑苹果这个操作倒算不上所谓巅峰,但挑战本身对于我等玩机佬就是极具快感的。现在这样看其实整个过程、包括这台机器在苹果系统下的使用体验也还存在不少问题,但至少目前整个系统也还算能满足我个人日常使用的需要。 后续还将对一些硬件的细节进行后续完善(也就是尽可能解决上述的 Bug),那么,到时再见了~
致谢
LinZong
1、tctien342
2、Firewolf
3 等诸位 dalao 将自己的成果慷慨发布,我才得以参考着解决了一系列问题。

致谢金主爸爸 | 「dwu5」 本名单依据先后顺序定时更新,感谢滋磁!