grayt 发表于 2022-4-18 10:45

笔记本板载声卡AppleALC驱动问题

目前板载的声卡一般都用AppleALC驱动后,尝试不同的layoutID,能让声卡正确发声。但是笔记本有时候声卡并没有被Apple ALC驱动,这时无论你用什么id声卡都不能发声的。
声卡没有驱动的表现,就是声音状态栏下音量调节是灰色的,不能调节音量。用Hackintool工具,在PCIe下能够看到声卡,但是在Sound下没有声卡,这时声卡并没有被AppleALC驱动,当然就不能发声。
这种情况一般都在笔记本电脑中出现,声卡没有被驱动的原因很大可能是IRQ冲突导致。所以修复IRQ冲突就可以用AppleALC顺利驱动声卡,然后在替换不同ID让声卡发声。
Opencore的装机教程中提示在包括Broadwell之前的CPU都需要修复IRQ的问题。修复的方法是用SSDTTime修复:

[*]下载ssdttime
[*]在ssdttime解压目录下,运行SSDTTime.bat,选择8提取DSDT.aml文件。文件会提取在Results目录下。
[*]然后选择1FixHPET。
[*]然后选择C选项


[*]运行完成后,会在results目录下生成四个文件

[*]SSDT-HPET.dsl
[*]SSDT-HPET.aml
[*]patch_CLOVER.plist
[*]patch_OC.plist

将SSDT-HPET.aml文件放到EFI中的ACPI目录下,如果你用opencore就用patch_OC.plist补丁,如果是CLOVER,用patch_CLOVER.plist,给config.plist打上补丁。
重启后就可以在Hackintool下看你的声卡了,这时候音量调节就不是灰色的了,但是不一定有声音,自己在替换不同的layoutID,看哪个能让声卡出声音。

总是晴天 发表于 2022-4-18 11:35

就是把提取出来的patch_OC.plist里面的patch下的内容复制到自己的config.plist里面,再保存,就可以了吗?

grayt 发表于 2022-4-18 12:15

本帖最后由 grayt 于 2022-4-18 12:29 编辑

总是晴天 发表于 2022-4-18 11:35 https://bbs.pcbeta.com/static/image/common/back.gif
就是把提取出来的patch_OC.plist里面的patch下的内容复制到自己的config.plist里面,再保存,就可以了吗?
添加SSDT-HPET.aml文件到ACPI目录和patch_OC.plist内容到config.plist文件中,两个都要。config.plist文件可以用propertree编辑,添加了aml的文件后,要用propertree文件中的snapshot功能,可以自动增加aml文件启动项到config.plist文件中。

总是晴天 发表于 2022-4-18 18:37

添加patch_OC.plist内容到config.plist文件中,具体怎么操作呢?也用snapshot功能?

grayt 发表于 2022-4-18 19:26

总是晴天 发表于 2022-4-18 18:37 https://bbs.pcbeta.com/static/image/common/back.gif
添加patch_OC.plist内容到config.plist文件中,具体怎么操作呢?也用snapshot功能?

菜单File——snapshot——选择OC文件夹

linyunfeng 发表于 2022-4-25 21:09

谢谢分享!!!!

893868702 发表于 2022-4-29 09:11

感谢大佬的分享

a17437 发表于 2022-5-13 21:56

感谢大佬的分享啊,

123888999 发表于 2022-6-13 00:28

非常感谢大佬

123888999 发表于 2022-6-13 00:30

安装成功但是一直没有解决声卡问题

CodeRooster 发表于 2022-6-28 19:28

123888999 发表于 2022-6-13 00:30 https://bbs.pcbeta.com/static/image/common/back.gif
安装成功但是一直没有解决声卡问题

    + 检查:打开终端运行检查驱动是否都已经加载
    ```
    kextstat | grep -E "AppleHDA|AppleALC|Lilu"
    ```
    > 如果AppleHDA、AppleALC、Lilu 这三个都出现就继续
    > 没有出现以上 3 个或只出现部分,请检查是否在引导中加入了下列驱动
    ```
    RealtekALC.kext
    CloverALC.kext
    VoodooHDA.kext
    HDA Blocker.kext
    ```
    > 注意:AppleHDAContrxxx 不是 AppleHDA 如果只加载到AppleHDAContrxxx 没加载到AppleHDA 应该是需要修复 HPET (Fix HPET)”、“修复 IPIC (Fix IPIC)

    > 因为实操中使用Clover引导,没勾选修复 HPET (Fix HPET)”、“修复 IPIC (Fix IPIC)也是只加载到:AppleHDAContrxxx 没加载到AppleHDA ,勾选修复 HPET (Fix HPET)”、“修复 IPIC (Fix IPIC) 就能驱动声卡成功,这些功能 OpenCore 并不原生支持,我们需要添加并加载一些 SSDT 才可以实现

    + 其他命令
    ```
    kextstat | grep -v "com.apple"      显示除了苹果之外的驱动加载
    kextstat | grep -v "com.apple" | grep -v "Energy"   查看加载的非官方驱动

    ioreg -l | grep layout-id 查看注入id值
    ```

    + OpenCore 修复 HPET (Fix HPET)”、“修复 IPIC (Fix IPIC)
      - 对于 HPET 和 IRQ 相关的补丁,可以使用 SSDTTime 根据原始 DSDT 自动生成。
      -对于 IPIC 补丁,可以参考使用[宪武的热补丁OC-little)](https://github.com/daliansky/OC-little)下的21-声卡IRQ补丁
      + 工具
            - [编译和修改ACPI文件的实用型工具 MaciASL Github项目地址](https://github.com/acidanthera/MaciASL)
            - [编译和修改ACPI文件的实用型工具 MaciASL bitbucket下载地址](https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads)
            - [反汇编工具 iasl GitHub 项目下载地址](https://github.com/RehabMan/Intel-iasl)
            - [反汇编工具 iasl 下载地址](https://bitbucket.org/RehabMan/acpica/downloads/)

            - 编译`*.dsl`文件为`*.aml`
            ```
            从渠道下载SSDT-IPIC.dsl文件
            ```
            - 反编译ACPI文件
            ```
            从渠道获取Acpi的文件*.aml。
            在MacOS系统终端Terminal中反汇编:
            cd 文件所在文件夹
            iasl -da -dl DSDT.aml SSDT*.aml
            反编译成功后,你将得到 所有文件的 dsl 形式(即 *.dsl),修改就是使用 dsl 文件进行
            ```
            > 注意:不要用-da命令去反编译 DSDT和 SSDT 以外的 ACPI文件,那将是无效的(所以还是把多余的文件先清掉!)

页: [1]
查看完整版本: 笔记本板载声卡AppleALC驱动问题