[文档] 从 Clover 到 OpenCore (4) — 更新设备属性 开始迁移到 OpenCore 上

[复制链接]
查看286 | 回复0 | 2020.4.24 17:05 | 显示全部楼层 |阅读模式
更新设备属性

注入设备属性以驱动 Intel 核显

如果你还在用 Clover 的 InjectIntel 的方式来驱动 Intel 核显的话,是时候更换到通过设备属性(Device Properties)中注入缓冲帧补丁、搭配WhateverGreen ( https://github.com/acidanthera/WhateverGreen )  的方式了。

建议参考以下文章:

使用 WhateverGreen 驱动 Intel 核显 | 醉渔小站 ( https://blog.zuiyu1818.cn/posts/Hac_Intel_Graphics.html )
Hackintool(原Intel FB-Patcher)使用教程及插入姿势 | 黑果小兵的部落阁 ( https://blog.daliansky.net/Intel ... 3%E8%A1%A5%E4%B8%81 )
Intel 核显驱动常见问题 | WhateverGreen ( https://github.com/acidanthera/W ... l/FAQ.IntelHD.en.md )  (务必看英文版,中文翻译严重过时)

不要和我说什么 WhateverGreen 影响核显满频、跑分低 2 万,我不想听。OpenCore 是 acidanthera 写的,WhateverGreen 也是 acidanthera 写的,自己想想用什么方式和 OpenCore 会更契合。


新的声卡 layout-id 注入方式

大部分 AppleALC 驱动声卡的教程都已经推荐 Clover 中将此处留空、直接在设备属性(Device Properties)中注入 layout-id 了,不过我还是再冗笔一下。

下载 acidanthera 开发的工具 gfxutils ( https://github.com/acidanthera/gfxutil/releases ) ,使用下述命令找出声卡的 PCI 总线位置:


  1. $ path/to/gfxutils -f HDEF
  2. $ path/to/gfxutils -f HDAS
  3. $ path/to/gfxutils -f HDAU
复制代码


然后在设备属性中添加声卡的 PCI 总线位置、注入 layout-id 属性。

Clover 中还有两个声卡相关的 Quirk,但是在 OpenCore 中并没有等效替代的配置:

AFGLowPowerState,需要手动在设备属性中为声卡设备注入 AFGLowPowerState 属性,类型和值为 DATA | <01000000>。

ResetHDA,推荐安装 JackFix ( https://github.com/fewtarius/jackfix )  以及配套的守护进程,除了支持 ResetHDA、还支持 3.5mm 耳机接口的类型切换。



开始迁移到 OpenCore (上)

终于是时候了,所有的准备工作都完成了!你可以抽出一天(最好占卜一下是否是吉日),沐浴更衣,然后开始将你的 EFI 迁移 OpenCore。


下载 OpenCore 所需文件

OpenCorePkg ( https://github.com/acidanthera/OpenCorePkg/releases )  - OpenCore 本体、一些 SSDT 补丁、目录结构
AppleSupportPkg ( https://github.com/acidanthera/AppleSupportPkg/releases )  - 包括三个 EFI 驱动,ApfsDriverLoader、VBoxHfs、AudioDxe
OcBinaryData ( https://github.com/acidanthera/OcBinaryData )  - 包含两个闭源驱动 HfsPlus.efi 和 ExFatDxe.efi,以及 OpenCore 官方主题的图标文件。
非常推荐安装 OpenCore 官方做的主题,和真 Mac 的 BootPicker 一模一样(除了没有网络图标)。不过那可能是另一篇文章的内容了。

决定你使用的配置文件编辑器

ProperTree ( https://github.com/corpnewt/ProperTree ) :一个 Python 编写的 plist 编辑器,专门优化了 OpenCore 和 Clover 配置文件编写。

据说在处理大整数方面存在问题,但我在 GitHub Issue 中并没有看到。如果有人遇到了建议前往 GitHub Issue ( https://github.com/corpnewt/ProperTree/issues )  提交反馈。
Xcode:非常不推荐,Xcode 11 不仅花里胡哨、而且处理 plist data 和大整数方面存在问题。

简单来说,Apple 没有再开放旧版的 Xcode 10 下载、而且 Apple 的 CDN 还有防盗链。因此如果我要写一篇从 Apple 官方下载 Xcode 10 的教程,那么会比你现在看的这篇的「从 Clover 到 OpenCore」要长得多。

如果你和我一样成功下载了 Xcode 10 或者就没有升级到 Xcode 11:我刚才什么都没写,你什么都没看见。


OpenCore Configurator ( https://mackie100projects.altervista.org/opencore-configurator/ ) :Clover Configurator 开发者的新作品。很适合新手使用。

OpenCore 的配置文件变更非常频繁,因此只应该用 最新版的 OpenCore Configurator 搭配 最新的正式版的 OpenCore,否则配置文件格式错误将会导致无法引导。

OpenCore Configurator 有不少低级 Bug(不过之后更新时都修复了),比如之前有一个版本,在应对 VoodooPS2Controller 和 VooooI2C 这种嵌套 kext 时,会只添加内部 kext 的 dsYM 签名文件、却不添加内部 kext 本体。

反正就是,使用后果自负。



https://blog.skk.moe/post/from-clover-to-opencore/



上一篇:从 Clover 到 OpenCore (3) —— 摆脱对 Clover ACPI Quirks 的依赖
下一篇:OpenCore config.plist 配置检测服务
LOADREAM
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则