使用 AppleALC 驱动黑苹果声卡

概述

最后更新:2023/12/30,添加了详细整理好的定制 layout-id 表格

近来发现很多新手似乎不太明白驱动声卡的流程,也有同学清楚需要使用 AppleALC.kext,也知道要注入 id,可是就在启动参数那里扔一个 alcid=1 就觉得“我完事了”😂,这个其实还没完,还有一些步骤要做,本篇将详细介绍一下驱动声卡的详细方法。

 

瑞昱 ALC 芯片

对于主流的 瑞昱 ALC 芯片(Realtek ALC),推荐使用 AppleALC.kext,它由 Acidanthera 团队开发维护,是一个开放源代码内核扩展(Kernel Extension,缩写 kext),可以无需进行任何文件系统修改就可以为不受苹果官方支持的编解码器提供 HD 音频服务。目前来看,市面上大多数主板均板载了瑞昱的 ALC 芯片,所以 AppleALC.kext 也成为了主流驱动方案。

如何确认你的音频芯片是不是瑞昱,具体是 ALC 哪一款,可以通过以下几种方法:

鲁大师经典版,硬件检测标签下,声卡一栏在大部分情况下可以直接看到瑞昱以及具体 ALC 型号:

使用 AppleALC 驱动黑苹果声卡

或者到主板的官方查看具体参数,比如微星 MPG Z490M,一般情况下主板厂商会在参数页面明确标注出具体芯片的型号:

使用 AppleALC 驱动黑苹果声卡

此外,如果你已经安装好了 macOS,还可以使用 Hackintool → 音频 进行查看。

使用 AppleALC 驱动黑苹果声卡

仅在少数情况下,可能存在显示芯片型号和实际芯片型号不一致的情况,常见于 OEM 产品重新包装,但实际上芯片还是那个芯片,比如戴尔 Inspiron 5548,你会看到 ALC3234 这种古怪型号,但实际上它是 ALC255 加了个马甲,此类情况需要先查清楚真实的型号。

最后,除了瑞昱的 ALC 系列芯片外,AppleALC 还支持部分其他品牌的芯片(但型号都比较老旧),例如 AnalogDevices、Conexant,IDT 等,具体可参考下面的表格。

制造商 编码译码器 修订和布局 最小内核 最大内核
AnalogDevices AD1984 0x100400, layout 11 13 (10.9)
AnalogDevices AD1984A 0x100400, layout 11, 13, 44 13 (10.9)
AnalogDevices AD1988A layout 12 13 (10.9)
AnalogDevices AD1988B layout 5, 7, 12 13 (10.9)
AnalogDevices AD2000B layout 5, 7 13 (10.9)
Creative CA0132 0x100918 layout 0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 12 13 (10.9)
CirrusLogic CS4210 0x100101 layout 13 13 (10.9)
CirrusLogic CS4213 0x100100 layout 28 13 (10.9)
Conexant CX8050 layout 3, 13 16 (10.12)
Conexant CX8070/CX11880 layout 15 13 (10.9)
Conexant CX8150 layout 21, 22 13 (10.9)
Conexant CX8200 layout 3, 15, 21, 23 16 (10.12)
Conexant CX8400 layout 12 13 (10.9)
Conexant CX20561 0x100000, layout 11 13 (10.9)
Conexant CX20583 layout 3 13 (10.9)
Conexant CX20585 layout 3, 13 13 (10.9)
Conexant CX20588 layout 3 13 (10.9)
Conexant CX20590 0x100000, 0x100002, 0x100003, layout 3, 12, 13, 14, 28 13 (10.9)
Conexant CX20632 layout 23, 28 13 (10.9)
Conexant CX20641 layout 11, 13 13 (10.9)
Conexant CX20642 layout 11, 13 13 (10.9)
Conexant CX20722 layout 3 16 (10.12)
Conexant CX20724 layout 3, 13 13 (10.9)
Conexant CX20751/CX20752 layout 3, 21, 28 13 (10.9)
Conexant CX20753/CX20754 layout 3, 14, 15, 21 16 (10.12)
Conexant CX20755 layout 3 13 (10.9)
Conexant CX20756 layout 3, 13 13 (10.9)
Conexant CX20757 layout 3, 28 13 (10.9)
IDT IDT92HD66C3/65 layout 3 13 (10.9)
IDT IDT92HD71B7X layout 3 13 (10.9)
IDT IDT92HD73C1X5 layout 19, 21 13 (10.9)
IDT IDT92HD75B2X5 layout 3 13 (10.9)
IDT IDT92HD75B3X5 layout 3, 11 13 (10.9)
IDT IDT92HD99BXX layout 3 13 (10.9)
IDT IDT92HD87B1 layout 3 13 (10.9)
IDT IDT92HD81B1C5 layout 3, 11 13 (10.9)
IDT IDT92HD81B1X5 layout 3, 11, 12, 20, 21, 28 13 (10.9)
IDT IDT92HD87B1/3 layout 12, 13 13 (10.9)
IDT IDT92HD87B2/4 layout 12 13 (10.9)
IDT IDT92HD90BXX layout 3, 12 13 (10.9)
IDT IDT92HD91BXX 0x100102, 0x100303 layout 3, 12, 13, 33, 84 13 (10.9)
IDT IDT92HD93BXX 0x100203, layout 12 13 (10.9)
IDT IDT92HD95 layout 12 13 (10.9)
Realtek ALC215 layout 18 13 (10.9)
Realteck ALC222 layout 11 12 (10.8)
Realtek ALC221 layout 11, 15 12 (10.8)
Realtek ALC225 layout 28, 30, 33, 90 13 (10.9)
Realtek ALC230 layout 13, 20 13 (10.9)
Realtek ALC233 layout 3, 4, 5, 13, 21, 27, 28, 29, 32, 33 13 (10.9)
Realtek ALC245 layout 11, 12, 13 13 (10.9)
Realtek ALC235 layout 3, 11, 12, 14, 15, 16, 21, 22, 28 13 (10.9)
Realtek ALC236 0x100001, 0x100002 layout 3, 11, 13, 15, 16, 54, 99 13 (10.9)
Realtek ALC255 layout 3, 11, 13, 15, 17, 18, 21, 27, 28, 30, 31, 99 13 (10.9)
Realtek ALC256 layout 5, 11, 13, 14, 21, 22, 28, 56, 57, 66, 97 13 (10.9)
Realtek ALC257 layout 11, 18 13 (10.9)
Realtek ALC260 layout 11, 12 13 (10.9)
Realtek ALC262 0x100202 layout 7, 11, 12, 13, 28 13 (10.9)
Realtek ALC268 layout 3 13 (10.9)
Realtek ALC269 0x100004, 0x100100, 0x100202, 0x100203 layout 1-21, 27-33, 35, 40, 45, 55, 58, 66, 76, 88, 93, 99, 100, 127, 188 12 (10.8)
Realtek ALC270 0x100100, layout 3, 4, 21, 27, 28 13 (10.9)
Realtek ALC272 0x100001, layout 3, 11, 18, 21 13 (10.9)
Realtek ALC274 0x100004, layout 21 13 (10.9)
Realtek ALC275 0x100005, 0x100008, layout 3, 13, 28 13 (10.9)
Realtek ALC280 layout 3, 4, 11, 13, 15, 16, 21 13 (10.9)
Realtek ALC282 0x100003, layout 3, 4, 13, 22, 27, 28, 29, 41, 43, 51, 76, 86, 127 12 (10.8)
Realtek ALC283 layout 1, 3, 11, 15, 44, 66 13 (10.9)
Realtek ALC287 layout 11 13 (10.9)
Realtek ALC284 layout 3 13 (10.9)
Realtek ALC285 layout 11, 21, 31 13 (10.9)
Realtek ALC286 0x100002, 0x100003 layout 3, 11 13 (10.9)
Realtek ALC288 layout 3, 13, 23 13 (10.9)
Realtek ALC289 layout 23 13 (10.9)
Realtek ALC290 layout 3, 4, 28 13 (10.9)
Realtek ALC292 layout 12, 18, 28, 32, 55 13 (10.9)
Realtek ALC293 layout 11, 28, 29 13 (10.9)
Realtek ALC623 layout 21 13 (10.9)
Realtek ALC294 layout 11, 12, 13, 21 13 (10.9)
Realtek ALC295 layout 1, 3, 13, 14, 15, 21, 28, 77 13 (10.9)
Realtek ALC298 0x100101, 0x100103 layout 3, 11, 13, 21, 22, 28, 29, 30, 32, 47, 66, 72, 99 13 (10.9)
Realtek ALC299 0x100002 layout 21, 22 13 (10.9)
Realtek ALC662 0x100101, 0x100300 layout 5, 7, 11, 12, 13, 15, 16, 17 13 (10.9)
Realtek ALC663 0x100001, 0x100002, layout 3, 4, 15, 28, 99 13 (10.9)
Realtek ALC665 layout 12, 13 13 (10.9)
Realtek ALC668 0x100003, layout 3, 20, 27, 28, 29 13 (10.9)
Realtek ALC670 0x100002, layout 12 13 (10.9)
Realtek ALC671 layout 12, 15 13 (10.9)
Realtek ALC700 layout 11 13 (10.9)
Realtek ALC882 0x100101, layout 5, 7 13 (10.9)
Realtek ALC883 0x100002, layout 7 13 (10.9)
Realtek ALC885 0x100101, 0x100103 layout 1, 12, 15 13 (10.9)
Realtek ALC887 0x100202, 0x100302, layout 1, 2, 3, 5, 7, 11, 13, 17, 18, 20, 33, 40, 50, 52, 53, 87, 99 13 (10.9)
Realtek ALC888 0x100101, 0x100001, 0x100202, 0x100302 layout 1, 2, 3, 4, 5, 7, 11, 27, 28, 29 13 (10.9)
Realtek ALC889 0x100004, layout 1, 2, 3, 11, 12 13 (10.9)
Realtek ALC891 0x100002, layout 11, 13 13 (10.9)
Realtek ALC892 0x100302, layout 1, 2, 3, 4, 5, 7, 12, 15, 16, 17, 18, 28, 31, 90, 92, 97, 99 13 (10.9)
Realtek ALC897 layout 12, 23, 66, 69 13 (10.9)
Realtek ALC898 layout 1,2,3,5,7,11,13,28,65,66,98,99,101 13 (10.9)
Realtek ALC1150 0x100001, layout 1, 2, 3, 5, 7, 99 12 (10.8)
Realtek ALC1220 layout 1, 2, 3, 5, 7, 11, 13, 15, 16, 17, 21, 27, 28, 29, 30, 34, 35, 98, 99 12 (10.8)
Realtek ALCS1200A layout 1, 2, 3, 7, 49, 50, 51, 69 12 (10.8)
Realtek ALCS1220A layout 1, 2, 3, 5, 7, 11, 20, 21 15 (10.11)
SigmaTel STAC9200 0x102201, layout 11 12 (10.8)
SigmaTel STAC9872AK 0x100201, layout 12 12 (10.8)
VIA VT1705 0x100000, layout 21 13 (10.9)
VIA VT1802 0x100000, layout 3, 33, 65 13 (10.9)
VIA VT2020/VT2021 0x100100, layout 5, 7, 9 13 (10.9)
AMD Radeon 290/290X 15 (10.11)
AMD Radeon R9 Fury/R9 Fury X 15 (10.11)
AMD Vega-M 15 (10.11)
AMDZEN Controller 0x1457
AMDZEN Controller 0x1487
AMDZEN Controller 0x15E3
Intel HD4600 13 (10.9)
Intel Atom Z36xxx/Z37xxx 13 (10.9)
Intel Z97 controller 13 (10.9)
Intel X99 controller 0x8D20 13 (10.9)
Intel X99 controller 0x8D21 13 (10.9)
Intel WhiskeyLake 16 (10.12)
Intel 200 Series Mobile 16 (10.12)
Intel 200 Series 16 (10.12)
Intel 300 Series 16 (10.12)
Nvidia GK208 17 (10.13.4)
Nvidia GM200 17 (10.13.4)
Nvidia GM204 17 (10.13.4)
Nvidia GM206 17 (10.13.4)
Nvidia GP102 17 (10.13.4)
Nvidia GP104 17 (10.13.4)
Nvidia GP106 17 (10.13.4)
Nvidia GP107 17 (10.13.4)
Nvidia GP108 17 (10.13.4)
Nvidia GTX860M 17 (10.13)

另外,每次 AppleALC.kext 更新版本时都会添加一些新的型号,具体可参阅下表,或参阅 AppleALC 下载页的更新说明部分。

AppleALC 支持的声卡详细列表

当前内容被隐藏,登陆后查看

已有297042次阅读

 

找到合适的布局 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

如果是比较新的主板,例如 300 系或 400 系,近期的 AppleALC 更新中有人专门为其定制了布局 ID 的,那么优先选择定制的 ID。

这里再介绍另一种布局 ID 的查找方法,打开 AppleALC 的开发堆栈,在列表中可以直接看到支持的型号表:

使用 AppleALC 驱动黑苹果声卡

找到你的芯片型号点击进入,即可看到有几个 layout-id:

使用 AppleALC 驱动黑苹果声卡

 

注入启动参数测试布局 ID

这里分为 OpenCore 和 Clover 两种情况。为了快速测出哪个布局 ID 适用你的硬件,推荐使用启动参数注入法。需要注意的是,无论使用 OpenCore 引导还是 Clover 引导,都不要使用下面的 ACPI 重命名补丁,因为 AppleALC 自己可以处理这些问题:

  • HDAS to HDEF
  • B0D3 to HDAU
OpenCore

下载 AppleALC.kext,把文件放到 /EFI/OC/Kexts/ 目录,然后使用你喜欢的编辑器编辑 config.plist 文件,找到以下位置:

NVRAM → 7C436110-AB2A-4BBB-A880-FE41995C9F82 → boot-args 

以 ALC1220 为例,计划测试 1, 2, 3, 5, 7 这几个 ID,直接添加启动参数 alcid=1,重启后若没有效果则修改为 alcid=2,以此类推,直到找到适合使用的布局 ID。

使用 AppleALC 驱动黑苹果声卡

 

Clover

使用三叶草引导的用户注意,注意需要先关闭以下选项:

  • ACPI → Fixes → FixHDA
  • ACPI → Fixes → AddHDMI
  • Devices → UseIntelHDMI
  • Devices → Audio → Inject 的值设置为 No

下载 AppleALC.kext,把文件放到 /EFI/Clover/Kexts/Other/ 目录,然后找到以下位置:

Boot → Arguments 

以 ALC1220 为例,计划测试 1, 2, 3, 5, 7 这几个 ID,直接添加启动参数 alcid=1,重启后若没有效果则修改为 alcid=2,以此类推,直到找到适合使用的布局 ID。

使用 AppleALC 驱动黑苹果声卡

 

固定注入 ALC 布局 ID

经过上一步确定了要使用的 id 以后,就可以把信息固定到设备属性(DeviceProperties)中,这里分为 OpenCore 和 Clover 两种情况。

OpenCore

使用你中意的编辑器编辑 config.plist 文件,找到以下位置:

DeviceProperties → Devices 

添加以下 Pci 位置:

PciRoot(0x0)/Pci(0x1F,0x3) 

在大多数情况下,板载音频硬件位置就是上述位置,如果不是则可以使用下面的工具来确定具体位置。

当前内容被隐藏,登陆后查看

已有297042次阅读

接下来,注入能让 AppleALC 正确运行的信息,以 OpenCore Configurator 为例,设置内容如下图:

使用 AppleALC 驱动黑苹果声卡

参数解释:

当前内容被隐藏,登陆后查看

已有297042次阅读

Clover

使用三叶草引导的用户注意,注意需要先关闭以下选项:

  • ACPI → Fixes → FixHDA
  • ACPI → Fixes → AddHDMI
  • Devices → UseIntelHDMI
  • Devices → Audio → Inject 的值设置为 No

然后找到下图中的位置进行设置:

使用 AppleALC 驱动黑苹果声卡

参数解释:

当前内容被隐藏,登陆后查看

已有297042次阅读

最后,删除启动参数中的 alcid=N,重启计算机即可。至此,使用 AppleALC.kext 驱动声卡的流程结束。

 

常见问题

Q:注入了所有列出的 id,都没有用。

A:打开终端,输入以下命令,检查 AppleALC 是否正确加载:

kextstat | grep -E "AppleHDA | AppleALC | Lilu" 

如果你看到三行分别包含 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:Clover 中可以使用的 id,到了 OpenCore 里就没有声音输出?

A:这可能是由 IRQ 冲突导致的,因 Clover 有不少的 ACPI 热补丁是自动应用的,所以掩盖了这个问题,所以到了 OpenCore 问题又出现。可以使用 SSDTTime 中的 FixHPET 选项来解决问题。

当前内容被隐藏,登陆后查看

已有297042次阅读

 

Q:从 Windows 热重启切换到 macOS 后音频丢失怎么办?

A:可以尝试添加启动参数 alctsel=1 或添加以下设备属性:

alctsel | Data | 01000000 

 

Q:我的声卡无法用 AppleALC 驱动,怎么办?

A:可使用万能声卡驱动 VoodooHDA.kext,效果比 AppleALC 要差一些,不过至少解决了从无到有的问题。

 

AppleALC 黑苹果教程 黑苹果星球
0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 使用 AppleALC 驱动黑苹果声卡

使用 AppleALC 驱动黑苹果声卡

黑酱 超级会员

黑苹果台式机 EFI:微星B460M迫击炮 i5-10500 UHD630 RX570 OpenCore 0.8.1

黑苹果镜像 macOS Sequoia 15.0(24A5298h) Dev Beta 4开发者测试版带 OpenCore 1.0.1 和 FirPE 引导

黑苹果台式机 EFI:铭瑄B660M-终结者 i5-12600K OpenCore 0.8.0

黑苹果笔记本 EFI:华硕x550vc i5-3230M HD4000 OpenCore 0.9.3

如何破解 DMG/RAR/ZIP/7Z 文件的密码?

黑苹果ALC声卡驱动:AppleALC.kext 1.8.0

黑苹果笔记本 EFI:华为Matebook X Pro 2020 OpenCore 0.8.4

黑苹果台式机 EFI:技嘉Z690-UD4-D4 i9-12900K 6600XT SN770 OpenCore 0.9.3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注