Jump to content
About Just Joined group Read more... ×
MARZILLO

hdmi audio intel 4400

30 posts in this topic

Recommended Posts

Advertisement

I dont mean to necro an oldish thread but i too have HD4400 and i cannot seem to get hdmi audio to work.
I have attached config & ioreg. (Removed, downloaded but no comments)
Please @Mirone or someone i need your help.

 

***Solved***

Share this post


Link to post
Share on other sites

I already run that file and mount the EFI partition, but it shows this error message.

Drag the script file into a terminal window then press return. Don't double click the script.

 

Sent from my SM-G930F using Tapatalk

Share this post


Link to post
Share on other sites

You have a laptop with HD4400 graphics. Therefore you must be faking desktop HD4600 dev id 0x0412 and inject layout id 0x0a260006.

 

All you need to do is patch that particular layout in your Azul framebuffer kext to define the HDMI type 0008. Details of the patch are available here. Can be done through binary mod of the kext or through Clover's on-the-fly facility.

 

Your DSDT will also require to have a device called HDAU (sometimes called BOD3 by default) in which you may have to inject a DSM method with hda-gfx,{"onboard-1"} definition. Example:

           Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
           {
               Store (Package (0x02)
               {
                   "hda-gfx", 
                   Buffer (0x0A)
                   {
                       "onboard-1"
                   }
               }, Local0)
               DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
               Return (Local0)
            }

Share this post


Link to post
Share on other sites

Here's is a copy of SSDT-10 table where device HDAU was patched with the following XDSM method:

           Method (XDSM, 4, NotSerialized)
           {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }

                Return (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }

I also added the desktop HD4600 id injection before the layout-id injection in device IGPU:

           Method (XDSM, 4, NotSerialized)
           {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }

                Return (Package (0x06)
                {
                    "device-id",
                    Buffer (0x04)
                    {
                        0x12, 0x04, 0x00, 0x00          // Desktop HD4600 id 
                    },
                    
                    "AAPL,ig-platform-id", 
                    Buffer (0x04)
                    {
                         0x06, 0x00, 0x26, 0x0A         // Azul FB #12
                    }, 

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

SSDT-10.aml.zip

 

Make sure that you install all necessary Rehabman's FakePCIID kexts:

  • FakePCIID
  • FakePCIID_Intel_HD_Graphics
  • FakePCIID_Intel_HDMI_Audio
 
Finally and as stated previously in post #20, you must patch layout 0x0a260006 of your Azul framebuffer kext to set the relevant output port to HDMI type. This is usually done through the following binary patch (unchanged from Mavericks to High Sierra):
Find:      01050900 00040000 87000000
Replace: 01051200 00080000 87000000
 
For instance,10.13's vanilla layout code is as follows:
0600260A 01030303 00000002 00003001
00006000 00000060 D90A0000 D90A0000
00000000 00000000
                  00000800 02000000     // vanilla port #0 (0000), type LVDS (02000000)
30000000
         01050900 00040000 87000000     // vanilla port #5 (0105), type DP (00040000) to change for HDMI output
02040900 00040000 87000000              // vanilla port #6 (0204), type DP (00040000)
                           FF000000
01000000 40000000 0F000000 01010000
04000000 00000000 0E000000 00000000
 
Questions:
  1. which audio codec do you have?
  2. do you currently have audio working with patched AppleHDA?
  3. do you currently have HDMI video output working?
  4. which OS X/macOS version do you currently run?

If you use Clover, please post a zipped copy of your EFI folder. A zipped copy of an IORegistryExplorer output be most useful too.

 

NB: It could help if you posted your system's specifications in signature.

Share this post


Link to post
Share on other sites

Here's is a copy of SSDT-10 table where device HDAU was patched with the following XDSM method:

           Method (XDSM, 4, NotSerialized)
           {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }

                Return (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                })
            }

I also added the desktop HD4600 id injection before the layout-id injection in device IGPU:

           Method (XDSM, 4, NotSerialized)
           {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                           
                    })
                }

                Return (Package (0x04)
                {
                    "device-id",
                    Buffer (0x04)
                    {
                        0x12, 0x04, 0x00, 0x00          // Desktop HD4600 id 
                    },
                    
                    "AAPL,ig-platform-id", 
                    Buffer (0x04)
                    {
                         0x06, 0x00, 0x26, 0x0A         // Azul FB #12
                    }, 

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

Make sure that you install all necessary Rehabman's FakePCIID kexts:

  • FakePCIID
  • FakePCIID_Intel_HD_Graphics
  • FakePCIID_Intel_HDMI_Audio
 
Finally and as stated previously in post #, you must patch layout 0x0a260006 of your Azul framebuffer kext to set the relevant output port to HDMI type. This is usually done through the following binary patch:
Find:       01050900 00040000 87000000
Replace: 01051200 00080000 87000000
 
Questions:
  1. which audio codec do you have?
  2. do you currently have audio working with patched AppleHDA?
  3. do you currently have HDMI video output working?
  4. which OS X/macOS version do you currently run?

NB: It could help if you posted your system's specifications in signature.

 

1. For the code, should i remove the existing _DSM on my HDAU to that _XDSM code ? In order my device is laptop, not desktop (S451LB series has only HDMI port and there is no VGA port.

 

2. I have installed all 

*see the Screen shot

 

3. For clover patch, i have added that

*see the Screen shot

 

Answered Question : 

1. How to know the audio codec ? Can you tell me ?

2. Yes, my device is ALC233 and already use the patched HDA and all of output and input are working

3. I try it and HDMI worked

4. Version 10.12.6

post-2242469-0-76443900-1510035795_thumb.png

post-2242469-0-11804500-1510035869_thumb.png

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

×