mirio Posted March 18, 2020 Share Posted March 18, 2020 (edited) Hi guys I fixed almost everything on my laptop thanks to good people in this forum The only missing things are HDMI Audio and iMessage/FaceTime (App Store and iCloud works) I attacched the send-me file (IOReg is separated). Mainly I need the HDMI Audio fix (HDMI video works fine). About iMessage I tried almost everything, maybe except for NVRAM stuff but I always get the error "Contact the customer service" and on other forums people say that when this happen I can do nothing. About Power Management instead I followed Rehabman's guide and I created a SSDT.aml but I'm not sure if it works. Laptop seems to be less hot my specs: HP Pavilion 15 (motherboard HP 80A4) Intel Core i5 6200U Skylake Intel Graphics 520 + Nvidia 940M send-me.zip Edited March 18, 2020 by mirio Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/ Share on other sites More sharing options...
Rocky12 Posted March 18, 2020 Share Posted March 18, 2020 Intel IGPU HDMI/DP audio This guide will explain how to implement HDMI audio for laptops equipped with HDMI ports connected to the Intel integrated GPU. Some of the content also applies to laptops equipped with a DP connector. Laptops with external DP ports require a subset of the patches presented here.In order to implement HDMI/DP, the following requirements must be met:- native Audio with AppleHDA (for more information, read the FAQ... implementing onboard audio is outside the scope of this guide)- appropriate framebuffer (kext) patches to change the connector-type to match the physical connector. In this guide, we use WhateverGreen.kext to effect these patches. renaming B0D3 to HDAU (device at 0x00030000)- injecting property "hda-gfx" = "onboard-1" on HDAU, IGPU, HDEF objects.- Haswell/Broadwell: injecting layout-id on HDAU to match layout-id on HDEF- Haswell: installing FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kextNote: Typically, for PC laptops, the ACPI identifier for the Intel graphics device is GFX0 (some Lenovo products use VID). Since this identifier is typically changed to IGPU to enable IGPU power management, this guide will refer to it as IGPU. Keep that in mind if you haven't yet implemented IGPU PM.Note: In case you're wondering, Skylake (and Kaby Lake, and Coffee Lake) are similar to HD3000/HD4000 in that the HDMI/DP codec is on HDEF (typically HDAS in PC DSDT, renamed to HDEF for OS X) instead on a separate device HDAU.Your config.plist will already contain the renames required.In addition, you will find many useful, but commented out patches/injections in config.plist/Devices/Properties/PciRoot(0)/Pci(0x02,0).For example, this is from config_HD615_620_630_640_650.plist:The rest of this guide will assume you're using the guide plists or have copied the required injections from it to your own config.plist.Frame buffer patchingThe data associated with ig-platform-id (or snb-platform-id with Sandy Bridge), has, for each connector, bits that represent the type of the connector (and other connector related data). Since most Apple products use DP, most connectors by default are DP. In order to get HDMI audio to work, you must patch the kext so the connector data matches the physical connector. If your connector is DP, nothing needs to be done, but if your port is HDMI, you will likely need to patch the connector so it becomes an HDMI connector instead of DP connector.DP connectors are identified in ioreg by connector-type <00 04 00 00>HDMI connectors are identified in ioreg by connector-type = <00 08 00 00>As mentioned above, the plists linked by my guide, you will find patches (for WhateverGreen) for each connector in various ig-platform-id data.The patches in each are disabled by default (by #). The patch properties can be enabled by eliminating the leading # character.The patch you need to use depends on which port the HDMI connector is plugged into. Each port has its own AppleIntelFramebuffer node under IGPU. For example, this image shows each framebuffer node under IGPU on my Lenovo u430:If there were an HDMI device plugged into one of these framebuffers, you would see AppleDisplay under the respective framebuffer, much as you see AppleBacklightDisplay under the framebuffer associated with the LVDS port (laptop internal display).The the case of my Lenovo u430, the HDMI port is associated with AppleIntelFramebuffer@2. Each framebuffer (@0, @1, @2, @3) corresponds to a set of connector data inside the ig-platform-id data, which resides in the framebuffer kext binary. So, for example, to patch the connector-type as HDMI for framebuffer@2 we need to enable two of the properties:framebuffer-con2-enable=1framebuffer-con2-type=<00 08 00 00>In Xcode: For some laptops, you may find the need to change the "pipe" value in the framebuffer connector. This is especially true if your laptop reboots when you plug the HDMI device into the HDMI port (I suppose it could also happen with a DP or mDP connector).It is not fully understood what the meaning of the pipe value is, but various other connectors use '12' instead of '09' (in the unmodified kext) and it has been found that changing pipe to '12' can fix the reboot problem. If we were to need this for @2 (as in example above), we would add/enable an additional WhateverGreen patching property:framebuffer-con2-pipe=<12 00 00 00>In Xcode: Since it may be impossible to determine which connector is used by your HDMI port if the laptop is rebooting, you may need to enable the pipe=12 on all connectors initially.Such as:framebuffer-con1-enable=1framebuffer-con1-pipe=<12 00 00 00>framebuffer-con2-enable=1framebuffer-con2-pipe=<12 00 00 00>framebuffer-con3-enable=1framebuffer-con3-pipe=<12 00 00 00>In Xcode: Once you determine the actual port used by your HDMI (or DP) you can go back and disable the unneeded patches, leaving only the one that is actually associated with your port.Back to the u430 example, before patching for HDMI-audio, the connector-type for AppleIntelFramebuffer@2 is <00 04 00 00>. After patching, it will change to <00 08 00 00>.Before patching:After patching:Renaming B0D3 to HDAUSandy Bridge (HD3000) and Ivy Bridge (HD4000) use a single audio device (HDEF) with multiple codecs (also Skylake and later). Both onboard audio and HDMI audio live on the same HDEF device. As a result, there is no second device, so no need to rename it to HDAU.Haswell and Broadwell use a separate device for the HDMI audio codec. Typically it is named B0D3 (it can be defined in either DSDT or an OEM SSDT). You will see the B0D3 node under PCI0 in ioreg. For OS X, it must be renamed to HDAU. The address of the device is always 0x00030000.The laptop guide plists already have a B0D3->HDAU rename in config.plist/ACPI/DSDT/Paches.Injecting property hda-gfx (and layout-id)For Sandy Bridge and Ivy Bridge (HD3000/HD4000), "hda-gfx"="onboard-1" must be injected on IGPU and HDEF.For Haswell and Broadwell, "hda-gfx"="onboard-1" must be injected on IGPU and HDAU. It is not necessary to inject "hda-gfx" on HDEF, although it doesn't seem to cause a problem.You can inject "hda-gfx" by enabling the property in the appropriate config.plist/Devices/Properties section:IGPU is at PciRoot(0)/Pci(0x02,0)HDEF is at PciRoot(0)/Pci(0x1b,0) on up to and including BroadwellHDEF is at PciRoot(0)/Pci(0x1f,3) on Skylake and laterHDAU, specific to Haswell/Broadwell is at PciRoot(0)/Pci(0x03,0)In this shot, you can see "hda-gfx" enabled for a Broadwell system: Note also that layout-id is enabled for the HDAU, PciRoot(0)/Pci(0x03,0). The layout-id injected there must match the layout-id injected on HDEF (not shown, but at PciRoot(0)/Pci(0x1b,0).For a Haswell system, this is what a completed Devices/Properties might look like for @2 HDMI pipe=12:(note: stripped of most commented entries) Installing FakePCIID.kext FakePCIID_Intel_HDMI_AudioThe AppleHDAController kext implements a whitelist for certain HDAU devices. Some PCs use devices that are not directly supported. But FakePCIID_Intel_HDMI_Audio can spoof the PCI IDs in order to satisfy AppleHDAController's whitelist check.Install both FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext: https://github.com/RehabMan/OS-X-Fake-PCI-IDRead the README to find pre-built kext binaries.There is no harm in installing FakePCIID_Intel_HDMI_Audio even in the case you have a supported HDAU device. The kext will not attach to a device that is natively supported.Checking your workYou can tell if everything is implemented completely within IORegistryExplorer.Initial IORegistryExplorer setup:- Preferences->Find, check "Property Keys"Checking for "hda-gfx"="onboard-1"- in the search box, type "hda-gfx".- you should find it on HDEF/IGPU (Sandy/Ivy/Skylake), and on HDAU/IGPU (Haswell/Broadwell).- looking at at the property value, you should see "onboard-1"Checking for HDAU (Haswell/Broadwell only):- you should find HDAU (not B0D3) under PCI0Checking layout-id:- in the search box, type "layout-id"- you should find it on HDAU (if applicable) and HDEF- if you examine the value in each HDAU and HDEF, HDAU should have the same valueChecking the framebuffer:- check the framebuffer under IGPU that corresponds to your HDMI/DP connector- it should match the physical connector (DP: <00 04 00 00>, HDMI: <00 08 00 00>)Check under HDAU for FakePCIID loading:- if you have an unsupported HDAU, you will notice FakePCIID has attached to the HDAU deviceIf only one of the requirements is not met, it will not work. 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712769 Share on other sites More sharing options...
mirio Posted March 18, 2020 Author Share Posted March 18, 2020 Thanks for 15 minutes ago, Rocky12 said: Intel IGPU HDMI/DP audio This guide will explain how to implement HDMI audio for laptops equipped with HDMI ports connected to the Intel integrated GPU. Some of the content also applies to laptops equipped with a DP connector. Laptops with external DP ports require a subset of the patches presented here.In order to implement HDMI/DP, the following requirements must be met:- native Audio with AppleHDA (for more information, read the FAQ... implementing onboard audio is outside the scope of this guide)- appropriate framebuffer (kext) patches to change the connector-type to match the physical connector. In this guide, we use WhateverGreen.kext to effect these patches. renaming B0D3 to HDAU (device at 0x00030000)- injecting property "hda-gfx" = "onboard-1" on HDAU, IGPU, HDEF objects.- Haswell/Broadwell: injecting layout-id on HDAU to match layout-id on HDEF- Haswell: installing FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kextNote: Typically, for PC laptops, the ACPI identifier for the Intel graphics device is GFX0 (some Lenovo products use VID). Since this identifier is typically changed to IGPU to enable IGPU power management, this guide will refer to it as IGPU. Keep that in mind if you haven't yet implemented IGPU PM.Note: In case you're wondering, Skylake (and Kaby Lake, and Coffee Lake) are similar to HD3000/HD4000 in that the HDMI/DP codec is on HDEF (typically HDAS in PC DSDT, renamed to HDEF for OS X) instead on a separate device HDAU.Your config.plist will already contain the renames required.In addition, you will find many useful, but commented out patches/injections in config.plist/Devices/Properties/PciRoot(0)/Pci(0x02,0).For example, this is from config_HD615_620_630_640_650.plist:The rest of this guide will assume you're using the guide plists or have copied the required injections from it to your own config.plist.Frame buffer patchingThe data associated with ig-platform-id (or snb-platform-id with Sandy Bridge), has, for each connector, bits that represent the type of the connector (and other connector related data). Since most Apple products use DP, most connectors by default are DP. In order to get HDMI audio to work, you must patch the kext so the connector data matches the physical connector. If your connector is DP, nothing needs to be done, but if your port is HDMI, you will likely need to patch the connector so it becomes an HDMI connector instead of DP connector.DP connectors are identified in ioreg by connector-type <00 04 00 00>HDMI connectors are identified in ioreg by connector-type = <00 08 00 00>As mentioned above, the plists linked by my guide, you will find patches (for WhateverGreen) for each connector in various ig-platform-id data.The patches in each are disabled by default (by #). The patch properties can be enabled by eliminating the leading # character.The patch you need to use depends on which port the HDMI connector is plugged into. Each port has its own AppleIntelFramebuffer node under IGPU. For example, this image shows each framebuffer node under IGPU on my Lenovo u430:If there were an HDMI device plugged into one of these framebuffers, you would see AppleDisplay under the respective framebuffer, much as you see AppleBacklightDisplay under the framebuffer associated with the LVDS port (laptop internal display).The the case of my Lenovo u430, the HDMI port is associated with AppleIntelFramebuffer@2. Each framebuffer (@0, @1, @2, @3) corresponds to a set of connector data inside the ig-platform-id data, which resides in the framebuffer kext binary. So, for example, to patch the connector-type as HDMI for framebuffer@2 we need to enable two of the properties:framebuffer-con2-enable=1framebuffer-con2-type=<00 08 00 00>In Xcode: For some laptops, you may find the need to change the "pipe" value in the framebuffer connector. This is especially true if your laptop reboots when you plug the HDMI device into the HDMI port (I suppose it could also happen with a DP or mDP connector).It is not fully understood what the meaning of the pipe value is, but various other connectors use '12' instead of '09' (in the unmodified kext) and it has been found that changing pipe to '12' can fix the reboot problem. If we were to need this for @2 (as in example above), we would add/enable an additional WhateverGreen patching property:framebuffer-con2-pipe=<12 00 00 00>In Xcode: Since it may be impossible to determine which connector is used by your HDMI port if the laptop is rebooting, you may need to enable the pipe=12 on all connectors initially.Such as:framebuffer-con1-enable=1framebuffer-con1-pipe=<12 00 00 00>framebuffer-con2-enable=1framebuffer-con2-pipe=<12 00 00 00>framebuffer-con3-enable=1framebuffer-con3-pipe=<12 00 00 00>In Xcode: Once you determine the actual port used by your HDMI (or DP) you can go back and disable the unneeded patches, leaving only the one that is actually associated with your port.Back to the u430 example, before patching for HDMI-audio, the connector-type for AppleIntelFramebuffer@2 is <00 04 00 00>. After patching, it will change to <00 08 00 00>.Before patching:After patching:Renaming B0D3 to HDAUSandy Bridge (HD3000) and Ivy Bridge (HD4000) use a single audio device (HDEF) with multiple codecs (also Skylake and later). Both onboard audio and HDMI audio live on the same HDEF device. As a result, there is no second device, so no need to rename it to HDAU.Haswell and Broadwell use a separate device for the HDMI audio codec. Typically it is named B0D3 (it can be defined in either DSDT or an OEM SSDT). You will see the B0D3 node under PCI0 in ioreg. For OS X, it must be renamed to HDAU. The address of the device is always 0x00030000.The laptop guide plists already have a B0D3->HDAU rename in config.plist/ACPI/DSDT/Paches.Injecting property hda-gfx (and layout-id)For Sandy Bridge and Ivy Bridge (HD3000/HD4000), "hda-gfx"="onboard-1" must be injected on IGPU and HDEF.For Haswell and Broadwell, "hda-gfx"="onboard-1" must be injected on IGPU and HDAU. It is not necessary to inject "hda-gfx" on HDEF, although it doesn't seem to cause a problem.You can inject "hda-gfx" by enabling the property in the appropriate config.plist/Devices/Properties section:IGPU is at PciRoot(0)/Pci(0x02,0)HDEF is at PciRoot(0)/Pci(0x1b,0) on up to and including BroadwellHDEF is at PciRoot(0)/Pci(0x1f,3) on Skylake and laterHDAU, specific to Haswell/Broadwell is at PciRoot(0)/Pci(0x03,0)In this shot, you can see "hda-gfx" enabled for a Broadwell system: Note also that layout-id is enabled for the HDAU, PciRoot(0)/Pci(0x03,0). The layout-id injected there must match the layout-id injected on HDEF (not shown, but at PciRoot(0)/Pci(0x1b,0).For a Haswell system, this is what a completed Devices/Properties might look like for @2 HDMI pipe=12:(note: stripped of most commented entries) Installing FakePCIID.kext FakePCIID_Intel_HDMI_AudioThe AppleHDAController kext implements a whitelist for certain HDAU devices. Some PCs use devices that are not directly supported. But FakePCIID_Intel_HDMI_Audio can spoof the PCI IDs in order to satisfy AppleHDAController's whitelist check.Install both FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext: https://github.com/RehabMan/OS-X-Fake-PCI-IDRead the README to find pre-built kext binaries.There is no harm in installing FakePCIID_Intel_HDMI_Audio even in the case you have a supported HDAU device. The kext will not attach to a device that is natively supported.Checking your workYou can tell if everything is implemented completely within IORegistryExplorer.Initial IORegistryExplorer setup:- Preferences->Find, check "Property Keys"Checking for "hda-gfx"="onboard-1"- in the search box, type "hda-gfx".- you should find it on HDEF/IGPU (Sandy/Ivy/Skylake), and on HDAU/IGPU (Haswell/Broadwell).- looking at at the property value, you should see "onboard-1"Checking for HDAU (Haswell/Broadwell only):- you should find HDAU (not B0D3) under PCI0Checking layout-id:- in the search box, type "layout-id"- you should find it on HDAU (if applicable) and HDEF- if you examine the value in each HDAU and HDEF, HDAU should have the same valueChecking the framebuffer:- check the framebuffer under IGPU that corresponds to your HDMI/DP connector- it should match the physical connector (DP: <00 04 00 00>, HDMI: <00 08 00 00>)Check under HDAU for FakePCIID loading:- if you have an unsupported HDAU, you will notice FakePCIID has attached to the HDAU deviceIf only one of the requirements is not met, it will not work. Thanks for the reply, I'm not sure if I'm able to follow this guide perfectly. Mainly I'm worried about breaking my perfect actual setup with everything else working ahah. I hope somebody here can do this for me, I appreciate a lot Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712773 Share on other sites More sharing options...
Rocky12 Posted March 18, 2020 Share Posted March 18, 2020 iMessage/FaceTime (App Store and iCloud google is your friend MLB+ROM it s not easy but if you use just a little bit common sense you will definitely find what you are looking for i did that and you can do 2 good luck 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712774 Share on other sites More sharing options...
mirio Posted March 18, 2020 Author Share Posted March 18, 2020 1 minute ago, Rocky12 said: iMessage/FaceTime (App Store and iCloud google is your friend MLB+ROM it s not easy but if you use just a little bit common sense you will definitely find what you are looking for i did that and you can do 2 good luck Even with the Apple customer service error? Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712775 Share on other sites More sharing options...
Rocky12 Posted March 18, 2020 Share Posted March 18, 2020 i have to say again you need proper genuine data to activate those things Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712776 Share on other sites More sharing options...
mirio Posted March 18, 2020 Author Share Posted March 18, 2020 2 minutes ago, Rocky12 said: i have to say again you need proper genuine data to activate those things Is this ok in you opinion? Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712777 Share on other sites More sharing options...
Rocky12 Posted March 18, 2020 Share Posted March 18, 2020 why not if this can solve your problem just give it a go 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712778 Share on other sites More sharing options...
mirio Posted March 19, 2020 Author Share Posted March 19, 2020 (edited) 18 hours ago, Rocky12 said: why not if this can solve your problem just give it a go Made some investigation, called Apple customer Service using a real mac serial number and the result is that my Apple ID is in the black list for iMessage and Facetime, maybe because in the past I tried too many times to fix it. So a solution maybe would be creating a new account but I cant do at the moment because of some important data stored that I need. Sad final I'm still looking for HDMI Audio fix is someone can solve it for me, thanks everyone Edited March 19, 2020 by mirio Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712861 Share on other sites More sharing options...
Rocky12 Posted March 19, 2020 Share Posted March 19, 2020 (edited) Audio is an essential component of any system. Having a HDMI/DP Audio is a great pleasure on Mac. With this feature enabled, you can enjoy watching movies, shows on your big screen television or external Monitor.The following is a guide for enabling HDMI/DP Audio for laptops.Before using this guide, we recommend you to perform a clean installation of macOS.The method is supported on the following.Chipsets : Sandy Bridge Ivy Bridge Haswell Broadwell Skylake Kaby Lake Coffee Lake macOS/OS X versions: Supports macOS/OS X versions: 10.13.x, 10.12.x, 10.11.x Supported Vendors: Intel HD Graphics Requirements Any of the above chipset Any of the above macOS/OS X version Working Intel HD Graphics with correct VRAM and Full QE/CI Patched AppleHDA Before you startNotes : If you've used any other method such as VoodooHDA, AppleALC, or aDummyHDA, make sure to remove those files to avoid conflicts. If you're using any injector, make sure to remove it. AppleHDADisabler, HDAEnabler should be removed. For HDMI audio, you need to inject the hda-gfx, use a patch in config.plist file for the HDMI/DP port and a valid ig-platform id. For some Chipsets such as Haswell and Broadwell, renaming B0D3 to HDAU is necessary. Your Graphics should be working natively with the particular OS X or macOS version and should have no issues. Your Audio should be working using AppleHDA or AppleALC method. For more information, read here: https://www.elitemacx86.com/threads/a-beginners-guide-how-to-patch-applehda-for-laptops.184/ For unsupported HDMI Audio Device, FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext installation is required Mount your EFI PartitionThe very first step is to mount the EFI partition and make the necessary changesOpen your EFI partition and then open your DSDTCommon Patches (DSDT) Rename GFX0 to IGPU Rename B0D3 to HDAU Note : Use "Rename B0D3 to HDAU" only if you're having a Sandy/Ivy/Haswell/Broadwell For more information on DSDT Patching, read here: https://www.elitemacx86.com/threads/guide-how-to-patch-laptop-dsdt-and-ssdts.178/ Acpi patches Change HDAS to HDEF Open your EFI partition and then open your Config.plist file with Clover Configurator.Go to Acpi Tab then DSDT section, Find Patches and type following: Code: Comment: Rename HDAS to HDEF Find* [HEX]: 48444153 Replace [HEX]: 48444546 Layout ID Layout ID as per the AppleHDA Go to Device Tab then Audio section and delete existing value if any and type your layout ID.Under Audio section, be sure to check the ResetHDA Check Box if not checked already.Notes : The DSDT must be patched with the same layout ID. Use Audio layout according to your Audio Codec and also change it while renaming B0D3. Add Device Properties (hda-gfx) Inject hda-gfx=onboard-1 Go to Add Properties section and then add the following : Code: Device: IntelGFX Key: hda-gfx Value: 6F6E626F6172642D3100 Value Type: DATA Comment: hda-gfx=onboard-1 for HDMI audio Code: Device: HDA Key: hda-gfx Value: 6F6E626F6172642D3100 Value Type: DATA Comment : hda-gfx=onboard-1 for HDMI audio Code: Device: HDA Key: layout-id Value: 03000000 Value Type: DATA Comment: layout-id=3 Note : Change the layout according to your Audio Codec in Device properties section, in the last patch. Kernel and Kext Patches A HDMI/DP Audio patch Go to Kernel and Kext Patches Tab and type the following :Sandy Bridge (Intel HD 3000) Code: Name: AppleIntelSNBGraphicsFB Find: 02050000 00040000 07000000 03040000 00040000 09000000 04060000 00040000 09000000 Replace: 02050000 00080000 07000000 03040000 00080000 09000000 04060000 00080000 09000000 Comment: Laptop Intel HD3000 HDMI (snb-platform-id 0x00010000) Ivy Bridge (Intel HD 4000) Code: Name: AppleIntelFramebufferCapri Finde: 30000000 02050000 00040000 07040000 Replace: 30000000 02050000 00080000 06000000 Comment: HDMI-audio HD4000 0x01660003, port 0205 Haswell (Intel HD 4200, 4400, 4600) Code: Name: com.apple.driver.AppleIntelFramebufferAzul Find: 020409000004000087000000 Replace: 020409000008000087000000 Comment: HDMI-audio, port 0204, 0x0a260005 0x0a260006 Broadwell (Intel HD 5300, 5500, 6000) Code: Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer Find: 01050B00 00040000 07050000 Replace: 01050B00 00080000 82000000 Comment: HDMI-audio, port 0105, 0x16120003 0x16120005 0x16120006 0x16260006 Skylake (Intel HD 515, 520, 530, 540, 550) Code: Name: AppleIntelSKLGraphicsFramebuffer Find: 00000800020000009800000001050900000400008701000002040A000004000087010000 Replace: 00000800020000009800000001050900000800008701000002040A000008000087010000 Comment: Laptop Intel HD520 HDMI (ig-platform-id 0x191b0000) Kaby Lake (Intel HD 615, 620, 630, 640, 650) Code: Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer Find: 02040A00000800008701000003060A Replace: 01050A00000800008701000002040A Comment: 0x591b0000, 0105 instead of 0306, HDMI ig-platform-id Use correct ig-platform-id as per the graphics device. Open your config.plist file.Go to Graphics, under ig-platform-id, type the following:Sandy Bridge: 0x00010000Ivy Bridge: 0x01660003Haswell: 0x0a260006Broadwell: 0x16260006Skylake: 0x191b0000Kaby Lake: 0x591b0000Save your config.plist.Save your patched DSDT to your EFI Partition at : /EFI/Clover/ACPI/patchedCheck Unsupported HDMI Audio DeviceUsing DPCIManager, check the Audio DeviceHere's a list of unsupported HDMI Audio Device8086:0c0c, 8086:9d70, 8086:9d71, 8086:9d74, 8086:a170, 8086:a171, 8086:a2f0, or 8086:a348If you've any of the above device, you'll need to install FakePCIID_Intel_HDMI_Audio.kext along with FakePCIIDDownloads FakePCIID Notes : Download the latest version only. Step 5: Installing Graphics kextsAfter editing your config.plist file, the next step is to install the Graphics kexts.You can use either terminal or any other app for installing the kexts.Download the kextsExtract it to your DesktopOpen terminalType Code: sudo cp -R /Users/your user name/Desktop/FakePCIID_Intel_HDMI_Audio.kext FakePCIID /System/Library/Extensions Press enter, when promoted, enter your passwordNote : Make sure to replace your user name with "your user name" Restart your System After performing all the above steps, restart your system in order to enable the Intel HD Graphics. Now you should have a working HDMI Audio Note : OS X/macOS does not allow control of HDMI Audio from the system. You need to control it from the HDMI/DP Device. Problem Reporting Details : Audio Codec macOS version Copy of IOReg Installed AppleHDA.kext Screen shots : DPCIManager/Status System Information/Hardware/Audio (All the available Devices) System Preferences/Sound/Output System Preferences/Sound/Input Clover Files : Compress EFI/Clover, exclude the themes folder Do not include complete EFI folder. Put all files in a folder with your name, compress files as Zip and attach files using site attachments only. Do not use any external links.Credits :RehabMan Vit9696 Edited March 19, 2020 by Rocky12 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712880 Share on other sites More sharing options...
mirio Posted March 19, 2020 Author Share Posted March 19, 2020 2 hours ago, Rocky12 said: Audio is an essential component of any system. Having a HDMI/DP Audio is a great pleasure on Mac. With this feature enabled, you can enjoy watching movies, shows on your big screen television or external Monitor.The following is a guide for enabling HDMI/DP Audio for laptops.Before using this guide, we recommend you to perform a clean installation of macOS.The method is supported on the following.Chipsets : Sandy Bridge Ivy Bridge Haswell Broadwell Skylake Kaby Lake Coffee Lake macOS/OS X versions: Supports macOS/OS X versions: 10.13.x, 10.12.x, 10.11.x Supported Vendors: Intel HD Graphics Requirements Any of the above chipset Any of the above macOS/OS X version Working Intel HD Graphics with correct VRAM and Full QE/CI Patched AppleHDA Before you startNotes : If you've used any other method such as VoodooHDA, AppleALC, or aDummyHDA, make sure to remove those files to avoid conflicts. If you're using any injector, make sure to remove it. AppleHDADisabler, HDAEnabler should be removed. For HDMI audio, you need to inject the hda-gfx, use a patch in config.plist file for the HDMI/DP port and a valid ig-platform id. For some Chipsets such as Haswell and Broadwell, renaming B0D3 to HDAU is necessary. Your Graphics should be working natively with the particular OS X or macOS version and should have no issues. Your Audio should be working using AppleHDA or AppleALC method. For more information, read here: https://www.elitemacx86.com/threads/a-beginners-guide-how-to-patch-applehda-for-laptops.184/ For unsupported HDMI Audio Device, FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext installation is required Mount your EFI PartitionThe very first step is to mount the EFI partition and make the necessary changesOpen your EFI partition and then open your DSDTCommon Patches (DSDT) Rename GFX0 to IGPU Rename B0D3 to HDAU Note : Use "Rename B0D3 to HDAU" only if you're having a Sandy/Ivy/Haswell/Broadwell For more information on DSDT Patching, read here: https://www.elitemacx86.com/threads/guide-how-to-patch-laptop-dsdt-and-ssdts.178/ Acpi patches Change HDAS to HDEF Open your EFI partition and then open your Config.plist file with Clover Configurator.Go to Acpi Tab then DSDT section, Find Patches and type following: Code: Comment: Rename HDAS to HDEF Find* [HEX]: 48444153 Replace [HEX]: 48444546 Layout ID Layout ID as per the AppleHDA Go to Device Tab then Audio section and delete existing value if any and type your layout ID.Under Audio section, be sure to check the ResetHDA Check Box if not checked already.Notes : The DSDT must be patched with the same layout ID. Use Audio layout according to your Audio Codec and also change it while renaming B0D3. Add Device Properties (hda-gfx) Inject hda-gfx=onboard-1 Go to Add Properties section and then add the following : Code: Device: IntelGFX Key: hda-gfx Value: 6F6E626F6172642D3100 Value Type: DATA Comment: hda-gfx=onboard-1 for HDMI audio Code: Device: HDA Key: hda-gfx Value: 6F6E626F6172642D3100 Value Type: DATA Comment : hda-gfx=onboard-1 for HDMI audio Code: Device: HDA Key: layout-id Value: 03000000 Value Type: DATA Comment: layout-id=3 Note : Change the layout according to your Audio Codec in Device properties section, in the last patch. Kernel and Kext Patches A HDMI/DP Audio patch Go to Kernel and Kext Patches Tab and type the following :Sandy Bridge (Intel HD 3000) Code: Name: AppleIntelSNBGraphicsFB Find: 02050000 00040000 07000000 03040000 00040000 09000000 04060000 00040000 09000000 Replace: 02050000 00080000 07000000 03040000 00080000 09000000 04060000 00080000 09000000 Comment: Laptop Intel HD3000 HDMI (snb-platform-id 0x00010000) Ivy Bridge (Intel HD 4000) Code: Name: AppleIntelFramebufferCapri Finde: 30000000 02050000 00040000 07040000 Replace: 30000000 02050000 00080000 06000000 Comment: HDMI-audio HD4000 0x01660003, port 0205 Haswell (Intel HD 4200, 4400, 4600) Code: Name: com.apple.driver.AppleIntelFramebufferAzul Find: 020409000004000087000000 Replace: 020409000008000087000000 Comment: HDMI-audio, port 0204, 0x0a260005 0x0a260006 Broadwell (Intel HD 5300, 5500, 6000) Code: Name: com.apple.driver.AppleIntelBDWGraphicsFramebuffer Find: 01050B00 00040000 07050000 Replace: 01050B00 00080000 82000000 Comment: HDMI-audio, port 0105, 0x16120003 0x16120005 0x16120006 0x16260006 Skylake (Intel HD 515, 520, 530, 540, 550) Code: Name: AppleIntelSKLGraphicsFramebuffer Find: 00000800020000009800000001050900000400008701000002040A000004000087010000 Replace: 00000800020000009800000001050900000800008701000002040A000008000087010000 Comment: Laptop Intel HD520 HDMI (ig-platform-id 0x191b0000) Kaby Lake (Intel HD 615, 620, 630, 640, 650) Code: Name: com.apple.driver.AppleIntelKBLGraphicsFramebuffer Find: 02040A00000800008701000003060A Replace: 01050A00000800008701000002040A Comment: 0x591b0000, 0105 instead of 0306, HDMI ig-platform-id Use correct ig-platform-id as per the graphics device. Open your config.plist file.Go to Graphics, under ig-platform-id, type the following:Sandy Bridge: 0x00010000Ivy Bridge: 0x01660003Haswell: 0x0a260006Broadwell: 0x16260006Skylake: 0x191b0000Kaby Lake: 0x591b0000Save your config.plist.Save your patched DSDT to your EFI Partition at : /EFI/Clover/ACPI/patchedCheck Unsupported HDMI Audio DeviceUsing DPCIManager, check the Audio DeviceHere's a list of unsupported HDMI Audio Device8086:0c0c, 8086:9d70, 8086:9d71, 8086:9d74, 8086:a170, 8086:a171, 8086:a2f0, or 8086:a348If you've any of the above device, you'll need to install FakePCIID_Intel_HDMI_Audio.kext along with FakePCIIDDownloads FakePCIID Notes : Download the latest version only. Step 5: Installing Graphics kextsAfter editing your config.plist file, the next step is to install the Graphics kexts.You can use either terminal or any other app for installing the kexts.Download the kextsExtract it to your DesktopOpen terminalType Code: sudo cp -R /Users/your user name/Desktop/FakePCIID_Intel_HDMI_Audio.kext FakePCIID /System/Library/Extensions Press enter, when promoted, enter your passwordNote : Make sure to replace your user name with "your user name" Restart your System After performing all the above steps, restart your system in order to enable the Intel HD Graphics. Now you should have a working HDMI Audio Note : OS X/macOS does not allow control of HDMI Audio from the system. You need to control it from the HDMI/DP Device. Problem Reporting Details : Audio Codec macOS version Copy of IOReg Installed AppleHDA.kext Screen shots : DPCIManager/Status System Information/Hardware/Audio (All the available Devices) System Preferences/Sound/Output System Preferences/Sound/Input Clover Files : Compress EFI/Clover, exclude the themes folder Do not include complete EFI folder. Put all files in a folder with your name, compress files as Zip and attach files using site attachments only. Do not use any external links.Credits :RehabMan Vit9696 Fixed with this guide but then I lost the internal audio I dont how it's actually patched, because Maldon did it for me. What could I have missed? Hdmi Audio was working fine with this guide. Now I reverted back to the previous config.plist with internal audio working Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712897 Share on other sites More sharing options...
Rocky12 Posted March 19, 2020 Share Posted March 19, 2020 check this config.plist config.zip 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712903 Share on other sites More sharing options...
mirio Posted March 19, 2020 Author Share Posted March 19, 2020 (edited) 3 hours ago, Rocky12 said: check this config.plist config.zip EDIT: Everything working now by adding the Skylake Patch in "Kernel and Kext Patches" -> "Kexts to patch" as it says in the guide: Name: AppleIntelSKLGraphicsFramebuffer Find: 00000800020000009800000001050900000400008701000002040A000004000087010000 Replace: 00000800020000009800000001050900000800008701000002040A000008000087010000 Comment: Laptop Intel HD520 HDMI (ig-platform-id 0x191b0000) But this time I added this patch only, I didnt touch anything in Device fields or other stuff like I did previously. thank you so much @Rocky12 Edited March 20, 2020 by mirio 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712921 Share on other sites More sharing options...
mirio Posted March 20, 2020 Author Share Posted March 20, 2020 Now @Rocky12 the ultimate fix that I need is black screen when I unplug the HDMI cable, works fine while plugged in. If I unplug the cable the screen goes black and I just can reboot. I'm sure you can provide the perfect guide for me ahahah 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712924 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 (edited) if you are happy with your hack book i am happy 2 enjoy your lappy we are only strong when we work togethe Edited March 20, 2020 by Rocky12 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712925 Share on other sites More sharing options...
mirio Posted March 20, 2020 Author Share Posted March 20, 2020 8 hours ago, Rocky12 said: if you are happy with your hack book i am happy 2 enjoy your lappy we are only strong when we work togethe I think we could mark this thread and the previous as "SOLVED", what do you think? And about my hdmi black screen unplug issue should I create a new one? Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2712968 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 yes you can create new thread where you can explain your personal experiences and all the other stuff how to solve or how you did only with your specific model ================================================================================== Unplugging HDMI turns the screen off You can enable the laptop screen again by closing the lid while the HDMI is connected and the open the lid again, both screen will be working(in my case thats what i do every time Open hidpi, it will automatically correct your monitor's EDID, you can solve the black screen problem, while the external HDMI monitor is working properly Fixed the issue, was the refresh rate that was set to 60hz and it is default of my screen, when I changed, the laptop unlocked and showed the extended screen! Now everything works perfect Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713083 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 (edited) infomaterial you need to double check the framebuffer patch and all the display connector Skylake (Intel HD 515, 520, 530, 540, 550) Name: AppleIntelSKLGraphicsFramebuffer Find: 00000800020000009800000001050900000400008701000002040A000004000087010000 Replace: 00000800020000009800000001050900000800008701000002040A000008000087010000 Comment: Laptop Intel HD520 HDMI (ig-platform-id 0x191b0000) Edited March 20, 2020 by Rocky12 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713084 Share on other sites More sharing options...
mirio Posted March 20, 2020 Author Share Posted March 20, 2020 1 hour ago, Rocky12 said: infomaterial you need to double check the framebuffer patch and all the display connector Skylake (Intel HD 515, 520, 530, 540, 550) Name: AppleIntelSKLGraphicsFramebuffer Find: 00000800020000009800000001050900000400008701000002040A000004000087010000 Replace: 00000800020000009800000001050900000800008701000002040A000008000087010000 Comment: Laptop Intel HD520 HDMI (ig-platform-id 0x191b0000) Is hidpi this one?:https://github.com/xzhih/one-key-hidpi About framebuffer I have patched exactly as the guy says in your link in fact it's working perfectly. Many people get black screen when plugging the cable. I found almost no one having the issue of unpluggin only while the lid is closed. Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713104 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 something needs to be fixed in one of the Display EDID 1 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713106 Share on other sites More sharing options...
mirio Posted March 20, 2020 Author Share Posted March 20, 2020 1 minute ago, Rocky12 said: something needs to be fixed in one of the Display EDID How to access those settings? Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713107 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 on hackintosh you can use clover Log on windows use this Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713109 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 (edited) https://en.wikipedia.org/wiki/Extended_Display_Identification_Data Edited March 20, 2020 by Rocky12 Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713112 Share on other sites More sharing options...
mirio Posted March 20, 2020 Author Share Posted March 20, 2020 17 minutes ago, Rocky12 said: https://en.wikipedia.org/wiki/Extended_Display_Identification_Data So the only thing that's not clear for me in my situation is: in clover should I inject the laptop's edid or the external monitor's one? Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713116 Share on other sites More sharing options...
Rocky12 Posted March 20, 2020 Share Posted March 20, 2020 that,s why you have to chech the display connector in IORegistryExplorer to identify wrong display connector Link to comment https://www.insanelymac.com/forum/topic/343035-last-fix-neededhdmi-audio/#findComment-2713119 Share on other sites More sharing options...
Recommended Posts