OpenCore引导使用AppleALC修复音频声卡驱动 | 您所在的位置:网站首页 › opencoreconfigurator怎么添加驱动 › OpenCore引导使用AppleALC修复音频声卡驱动 |
视频教程 点击进入YouTube视频教程————————————– 点击进入bilibili视频教程目录: 1.准备 2.查找您的布局ID 3.测试布局 4.使布局ID更永久 5.其他问题 1.准备首先,我们必须要安装了Lilu和AppleALC,如果不确定是否已正确加载,则可以在终端中运行以下命令(这还将检查是否已加载AppleHDA,因为如果没有AppleALC,则无法正常打补丁): kextstat | grep -E "AppleHDA|AppleALC|Lilu"输入后回车出现如下 如果全部三个都出现,那就很好了。注意确保不存在 VoodooHDA 、FakePCllD_ Intel. HDMI_ Audio.kext、只要涉及声卡其他的驱动全部删除,否则将与AppleALC冲突。 2.确定声卡型号/查找您的布局ID确定声卡型号的几种方式 检查主板规格页面和手册 在Windows中检查DeviceManager 万能的百度也能查 运行cat在Linux上的终端 cat /proc/asound/card0/codec#0 | less 可通过windows系统查看,右键我的电脑——管理——设备管理器——声音、视频和游戏控制器——右键设备属性——详细信息——属性中选择硬件id,查看第一行“值”,注意dev后面的值,0282,那么型号就是ALC282. 使用娱乐大师,导出txt文本的详细电脑配置信息,导出后也会显示你声卡的信息,如下图两个地方都会有以下内容我将使用ALC1220为例,通过AppleALC.kext声卡驱动支持的硬件型号与ID速查表http://imacos.top/2019/09/07/1920/我们得到以下信息: 0x100003, layout 1, 2, 3, 5, 7, 11, 13, 15, 16, 21, 27, 28, 29, 34以上的信息说明了两件事: 支持哪个硬件版本(0x100003),仅当列出多个版本且布局不同时才相关 声卡ID(layout 1, 2, 3, 5, 7, 11, 13, 15, 16, 21, 27, 28, 29, 34)支持的各种布局ID现在有了受支持的布局ID的列表,我们准备一一尝试 注意:如果您的音频编解码器是ALC 3XXX,则可能是错误的,而只是重新命名的控制器,请进行研究,以查看实际的控制器是什么。 ALC3601就是一个例子,但是当我们加载Linux时,会显示真实名称:ALC 671 3.测试声卡ID为了测试我们的ID,我们将使用boot-arg alcid=xxx,其中xxx是您的ID值。请记住,一次尝试一个布局ID值 。不要添加多个ID或alcid boot-args,如果一个不起作用,请尝试下一个ID值。 NVRAM ├── Add ├── 7C436110-AB2A-4BBB-A880-FE41995C9F82 ├── bootargs | String | alcid=11 4.使布局ID更永久找到适合您的声卡Layout ID后,我们可以创建一个更永久的解决方案,以更接近真实Mac设置其Layout ID的方式。 使用AppleALC,有一个优先级层次结构,通过该层次结构可以对属性进行优先级排序: alcid=xxx boot-arg,对调试有用,并覆盖所有其他值 alc-layout-id 在DeviceProperties中,建议用于AppleALC layout-id 在DeviceProperties中,Mac使用相同的属性正如我们在“AppleALC.kext声卡驱动支持的硬件型号与ID速查表”中看到的那样,它希望通过您设置布局ID,alc-layout-id以便在AppleALC上更轻松,我们将使用DeviceProperties进行设置 首先,我们需要找出音频控制器PCI设备的地址。 方式一:我们将在MacOS终端上使用方便的工具gfxutil: path/to/gfxutil -f HDEF如下图HDEF之后的PciRoot(0x0)/Pci(0x1F,0x3)就是声卡的pcie设备地址 方式二:使用Hackintool.app - PCle - Audio device - PciRoot(0x0)/Pci(0x1F,0x3) 然后将此带有子级的PciRoot添加alc-layout-id到DeviceProperties-> Add下的config.plist中: DeviceProperties ├── Add ├── PciRoot(0x0)/Pci(0x1F,0x3) ├── alc-layout-id | Data | 0b000000请注意,0b000000值属于十六进制,来源于之前声卡列表ID 11,11为十进制,把11转换为十六进制即为0b000000,你可以是用Hackintool.app的计算器来转换 因此,在这个例子中,alcid=11将成为alc-layout-id | Data | 请注意,最终值应总共为4个字节(即0B 00 00 00),因为声卡ID超过255(FF 00 00 00)将需要记住这些字节已转换。所以256将变成FF 01 00 00 5.其他问题部分笔记本电脑需要打如下的DSDT补丁才能驱动: # Maintained by: RehabMan for: Laptop Patches # system_IRQ.txt # This can fix non-working audio and also has an affect on HPET. # Use this if you have issues with patched AppleHDA (required on almost all laptops) # or if you have issues with HPET (restart after wake). # IRQ fix into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched; into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched; into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\).*\n\s+\{((?:.|\n)*)\}\) replace_matched begin Name (%1, ResourceTemplate()\n {\n IRQNoFlags() { 0, 8, 11, 15 }\n %2 })\n end;关于DSDT的提取与补丁的注入方式可以参考此文 http://imacos.top/2019/08/09/0958/AMD上没有麦克风: 当在AMD上运行AppleALC时,这是一个常见问题,特别是尚未制作任何补丁来支持Mic输入。目前,“最佳”解决方案是购买USB DAC / Mic或采用VoodooHDA.kext方法。VoodooHDA的问题在于,它比AppleALC不稳定且音频质量较差 来自Clover的相同布局ID在OpenCore上不起作用 这很可能是IRQ冲突的原因,在Clover上有大量自动应用的ACPI热补丁。解决这个问题有点麻烦,但是SSDTTime的FixHPET选项可以处理大多数情况。 对于RTC和HPET从其他设备(如USB和音频)获取IRQ的奇怪情况,您可以在trashOS存储库中引用HP Compaq DC7900 ACPI补丁示例 原文链接:http://imacos.top/2020/04/23/1004-3/,转载请注明出处。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |