概述
近来发现很多新手似乎不太明白驱动声卡的流程,也有同学清楚需要使用 AppleALC.kext,也知道要注入 id,可是就在启动参数那里扔一个 alcid=1 就觉得“我完事了”?,这个其实还没完,还有一些步骤要做,本篇将详细介绍一下驱动声卡的详细方法。
瑞昱 ALC 芯片
对于主流的 瑞昱 ALC 芯片(Realtek ALC),推荐使用 AppleALC.kext,它由 acidanthera 团队开发维护,是一个开放源代码内核扩展(Kernel Extension,缩写 kext),可以无需进行任何文件系统修改就可以为不受苹果官方支持的编解码器提供 HD 音频服务。目前来看,市面上大多数主板均板载了瑞昱的 ALC 芯片,所以 AppleALC.kext 也成为了主流驱动方案。
如何确认你的音频芯片是不是瑞昱,具体是 ALC 哪一款,可以通过以下几种方法:
鲁大师经典版,硬件检测标签下,声卡一栏在大部分情况下可以直接看到瑞昱以及具体 ALC 型号:
或者到主板的官方查看具体参数,比如微星 MPG Z490M,一般情况下主板厂商会在参数页面明确标注出具体芯片的型号:
此外,如果你已经安装好了 macOS,还可以使用 Hackintool → 音频 进行查看。
仅在极少数情况下,可能存在显示芯片型号和实际芯片型号不一致的情况,常见于 OEM 产品,比如联想的启天 M420 部分机型,此类情况请先百度自己的芯片型号以确定真实的型号。
最后,除了瑞昱的 ALC 系列芯片外,AppleALC 还支持部分其他品牌的芯片(但型号都比较老旧),例如 AnalogDevices、Conexant,IDT 等,具体可参考下面的表格。[ri-post id="5206" thumb="none"]
找到合适的布局 ID
下一步,根据你得到的 ALC 芯片型号信息,在上面的表中找到对应的布局 ID(layout-id),例如 ALC1220 的对应 id 有 1, 2, 3, 5, 7, 11, 13, 15, 16, 21, 27, 28, 29, 34 ,前面可能还有一个修订号,这个指的是硬件版本,个别型号就会有这类情况,就是布局 ID 特别多,不知道用哪个,这个时候推荐优先尝试 11 以下的 id,因为 1-10 是为基本补丁资源预留的布局 ID:
- 台式机优先 1, 2, 3, 5, 7
- 笔记本优先 1, 2, 3, 4, 5, 6, 7, 8
注入启动参数测试布局 ID
这里分为 OpenCore 和 Clover 两种情况。为了快速测出哪个布局 ID 适用你的硬件,推荐使用启动参数注入法。需要注意的是,无论使用 OpenCore 引导还是 Clover 引导,都不要使用下面的 ACPI 重命名补丁,因为 AppleALC 自己可以处理这些问题:
- HDAS to HDEF
- B0D3 to HDAU
OpenCore
下载 AppleALC.kext,把文件放到 /EFI/OC/Kexts/ 目录,然后使用你喜欢的编辑器编辑 config.plist 文件,找到以下位置:
以 ALC1220 为例,计划测试 1, 2, 3, 5, 7 这几个 ID,直接添加启动参数 alcid=1,重启后若没有效果则修改为 alcid=2,以此类推,直到找到适合使用的布局 ID。
Clover
使用三叶草引导的用户注意,注意需要先关闭以下选项:
- ACPI → Fixes → FixHDA
- ACPI → Fixes → AddHDMI
- Devices → UseIntelHDMI
- Devices → Audio → Inject 的值设置为 No
下载 AppleALC.kext,把文件放到 /EFI/Clover/Kexts/Other/ 目录,然后找到以下位置:
以 ALC1220 为例,计划测试 1, 2, 3, 5, 7 这几个 ID,直接添加启动参数 alcid=1,重启后若没有效果则修改为 alcid=2,以此类推,直到找到适合使用的布局 ID。
固定注入 ALC 布局 ID
经过上一步确定了要使用的 id 以后,就可以把信息固定到设备属性(DeviceProperties)中,这里分为 OpenCore 和 Clover 两种情况。
OpenCore
使用你中意的编辑器编辑 config.plist 文件,找到以下位置:
添加以下 Pci 位置:
在大多数情况下,板载音频硬件位置就是上述位置,如果不是则可以使用下面的工具来确定具体位置。
接下来,注入能让 AppleALC 正确运行的信息,以 OpenCore Configurator 为例,设置内容如下图:
参数解释:
Clover
使用三叶草引导的用户注意,注意需要先关闭以下选项:
- ACPI → Fixes → FixHDA
- ACPI → Fixes → AddHDMI
- Devices → UseIntelHDMI
- Devices → Audio → Inject 的值设置为 No
然后找到下图中的位置进行设置:
参数解释:
最后,删除启动参数中的 alcid=N,重启计算机即可。至此,使用 AppleALC.kext 驱动声卡的流程结束。
常见问题
Q:注入了所有列出的 id,都没有用。
A:打开终端,输入以下命令,检查 AppleALC 是否正确加载:
如果你看到三行分别包含 AppleHDA、AppleALC、Lilu 的输出结果,那么 AppleALC.kext 就是正常加载状态,注意,Lilu.kext 需要在 config 中排到第一位置,否则你的 macOS 系统会出现很多莫名其妙的问题。另外,请勿同时启用下面的 kexts,因为它们和 AppleALC 是冲突的:
- RealtekALC.kext
- CloverALC.kext
- VoodooHDA.kext
- HDABlocker.kext
- HDAEnabler.kext
Q:我的芯片是 ALC,但是不在任何一个列表里怎么办?
A:这种情况先在网上搜索一下你得到的 ALC 芯片型号,有一些控制器是主板厂商自己重新更换了马甲的,例如 ALC3601,其真身是 ALC671。
Q:从 Windows 热重启切换到 macOS 后音频丢失怎么办?
A:可以尝试添加启动参数 alctsel=1 或添加以下设备属性:
Q:我的声卡无法用 AppleALC 驱动,怎么办?
A:可使用万能声卡驱动 VoodooHDA.kext,效果比 AppleALC 要差一些,不过至少解决了从无到有的问题。
注明:所有文件均归属于原作者,本网站只提供下载。如果您不希望你的文件被本网站收录,请发送邮件到shaengli@163.com,我将移除文件
评论(1)
这篇驱动方法不对,请参考以下文章https://blog.xjn819.com/post/opencore-guide.html