• Become a Premium Member for $25/year with no ads to improve your community experience.

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
6,637
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Enable Intel IGPU HDMI/DP Audio on macOS

An EliteMacx86 Exclusive Guide - This guide covers the implementation of Intel IGPU HDMI/DP Digital Audio on macOS using Clover and OpenCore. By following this guide, you'll be able to enable Intel IGPU HDMI/DP Audio on macOS for your Desktop or Laptop using Clover or OpenCore Bootloader.

Overview


Audio is an essential component of any system. Having an HDMI/DP Audio is a great pleasure on Mac. With this feature enabled, you can enjoy watching movies, and shows on your big screen television, or external Monitor. The following is a guide for enabling HDMI/DP Audio on Intel IGPU for Desktops and Laptops. Implementing Digital Audio on macOS is very simple.

For NVIDIA and AMD HDMI/DP Audio

Compatibility


Not all Graphics are compatible with macOS. Refer to the thread linked below for more information on Graphics compatibility.


Requirements


GraphicsmacOS Compatible IGPU with acceleration
MonitorAny Monitor/TV with HDMI/DP support
HDMI/DP CableOriginal boxed cable or a Certified Cable
AppleHDA.kextVanilla/Original AppleHDA.kext in S/L/E
macOS VersionmacOS Sierra and Later

QUICK INFO:
  • OS X/macOS does not allow control of DP/HDMI Audio from the system (No Volume, no mute, no balance). You need to control it from the DP/HDMI Device itself.

STEP 1: Remove Outdated Kexts, Injections and ACPI Renames


The first step is to remove the kexts, injections, and ACPI renames that can interfere with the Graphics implementation. To remove such, follow the steps below.

Kexts Removal
If you're using any of these kexts listed below, it is recommended to remove them. See notes below.

1. Mount your ESP
2. Remove the following kexts.
  • VoodooHDA.kext
  • aDummyHDA.kext
  • RealtekALC.kext
  • AppleHDADisabler.kext
  • HDAEnabler.kext
  • CodecCommander.kext
  • HDMIAudio.kext
  • IntelGraphicsFixup.kext
  • NvidiaGraphicsFixup.kext
  • CoreDisplayFixup.kext
  • Shiki.kext
  • IntelGraphicsDVMTFixup.kext
  • AzulPatcher4600.kext
  • AppleBacklightFixup.kext,
  • FakePCIID_Intel_HD_Graphics.kext
  • FakePCIID_Intel_HDMI_Audio.kext
  • FakePCIID.kext
NOTES:
  • If you're using OpenCore, you'll also need to remove the kext entries from your kernel section in your config.plist
  • For Mojave and prior, make sure these kexts don't exist in Library/Extensions or System/Library/Extensions.
  • For a few systems, it may require FakePCIID_Intel_HD_Graphics.kext and FakePCIID_Intel_HDMI_Audio.kext to enable Graphics and HDMI/DP Audio. However, the use of such is in special cases only.
  • Do not remove FakePCIID.kext if you're using any other FakePCIID plugins.

Clover Properties and Injections
If you're using Clover, you need to disable Clover properties and injections.

1. Mount your ESP
2. Open your config.plist and disable and/or remove the following from their respective sections

Disable DSDT Fixes
The DSDT fixes can be disabled in Acpi>Fixes section.
  • AddHDMI
  • FixDisplay
  • FixIntelGfx
  • AddIMEI
  • FixHDA
  • AddPNLF
Remove Fake IDs
The Fake IDs can be disabled in the Devices>Fake ID section.
  • ATI
  • IntelGFX
  • NVidia
  • IMEI
Disable Audio Properties
The Audio injection properties can be disabled in the Devices>Audio section.
  • Inject
  • AFGLowPowerState
  • ResetHDA
Disable injection properties
The injection properties can be disabled in the Devices>Properties section.
  • Inject
  • UseIntelHDMI
  • HDMIInjection
  • SetIntelBacklight
  • SetIntelMaxBacklight
Disable Graphics Injection
The Graphics injection can be disabled in the Graphics section
  • ATI
  • Intel
  • NVidia
Disable ACPI Renames
If you're using any ACPI renames, you'll need to disable or delete the ACPI renames as these can conflict with WhateverGreen's automatic renames.

1. Mount your ESP
2. Open your config.plist and remove the following ACPI renames. For Clover, it's in Acpi>DSDT>Patches section and for OpenCore, it's under ACPI>Patch section.
  • HECI to IMEI
  • MEI to IMEI
  • HDAS to HDEF
  • AZAL to HEDF
  • B0D3 to HDAU
  • GFX0 to IGPU
  • PEGP to GFX0
STEP 2: Enable Graphics with acceleration


Before you enable IGPU HDMI/DP Audio, you need to enable your Graphics with full acceleration. To enable the Graphics, select the framebuffer. To set the framebuffer, follow STEP #4 from the guide linked below.

STEP 3: Patch Connectors


The next step is to patch connectors for enabling digital audio. To patch the connectors, follow "Patching Connectors" from the guide linked below.

STEP 4: Enable Audio


Although it is not necessary to enable built-in Audio for having Digital Audio it doesn't seem to cause a problem and is always recommended to have the onboard audio enabled. To enable the onboard audio, follow the guide linked below.

STEP 5: Inject Property


The next step is to inject hda-gfx property on IGPU. To inject the hda-gfx property, follow the steps below.

QUICK INFO:
  • 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.

1. Mount your ESP
2. Open your config.plist
3. Depending on the bootloader you use, add the following properties (see notes) to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore)

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides digital audio over HDMI/DP/Type-C and can also fix crash issues when Hot plugging.
  • Required for all IGPUs.
PciRoot(0)/Pci(0x1b,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • Required for up to Broadwell.
PciRoot(0)/Pci(0x03,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDAU.
  • Required for Haswell and Broadwell only.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • Required for Skylake and later.

4. Save your config.plist

STEP 6: Check Unsupported Audio Device


By following and implementing all the above steps, you still might not be able to get the digital Audio working and that could be due to an unsupported Audio Device. To check whether you have an unsupported Audio Device, follow the steps below.

1. Download Hackintool from the downloads section of this forum.
2. Using Hackintool check the Audio Device under PCIe tab. The Audio device is from Intel i.e 8086 as Vendor and Multimedia Controller as a class.
3. Match your Audio Device from the list of unsupported Audio Devices below.
  • 8086:0c0c
  • 8086:9d70
  • 8086:9d71
  • 8086:9d74
  • 8086:a170
  • 8086:a171
  • 8086:a2f0
  • 8086:a348
4. If you've any of the above devices, you'll need to spoof the Audio Device. See STEP #7 for more details.

STEP 7: Spoof Audio Device


This is an optional step but may be required by users who have an unsupported Audio device. To spoof the Audio Device, follow the steps below.

1. Download FakePCIID from the downloads section of this forum.
2. Extract the zip.
2. Mount your ESP.

For Clover:
If you're using Clover, copy FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext from the Release folder to EFI/Clover/Kext/Others

For OpenCore:
If you're using OpenCore, copy FakePCIID.kext and FakePCIID_Intel_HDMI_Audio.kext from the Release folder to EFI/OC/Kexts. You'll also need to add the kext entries in the Kernel section of your config.plist.

NOTES:
  • Download the latest version for better support.
  • If the kext is already present in the directory, replace them with a new version

STEP 8: Restart System


After performing all the above steps, restart your system in order to enable HDMI/DP Audio.

Screen Shot 2022-06-18 at 8.26.11 PM-min.png
Screen Shot 2022-06-18 at 8.26.47 PM-min.png
Screen Shot 2022-06-18 at 8.26.59 PM-min.png

Problem Reporting


Details :
  1. Audio Codec
  2. macOS version
  3. Copy of IOReg
  4. Installed AppleHDA.kext
Screenshots :
  • 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 the 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
 
Last edited:
Hi there, I followed the mentioned guide and nothing changes. please find the request PR files.
 

Attachments

  • PR.zip
    5.4 MB · Views: 567
Hi there, I followed the mentioned guide and nothing changes. please find the request PR files.
You're having two methods. Use only one. Either the WEG patching from Devices section in properties or this guide.
 
Good guide. But, where is the Kernel and Kext Patches from Ivy Bridge Intel HD 4000? Missing JUST what i need.
 
Good guide. But, where is the Kernel and Kext Patches from Ivy Bridge Intel HD 4000? Missing JUST what i need.
Patches added. Please test it and report.
 
Patches added. Please test it and report.
Thank you, but doesn't worked in my laptop. I have to find out another way. I've tryed in 2 differents TV.
 
Thank you, but doesn't worked in my laptop. I have to find out another way. I've tryed in 2 differents TV.
Have you working Audio? Attach your problem reporting files to check further.
 
Have you working Audio? Attach your problem reporting files to check further.
Yes. It's working very well with AppleALC. I use Layout ID "3". To have a 100% working hack according to all resources that my laptop offers, i just need the HDMI audio and battery level on up bar.
 

Attachments

  • config.plist.zip
    3.2 KB · Views: 366
  • DSDT.aml.zip
    18.3 KB · Views: 311
  • Captura de Tela .png
    Captura de Tela .png
    1 MB · Views: 663
Yes. It's working very well with AppleALC. I use Layout ID "3". To have a 100% working hack according to all resources that my laptop offers, i just need the HDMI audio and battery level on up bar.
Incomplete PR files attached. Kextcache Output and IOReg is missing.
No Device Properties added.
The DSDT is not patched fully.
The config.plist is not upto the mark.

Start here:
 
This is everything i got until now...
 

Attachments

  • Send me MacBook-Air-de-SRO.zip
    6.8 MB · Views: 347

Forum statistics

Threads
1,479
Messages
14,007
Members
21,185
Latest member
Change4209