- Jul 22, 2018
- Supermicro X11SPA-T
- Intel Xeon W-3275 28 Core
- 2xAMD RX 580 8GB
- OS X/macOS
- OpenCore (UEFI)
- Mac mini
- MacBook Pro
- Mobile Phone
How to Enable Audio on macOS [Clover/OpenCore]An EliteMacx86 Exclusive Guide - This guide covers the implementation of Audio on macOS using Clover and OpenCore. By following this guide, you'll be able to enable Audio on macOS using Clover or OpenCore Bootloader. This guide can be used for Desktops and Laptops.
Audio is an integral part of a computer and needs to be enabled. Normally, the Audio Codecs found on Non-Apple computers do not work OOTB when using OS X/macOS, unless its an USB Audio device. VoodooHDA was being used for a long time to enable the Audio on macOS. However, VoodooHDA was not the perfect solution for Audio and it had problems such as stuttering, and a low level of audio volume as compared to Windows/Linux. Some other methods include patching AppleHDA. With the introduction of AppleALC, it was much easier to enable Audio on OS X/macOS. AppleALC is one of the easiest methods to enable native audio without modifying the original AppleHDA. There are several other methods but this seems more reliable. If you follow any other method and unfortunately the audio doesn't work, it can be difficult to roll back in order to follow another method. This method is easy to roll back and works after the update. Before using this guide, we recommend you to perform a clean installation of macOS.
For IGPU HDMI/DP Digital Audio
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...
Not every Audio Codecs are compatible with macOS. With some of the hardware, there are some limitations as well. Refer to the compatibility guide linked below for more information on Audio Compatibility
Audio Compatibility for macOS Intel Smart Sound Technology (Intel SST) Intel® Smart Sound Technology (Intel® SST) is an integrated audio DSP (Digital Signal Processor) built to handle audio, voice, and speech interactions. However, Laptops with Intel Smart Sound Technology (Intel SST) aren't...
|Supported Vendors||Realtek, Conexant, IDT, Analog Devices, Cirrus Logic|
|AppleHDA.kext||Vanilla/Original AppleHDA.kext in S/L/E|
|macOS Version||macOS Sierra and Later|
- Laptops with Intel SST will not have anything connected through them (usually internal mic) work, as it is not supported. You can check with Device Manager on Windows.
STEP 1: Remove Outdated Kexts, Injections and ACPI Renames
Once you have set up the BIOS, the next step is to remove the kexts, injections, and ACPI renames that can interfere with the Graphics implementation. To remove such, follow the steps below.
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.
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
The Fake IDs can be disabled in the
The Audio injection properties can be disabled in the
The injection properties can be disabled in the
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>Patchessection and for OpenCore, it's under
- HECI to IMEI
- MEI to IMEI
- HDAS to HDEF
- B0D3 to HDAU
The second step is to get the codec information. Getting codec information is necessary as without knowing the audio codec, it is difficult to know what layout ID to use as each codec is unique and needs a different layout ID. To get the codec information, there are a few ways.
Method #1: Using the Manufacturer's Website
1. Visit your Motherboard specification page and look for the Codec/Audio information
Method #2. Using Device Manager
1. Open Device Manager
2. Under Sound/Audio, Right click on Properties and then select the Details tab and from the drop-down menu, select Hardware ID.
Method #3: Using HWInfo64 in Windows
Method #4: Using AIDA64 Extreme in Windows
Method #5: Using Hackintool
Use Hackintool and look for the codec information under the Sound tab
Method #6: Using Linux
1. On Linux or Ubuntu, open Terminal and execute the following commands. When prompted, enter your password.
#Dump Codec #0 cat /proc/asound/card0/codec#0 > ~/Desktop/codec0_dump.txt #Dump Codec #1 cat /proc/asound/card1/codec#0 > ~/Desktop/codec1_dump.txt
2. Once you have obtained the Audio Codec, note it down as we'll require it in the later steps.
STEP 3: Patching IRQ Conflicts
On a few system, patching IRQ might be required and is required on almost all laptops. In some cases, this can prevent several devices (such as Audio, USB, Thunderbolt and FireWire) from working under macOS/OS X. To patch the IRQ conflicts, follow the guide linked below.
How to Fix IRQ Conflicts on macOS [Clover/OpenCore] This guide covers fixing of IRQ Conflicts on macOS, supported by Clover and OpenCore. By following this guide, you'll be able to patch out the IRQ Conflicts. I. Overview On a few systems, patching IRQ might be required and is required on...
But the issue can occur on newer platforms as well. This is due to the fact that HPET is a legacy device from Intel's 6th Gen platform and is only present for backward compatibility with older Windows versions. If you use 7th Gen Intel Core CPU or newer with Windows 8.1+, HPET (High Precision Event Timer) is no longer present in Device Manager (the driver is unloaded).
For macOS 10.12 and newer, if the problem occurs on the 6th Gen, HPET can be blocked directly to solve the problem. Check the original DSDT's HPET _STA method for specific settings.
On most of the OEM systems (including Laptops), the Audio chip usually require High Precision Event Timer (HPET)
(PNP0103)to provide interrupts
8, or the audio won't work, even if the
AppleALC.kextis installed and a correct
layout-idis used. This is because the
AppleHDA.kextdoes not loads completely, only
In most cases, almost all machines have
HPETwithout any interrupts. Usually, interrupts
8are occupied by RTC
Sometimes, these interrupts can be occupied by other devices such as USB, Thunderbolt or FireWire and as a result, these devices may not work.
To fix this issue, you need to fix
IPICtogether. If you're using 6th Gen. (SKL) system or newer, and running macOS 10.12 and newer, you can also disable the HPET to achieve the same as starting from Intel's 6th Gen. (SKL) systems, the HPET is a legacy device and is only present for backward compatibility with older Windows version. If you use a 7th Gen. (KBL) system or newer with Windows 8.1+, the HPET (High Precision Timer) is no longer present in Device Manager as the driver is not loaded.
On cost of disabling HPET, either from the BIOS or the ACPI Level (using SSDT) by returning the _STA Method to Zero.
STEP 4: Add Required Kexts
The next step is to add the required kexts to enable audio. AppleALC doesn't work standalone. AppleALC and Lilu are needed together to work in conjunction in order to enable the audio.
1. Download AppleALC and Lilu.
2. Mount your ESP.
3. Depending on your bootloader,
If you're using Clover, copy both the kexts to
If you're using OpenCore, copy both the kexts to
EFI/OC/Kexts. You'll also need to add the kext entries in the
Kernelsection of your config.plist.
STEP 5: Set Layout ID
The Layout ID depends on the audio codec your motherboard uses. The common layout ID for the common audio codecs has been listed below. The tested layout IDs are marked in bold and we recommend using them to avoid any issues.
For a complete list of supported codecs and the Audio ID, see AppleALC Supported Codecs
Common Audio Codecs and Layout IDs
|Codec Name||Layout ID||Type||Notes|
|Realtek ALC1220||11||Desktop and Laptop|
|Realtek S1220A||1, 11||Desktop|
The Layout ID can be set in the boot-arg section or Device Properties section of your config.plist. You can set layout with the syntax
alcid=xx, where xx represents your Layout ID.
Pick one Layout ID as per your Codec and try one at a time. Do not add multiple IDs or alcid boot-args, if one doesn't work then try the next available layout ID. To set the Layout ID, follow the steps below.
1. Mount your ESP.
Depending on your bootloader,
1. Open your config.plist
2. Go to the Boot section and under arguments, add the respective Layout ID.
1. Open your config.plist
2. Go to the NVRAM section and under
7C436110-AB2A-4BBB-A880-FE41995C9F82as a UUID, under boot-arg, add the respective Layout ID.
STEP 6: Restart your System
After performing all the above steps, restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.
STEP 7: Setting Audio Output/Input
After restarting your system, you'll need to set up audio output and input through your rear audio jack located at the back panel and headphones jack located at the front panel. You will need to set your output device to Internal Speakers for sound to work.
- Open System Preferences
- Select Sound
- Under the Sound Effects tab, select
- Play feedback when the volume is changed
- Select Show volume in the menu bar
- Click on Output
- Select Internal Speakers
- Audio Codec
- macOS version
- Copy of IOReg
- Installed AppleALC.kext and Lilu.kext
- System Information/Hardware/Audio/Intel High Definition Audio (not Devices)
- System Preferences/Sound/Output
- System Preferences/Sound/Input
- For Clover, compress EFI/Clover, and exclude the themes folder.
- For OpenCore, compress EFI/OC.
- 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.