本帖最后由 Zymgeek 于 2020-3-11 17:39 编辑
记录本人黑苹果声卡定制过程,在10.14.6和10.15.3系统下亲测都成功了,台式电脑GA-B85N Phoenix-WIFI(rev.2.0)ALC899声卡驱动定制,全文将以ALC899如何定制进行讲解。 首先要感谢黑果小兵部落阁、简书、草原企鹅、vit9696等等,感谢他们提供的教程、源码、工具等等技术分享。让我能正确定制属于自己的声卡驱动文件,笔记是记录个人定制声卡过程,只提供作为参考。 目录
- 定制声卡驱动的文件
- 提取声卡codec
- 需要的工具
- 节点信息的获取及整理
- 修改对应的文件
- 编译
开始
1.定制声卡驱动的文件
下载最新的AppleALC-master和Lilu-master
2.提取声卡codec
clover提取codec
Clover支持audiodex-64.efi的版本并安装该驱动,或者升级最新clover并在安装时勾选audiodex-64.efi驱动。
在clover引导界面,按f8快捷键,会提取到EFI/CLOVER/misc目录下生成HdaCodec#x(Realtek ALCxxx).txt。这就是你提取的codec
Linux提取codec
此方法依据个人操作习惯,过程就不介绍,可自行网上搜索,或者黑果小兵部落阁的AppleALC声卡仿冒驱动AppleHDA的正确姿势教程
3.需要的工具
Xcode可以在app store下载
pin configurator
plistedit pro
zlib转换器(可以不要编译时自动转换)
HDAU tool工具(win下获取节点信息更容易)
4.节点信息的获取及整理
获取声卡节点路径前的准备
保证驱动是微软高清声卡驱动,控制面板卸载之前的驱动程序,重启,win10请点击更新系统检查。
使用工具HDAU tool软件在win下可以很清新得到节点路径。
通过节点整理得出下图的信息 并进行声卡从新定义物流接口信息。
使用工具pin configurator获取configdate节点信息数据,pin configurator>文件>打开>选择提取声卡codec的txt文件。可以减去自己推导烦恼,更多相关推导及修改,请参考别的教程。
把上面整理好的声卡定义的路径进行修改,把没有的端口进行删除(移除)然后获取configdate数据,如下图。
得到configdate节点数据,复制保存,后面需要使用。
5.修改对应的文件
需要修改四个文件
Applealc-master—>resources—>pinconfigs.kext—>contents—>info.Plist
Applealc-master—>resources—>alc899—>info.Plist
Applealc-master——resources——alc899—>layout.xml.zlib
Applealc-master——resources——alc899—>Platforms.xml.zlib
下面是按顺序修改,理解对应关系的可以忽略。
对Applealc-master—>resources—>pinconfigs.kext右键显示包内容打开—>contents—>info.Plist文件进行修改。
使用plistedit pro打开,搜索在codec中VendorID: 0x10EC0899 的十进制**283904153**这串数字。把之前导出configdate节点数据复制到对应的位置。
查看Applealc-master—>resources—>alc899—>info.Plist要修改对应ID的文件名称。
查看Applealc-master——resources——alc899—>layout.xml.zlib要修改Platforms.xml文件里的对应ID的节点路径位置,可以自定义自己的ID,但节点路径也要改相同ID。本文就以节点路径ID898为例
对于mic和line in的子项下的muteGPIO的数据没有说,因为本人没有改。对于898的是对应最后一个修改的文件,可以修改为自己喜欢的数字,最后一个文件也直接修改为相同ID,不影响使用。 对Applealc-master——resources——alc899—>Platforms.xml.zlib文件进行修改
找到要修改节点路径的ID898位置,pathmaps的13的子项下。 修改节点路径,自己参考各种教程自己理解,有不足之处请指出。 到这就修改的文件就完成了。 6.编译
AppleALC文件夹下加lilu.kext联合编译 AppleALC.kext和lilu.kext放到引导驱动文件夹下,引导配置文件config注入声卡ID:1。重启电脑。 同一组内节点解释 本笔记教程到此结束。
|