ThinkPad E480 黑苹果踩坑和黑苹果常用操作备忘

ThinkPad E480 黑苹果踩坑和黑苹果常用操作备忘

由于囊中羞涩,只好一部 ThinkPad 商务本凑合一年有余。最近赋闲在家无事可干,打算更新一下开发环境。Windows 搭配 Cygwin 的选择毫无疑问被排除在外、WSL 的 IO 性能无法直视、开源拖拉机 Linux 的生态一时半会无法适应。想来想去,不如装个黑苹果(Hackintosh)过把用 macOS 的瘾。

本文前半部分会记录我在 ThinkPad E480 上踩过的几个坑和解决方法,后半部分则是我自己备忘的黑苹果的相关知识。我不是专业安装黑苹果的玩家,在短期内 我也不会考虑开源我的 EFI。 EFI 已使用 Unlicense 开源协议在 GitHub,地址

ThinkPad 黑苹果无线网卡

ThinkPad E480 出厂时搭载的无线网卡是 Realtek 8821CE Wireless LAN 802.11ac PCI-E NIC,目前没有办法驱动。

e480-hackintosh/e480-internal.jpg

目前最好的选择是换装 DW1560,在 macOS 下毫不费力就可以驱动,在 Windows 下也能轻易驱动。不推荐用 DW1820A,在 ThinkPad 系列机型上都需要屏蔽识别针脚、在系统中容易引发冻屏。而且 DW1820A 有的批次可以轻易驱动、有的则难如登天。如果你执意要趟坑 DW1820A,请参考 黑果小兵的这篇文章

AppleALC 驱动声卡

ThinkPad E480 的内置的声卡是相对罕见的 Conexant CX20753/4。但是好消息是,MacPeet 为 AppleALC 添加了 CX20753/4 支持(layout-id: 15),而且 MacPeet 的机型是 ThinkPad E580、是 ThinkPad E480 的姊妹机型。在实际测试中,layout-id3 或者 15 都可以驱动 ThinkPad E480 的声卡,3.5mm 耳机接口和外放都可以正常使用。

触摸板、键盘、ThinkPad 小红点驱动

建议使用 Rehabman 版本的 VoodooPS2Controller 而不是 acidanthera 的 VoodooPS2Controller。Rehabman 版本的驱动可以直接不加修改和配置即可在黑苹果中直接驱动键盘、触摸板、ThinkPad 标志性的 TrackPoint(小红点)和 ThinkPad 触摸板上部的三个按键(ThinkNav)。
如果睡眠唤醒以后,触摸板无法使用、而小红点和 ThinkNav 三个实体按键可以使用,那么可以尝试重建 Kext 缓存。

使用 acidanthera 的 VoodooPS2ControllerVoodooInput 成功驱起来了触摸板、ThinkPad 小红点(TrackPoint)和触控板的三个实体按键(ThinkNav)。可能需要额外打一个 SSDT-ThinkPad_Clickpad 的 hotpatch,我直接找了网上姊妹机型 E470 现成的 SSDT-ThinkPad_Clickpad.aml 扔进去。

电量百分比显示

优先使用 VirtualSMCSMCBatteryManager 驱动。使用 FakeSMC 搭配 Rehabman 的 ACPIBatteryManager 虽然也可以实现电量百分比显示,但是电源状态显示不准确(插着 AC 仍然显示电池供电、反之亦然)。

显卡驱动

ThinkPad E480 2018 款使用的是 Intel Core (Kaby Lake) i7-8550U,核显型号是 Intel UHD Graphics 620,通过修改 platform-id 伪装成 Intel HD Graphics 620,相关资料有黑果小兵的 Intel 核显 platform ID 整理及 smbios 速查表Hackintool(原Intel FB-Patcher)使用教程及插入姿势 中关于缓冲帧补丁的相关章节。以下是我的缓冲帧信息:

e480-hackintosh/hackintool-framebuffer.png

在 Clover 的 config.plist 中可以修改核显显存为 2048MB,推荐使用 Plist Edit Pro,定位到 Root -> Devices -> Properties -> PciRoot(0x0)/Pci(0x2,0x0) -> framebuffer-unifiedmem,数据类型为 Number,修改数值为 2147483648(2048 MB 转换为字节数),效果如下图所示:

e480-hackintosh/macos-info.png

ThinkPad E480 内置一块 Radeon (TM) RX 550 (2GB) 独立显卡,只能屏蔽掉。屏蔽掉独显以后风扇竟然不会乱转,应该说运气不错。

ThinkPad 黑苹果休眠、睡眠和唤醒

EFI/CLOVER/kexts/Other 下面扔一个 HibernationFixup.kext,然后在启动参数里加上 -hbfxbeta,就可以实现 hibernatemode 3 休眠了。

如果合盖后遇到偶发性的随机唤醒,禁用 proximitywake 即可:

sudo pmset -a proximitywake 0

「合盖后随机唤醒」指,合盖后 ThinkPad A 面的红色指示灯开始闪烁、表示设备已经睡眠;一会以后指示灯进入常亮,但此时开盖屏幕不会点亮。

如果还遇到各种奇奇怪怪的休眠唤醒问题,建议直接禁用掉休眠相关选项:

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0

ThinkPad USB 定制与蓝牙

博通无线网卡(DW1560DW1820)上的蓝牙模块是接在 USB 总线上的,如果 USB 定制时如果类型设置为「Internal」后、可能主板就不会给蓝牙模块供电了(开机后「系统报告」里显示找不到蓝牙设备)。
虽然一般不推荐用 SSDT-USBX 模拟苹果 USB 供电(苹果大功率 USB 供电可能烧坏设备),不过查阅 ThinkPad 手册后发现 ThinkPad 的 USB 接口的设计载荷是满足要求的。使用 SSDT-EC-USBX 模拟苹果 USB 供电以后,蓝牙也可以在 USB 定制时选用「Internal」内建了。

SATA SSD 固态硬盘开启 TRIM

在终端中使用下述命令强制开启第三方 SSD 的 TRIM。

sudo trimforce enable

执行完上述命令后会自动重启。如果重启后「关于本机 - 系统报告」中还显示 TRIM 未开启,则需要通过 Clover Configurator 打个补丁。在 Clover Configurator 中打开 config.plist,左边侧边栏选择 Kernel and Kext Pathches,添加下述补丁:

  • Name*: IOAHCIBlockStorage
  • Find*[HEX]: 4150504C452053534400
  • Replace*[HEX]: 00000000000000000000

e480-hackintosh/ccg-ssd-trim.png


如何获取黑苹果相关资料

国内黑苹果的社区寥寥无几,威锋相关板块冷冷清清,而远景论坛(PCBeta)非常封闭、注册门槛也很高。而且国内黑苹果社区中知识都非常零散、并不系统,大部分帖子中的经验都主要针对特定机型和驱动,不具备普适性。

我在获取安装黑苹果的相关知识时,首先将目光放在了国外的几个著名的黑苹果社区。而国外最有名的黑苹果社区莫过于 tonymacx86insanelymac。除此以外,r/hackintosh 上也有不少相关交流。除此以外,一些中文博客上也有详细而实用的黑苹果相关的知识,我自己比较常看的是 黑果小兵的部落阁XJN’s Blog

GitHub 和 BitBucket 是获取黑苹果相关资源的一个好去处。GitHub 上可以获取到大部分驱动的最新版本——AppleALC、VoodooPS2Controller、HoRNDIS 等等,而且也有很多黑苹果玩家在 GitHub 上分享自己的 EFI。

常用工具

截至本文写就,OpenCore 和 Clover 是目前最常用的黑苹果引导工具。虽然 OpenCore 优势多多,但是 OpenCore 相关资料较少,而 Clover 相对更加成熟、资料也充足。虽然 Lilu、AppleALC 等插件已经优先兼容 OpenCore,但是也有很多实用驱动如 FakeSMC 和 VoodooPS2Controller (Rehabman) 仍然是面向 Clover 开发的。

Clover 和黑苹果常用的工具有:

使用 HackinTool 重建 Kext 缓存、修复权限

可能是最简单的重建 Kext 缓存的方法、不需要 Kext Utility、也不需要在 Terminal 里敲命令。

打开 HackinTool 中的「Tool」选项卡,点击底部操作栏最右边的按钮(如果将光标悬浮在这个按钮上,你可以看到这个按钮的注释是「Rebuild KextCache and Repair Permissions」),输入密码即可。

e480-hackintosh/hackintool-rebuild-kext.png

使用 HackinTool 升级驱动

打开 Hackintool,找到 Installed 选项卡,点击下面控制栏最左边的按钮,检查驱动版本:

e480-hackintosh/hackintool-kext.png

红色的是存在更新版本的驱动。勾选需要升级的驱动,点击下面控制栏中间的按钮开始下载。

e480-hackintosh/hackintool-kext-download.png

驱动会保存在桌面上 HackinTool_Kexts 目录中。手动挂载 EFI 分区,并在 Finder 中将 kext 文件手动覆盖进 EFI/CLOVER/kexts/Other 目录中即可。

升级 Clover

使用 Clover Configurator 可以直接下载执行 Clover Installer。打开 Clover Configurator,在左边侧边栏点击 TOOLS 下的 Install/Update Clover,然后点击右下角 Check Now 开始获取你现在使用的 Clover 版本以及可以下载到的最新版本。

e480-hackintosh/ccg-update.png

勾选 Package(下载 Installer)和 Save to Desktop,然后点击右下角的 Update。耐心等待一会,下载成功后会自动打开安装界面(如果没有,去桌面找找 pkg 文件)。

如果觉得打开软件太麻烦,可以前往 SourceForgeGitHub 直接下载安装器 pkg 文件或 CLOVERX64.EFI 文件。

安装器可能会提示 This package will run a program to determine if the software can be installed.,点击 Continue 即可。在安装界面,连续点击右下角的 Continue 直到到达「安装类型」(Installation Type),选择「自定义」(Customize)。

e480-hackintosh/clover-installer-1.png

在自定义界面,手动勾选 仅安装 UEFI 开机版本Clover for UEFI Booting Only) 和 安装 Clover 到 EFI 系统区Install Clover in the ESP),如下图所示。

e480-hackintosh/clover-installer-2.png

现在可以点击右下角的 安装 了。

生成三码以使用 iMessage、FaceTime、iCloud

  1. 使用 Clover Configurator 打开 config.plist 。左侧边栏选择 SMBIOS,复制 Serial Number 前往 Apple 官网查询序列号 ,如果显示有购买日期和机型等保修信息,说明这个序列号别人在用,不建议使用,点击 Generate New 生成新的 Serial Number ,直到出现提示:「很抱歉,这个序列号无效。请检查您的信息并再试一次」。
  2. 左侧边栏选择 System Parameters,生成一个 UUID,系统生成或随机生成都可以。

e480-hackintosh/ccg-uuid.png

  1. 复制生成的 UUID 粘贴到 SMBIOSSmUUID 里(位于 Serial Number 右边),保存。
  2. 复制 SMBIOS 里的 Board Serial Number ,粘贴到 Rt VariablesMLB 里,保存之后,点击 ROM 的获取,确保下方三码正常匹配自己生成的,保存重启即可。

e480-hackintosh/ccg-parameter.png

双系统时间同步

Windows 把系统硬件时间当作本地时间,即操作系统中显示的时间跟 BIOS 中显示的时间是一样的。而 Linux / macOS 把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是 GMT+8,则系统中显示时间是 硬件时间 + 8

解决方法是修改 Windows 对硬件时间的对待方式,让 Windows 把硬件时间当作 UTC,在 CMD 中执行下述命令即可:

Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

笔记本完美黑苹果八项检查

  • 使用 CPU-S 进行「变频测试」,二档够用、八档以上优秀。

e480-hackintosh/cpu-s-test.png

我这个 12 档全都是睿频是怎么回事(

  • 分辨率和显存显示正常,支持 DP、HDMI 外接显示,风扇不持续高速旋转,原生亮度调节正常
  • VoodooHDA 能响,如果是 AppleALC 就优秀
  • 以太网需位于 en0;无线支持 2.4G/5G 双频,支持 AirDrop 和 Handoff 优秀
  • USB 接口 2.0/3.0/3.1 均能识别,3.0 及以上接口的识别速度应有 5G/s

e480-hackintosh/hackintool-usb-speed.png

上述五项是黑苹果使用的最低需求。

  • 系统偏好设置正常识别电池电量状态
  • 合盖睡眠,开盖唤醒后正常点亮不黑屏
  • 自带键盘和触摸板都能正常使用

如果满足上述三项,则这台黑苹果已经可以满足主力使用需求了。打开「关于本机 - 系统报告」检查其他几项:

  • NVMExpressSATA/SATA Express 中均显示 TRIM 支持已开启

小版本系统的直接更新

一般的小版本更新,如 macOS 10.15.2 升级 10.15.3 可以直接在系统内升级。在「系统偏好设置」或「关于本机」中进去系统更新检查。当进度条走完后点击重启,在 Clover 引导界面会出现 Boot macOS install from xxxxx ,方向键选中并按空格,勾选 Verbose(-v)nv_disable=1 后再启动。跑完日志和进度条后会开始升级、自动重启,如果重启后 Clover 中的 Boot macOS install from xxxxx 没有消失则重复上述操作(一般系统更新也需要二次安装)。升级成功后 Clover 引导界面下的 Boot macOS install from xxxxx 会消失。选择 Boot macOS install from xxxxx 进入系统即可。

ThinkPad E480 黑苹果踩坑和黑苹果常用操作备忘

本文作者

Sukka

发布于

2020-02-06

更新于

2020-03-30

许可协议

CC BY-NC-SA 4.0

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!

喜欢这篇文章?为什么不考虑打赏一下作者呢?
爱发电
评论加载中 ...