jjgn 发表于 2018-5-22 10:14

[已解决]再次求助,hd4400的HDMI音频输出问题。

本帖最后由 jjgn 于 2018-5-24 18:56 编辑

机器是k4450a,用的hotpatch方式,照搬了另外大神的efi。与hdmi相关的三个文件是
1、SSDT-HDAU#45.aml
DefinitionBlock ("", "SSDT", 2, "hack", "HDAU", 0x00000000)
{
    External (_SB_.PCI0.HDAU, DeviceObj)    // (from opcode)
    External (RMCF.AUDL, IntObj)    // (from opcode)

    Method (_SB.PCI0.HDAU._DSM, 4, NotSerialized)// _DSM: Device-Specific Method
    {
      If (CondRefOf (\RMCF.AUDL))
      {
            If (LEqual (Ones, \RMCF.AUDL))
            {
                Return (Zero)
            }
      }

      If (LNot (Arg2))
      {
            Return (Buffer (One)
            {
               0x03                                          
            })
      }

      Store (Package (0x04)
            {
                "layout-id",
                Buffer (0x04)
                {
                     0x1C, 0x00, 0x00, 0x00                        
                },

                "hda-gfx",
                Buffer (0x0A)
                {
                  "onboard-2"
                }
            }, Local0)
      If (CondRefOf (\RMCF.AUDL))
      {
            CreateDWordField (DerefOf (Index (Local0, One)), Zero, AUDL)
            Store (\RMCF.AUDL, AUDL)
      }

      Return (Local0)
    }

    Name (_SB.PCI0.HDEF.RMCF, Package (0x02)
    {
      "CodecCommander",
      Package (0x08)
      {
            "Custom Commands",
            Package (0x03)
            {
                Package (0x00){},
                Package (0x08)
                {
                  "Command",
                  Buffer (0x04)
                  {
                         0x01, 0x57, 0x08, 0x83                        
                  },

                  "On Init",
                  ">y",
                  "On Sleep",
                  ">n",
                  "On Wake",
                  ">y"
                },

                Package (0x08)
                {
                  "Command",
                  Buffer (0x04)
                  {
                         0x01, 0xA7, 0x07, 0x24                        
                  },

                  "On Init",
                  ">y",
                  "On Sleep",
                  ">n",
                  "On Wake",
                  ">y"
                }
            },

            "Perform Reset",
            ">y",
            "Send Delay",
            0x0A,
            "Sleep Nodes",
            ">n"
      }
    })
}
2、SSDT-HDEF.aml
DefinitionBlock ("", "SSDT", 2, "hack", "HDEF", 0x00000000)
{
    External (_SB_.PCI0.HDEF, DeviceObj)    // (from opcode)
    External (RMCF.AUDL, IntObj)    // (from opcode)

    Method (_SB.PCI0.HDEF._DSM, 4, NotSerialized)// _DSM: Device-Specific Method
    {
      If (CondRefOf (\RMCF.AUDL))
      {
            If (LEqual (Ones, \RMCF.AUDL))
            {
                Return (Zero)
            }
      }

      If (LNot (Arg2))
      {
            Return (Buffer (One)
            {
               0x03                                          
            })
      }

      Store (Package (0x06)
            {
                "layout-id",
                Buffer (0x04)
                {
                     0x1C, 0x00, 0x00, 0x00                        
                },

                "hda-gfx",
                Buffer (0x0A)
                {
                  "onboard-2"
                },

                "PinConfigurations",
                Buffer (Zero){}
            }, Local0)
      If (CondRefOf (\RMCF.AUDL))
      {
            CreateDWordField (DerefOf (Index (Local0, One)), Zero, AUDL)
            Store (\RMCF.AUDL, AUDL)
      }

      Return (Local0)
    }

    Name (_SB.PCI0.HDEF.RMCF, Package (0x02)
    {
      "CodecCommander",
      Package (0x08)
      {
            "Custom Commands",
            Package (0x03)
            {
                Package (0x00){},
                Package (0x08)
                {
                  "Command",
                  Buffer (0x04)
                  {
                         0x01, 0x57, 0x08, 0x83                        
                  },

                  "On Init",
                  ">y",
                  "On Sleep",
                  ">n",
                  "On Wake",
                  ">y"
                },

                Package (0x08)
                {
                  "Command",
                  Buffer (0x04)
                  {
                         0x01, 0xA7, 0x07, 0x24                        
                  },

                  "On Init",
                  ">y",
                  "On Sleep",
                  ">n",
                  "On Wake",
                  ">y"
                }
            },

            "Perform Reset",
            ">y",
            "Send Delay",
            0x0A,
            "Sleep Nodes",
            ">n"
      }
    })
}
3、SSDT-IGPU#.aml中的相关内容


            0x0A16,
            Zero,
            Package (0x08)
            {
                "AAPL,ig-platform-id",
                Buffer (0x04)
                {
                     0x06, 0x00, 0x26, 0x0A                        
                },

                "model",
                Buffer (0x17)
                {
                  "Intel HD Graphics 4400"
                },

                "device-id",
                Buffer (0x04)
                {
                     0x12, 0x04, 0x00, 0x00                        
                },

                "hda-gfx",
                Buffer (0x0A)
                {
                  "onboard-2"
                }
            },



死也出不来。附件中是config文件,请大神指点。更加奇怪的是,有时瞎改改,结果是hdmi有声音,自带声卡没动静了。

jjgn 发表于 2018-5-23 08:46

人工顶贴。求助大神。

jjgn 发表于 2018-5-23 10:31


就是那个不显示型号的设备。

jjgn 发表于 2018-5-24 07:38


当出现这种状态时,也就是两块声卡的codec id都出现的时候,hdmi音频能出声,但是本本自带声卡就不显示,更加没有声音出现了
当出现只有第一个声卡的codec id出现的时候,就是本本自带声卡有出现 ,hdmi音频不显示,也没动静。

jjgn 发表于 2018-5-24 11:20

防沉底补丁

ike1988 发表于 2018-5-24 15:25

去掉这2个文件,然后运行这个补丁试试。

jjgn 发表于 2018-5-24 16:08

ike1988 发表于 2018-5-24 15:25 https://www.pcbeta.com/static/image/common/back.gif
去掉这2个文件,然后运行这个补丁试试。

谢谢关注。
没有效果,运行这个脚本时显示没有检测到HDMI codec。

的确是的。默认情况下就是声卡启用了,HDMI声卡没启用。

我现在的感觉就是只能同时启用一个。

不知道咋搞了。所有前辈类似的贴子都爬过了,都爬到 R 大的贴子里去,最后的结果也是这样。

ike1988 发表于 2018-5-24 16:42

本帖最后由 ike1988 于 2018-5-24 16:44 编辑

jjgn 发表于 2018-5-24 16:08 https://www.pcbeta.com/static/image/common/back.gif
谢谢关注。
没有效果,运行这个脚本时显示没有检测到HDMI codec。


那只能试试给dsdt打补丁了,你声卡用什么驱动的?另外CodecCommander中有个禁用hdmi声音的选项,默认是开启的,需要关闭,作者文档里写了。

jjgn 发表于 2018-5-24 17:59

ike1988 发表于 2018-5-24 16:42 https://www.pcbeta.com/static/image/common/back.gif
那只能试试给dsdt打补丁了,你声卡用什么驱动的?另外CodecCommander中有个禁用hdmi声音的选项,默认是开 ...

非常感谢。果然是这个原因,我前几天还看到这个设置的值的,就是没去看作者的说明。
我用的AppleHDA原生驱动。

在此表示感谢。

xq773939719 发表于 2018-6-22 11:10

谢谢楼主分享

mrwootao 发表于 2019-1-3 11:02

ike1988 发表于 2018-5-24 15:25 https://www.pcbeta.com/static/image/common/back.gif
去掉这2个文件,然后运行这个补丁试试。

已解决,一键搞定。非常感谢{:5_264:}

bjoy123 发表于 2019-1-6 23:37

非常非常感谢

2510431486 发表于 2019-6-9 17:30

爬楼学习。。。

2510431486 发表于 2019-6-9 17:33

下载总双线程

zzhx668 发表于 2021-11-19 18:11

谢谢楼主分享~~~~~

zzhx668 发表于 2021-11-19 18:12

ike1988 发表于 2018-5-24 15:25 https://bbs.pcbeta.com/static/image/common/back.gif
去掉这2个文件,然后运行这个补丁试试。

谢谢了,正为hdmi音频输出烦恼呢
页: [1]
查看完整版本: [已解决]再次求助,hd4400的HDMI音频输出问题。