Jump to content

No Hdmi audio on high Sierra 10.13.3


mahmoudtarek26

Recommended Posts

Hello,

I recently installed high Sierra 10.13.3 instead of El Capitan on Lenovo z51-70

but I found that no audio devices 

I tried to install appleHda all_236.kext + Eapdfix

and id device to 1 

but nothing 

also tried voodoohda 

it runs but with analogue no hdmi 

and quality of sound and (large noise with mic when recording ) not as hdmi 

So, why hdmi not running ? 

attached 

debug report and Efi. 

and I want to thank all staff on that website for their efforts . :-)

debug_2866.zip

EFI.zip

Link to comment
Share on other sites

  • Administrators

HDMI audio usually requires a binary patch of the graphics framebuffer layout so that the associated display port is set to HDMI connector-type 0008 0000. Please refer to the R&D->Graphics subsection of the forum for guidance (guides for Haswell HD4600 and/or IvyBridge HD4000 for instance) since we're dealing with integrated GPU here, not discrete GPU. You run on Broadwell HD5500 graphics with BDW framebuffer layout-id 16260006.

 

If you look into your IOReg, you'll notice:

  1. Framebuffer@0 on port 0 with connector-type 02000000 (LVDS). You'll see the built-in LCD connected to that display port.
  2. Framebuffer@1 on port 5 with connector-type 00040000 (DP).
  3. Framebuffer@2 on port 6 with connector-type 00040000 (DP).

Plug your HDMI display and check in IOReg which framebuffer/port it registers against. Then, in the Broadwell (BDW) framebuffer kext, patch layout-id 16260006 to change the port connector-type from 0004 0000 (DP) to 0800 0000 (HDMI).

 

In 10.13.3, the layout-id is coded as follows:

06002616 01030303 00002002 00005001     // Layout 16260006 (06002616)
00000060 D90A0000 D90A0000 00000000
00000000 00000000
00000800 02000000 30020000              // FB #0/port #0 (0000), type LVDS (02000000)
01050B00 00040000 07050000              // FB #1/port #5 (0105), type DP (00040000)
02040B00 00040000 07050000              // FB #2/port #6 (0204), type DP (00040000)
FF000000 01000000 40000000 0B0B0000
01010500 00000000 05000000 00000000
04000000 00000000 00000000 00000000

`

If HDMI is on FB@1/port 5, patch the layout as follows:

                      \/
Find:       01050B000004000007050000
Replace by: 01050B000008000007050000
                      /\

If HDMI is on FB@2/port 6, patch the layout as follows:

                      \/
Find:       02040B000004000007050000
Replace by: 02040B000008000007050000
                      /\

`

You can either binary mod the actual BDW framebuffer kext directly with a hex editor (HexFiend for instance) or apply the patch, as described above, in Clover. Kext file is: AppleIntelBDWGraphicsFramebuffer.

  • Like 1
Link to comment
Share on other sites

  • Administrators

No, you misunderstood.

 

AppleIntelBDWGraphicsFramebuffer is an existing kext that is currently being used on your system to handle/control your integrated iGPU. You do not install any other version or anything of the sort.

 

Once you have identified the port used by HDMI display through an app like IORegistryExplorer, apply the patch as described above through Clover. Use Clover Configurator app to that effect (in Kernel and Kexts Patches tab).

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...