找回密码
 注册账号
搜索
查看: 1820|回复: 0

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

[复制链接]

755

主题

158

回帖

5568

积分

超级版主

积分
5568

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 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/

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

站点地图|童话镇

GMT+8, 2024.4.21 00:39 , Processed in 0.050070 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表