• 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,702
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 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.

Overview


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

Compatibility


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

Requirements


Supported VendorsRealtek, Conexant, IDT, Analog Devices, Cirrus Logic
AppleHDA.kextVanilla/Original AppleHDA.kext in S/L/E
macOS VersionmacOS Sierra and Later


QUICK INFO:
  • 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.
Audio Codecs with Intel Smart Sound Technology

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.

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
  • HDMIAudio.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.

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.
  • AddIMEI
  • FixHDA
  • AddHDMI
Remove Fake IDs
The Fake IDs can be disabled in the Devices>Fake ID section.
  • IntelGFX
  • 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
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
  • B0D3 to HDAU
STEP 2: Get Codec Information


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.

Bash:
#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.

NOTE:
  • If your Audio Codec is ALC 3XXX this indicates that this is a rebranded controller. Using Linux, you can find out the exact codec name.

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.


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 0 and 8, or the audio won't work, even if the AppleALC.kext is installed and a correct layout-id is used. This is because the AppleHDA.kext does not loads completely, only AppleHDAController.kext does.

In most cases, almost all machines have HPET without any interrupts. Usually, interrupts 0 and 8 are occupied by RTC (PNP0B00) or TIMR (PNP0100) respectively.

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 HPET, RTC, TIMR and IPIC together. 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,

For Clover:
If you're using Clover, copy both the kexts to EFI/Clover/Kext/Others

For OpenCore:
If you're using OpenCore, copy both the kexts 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.
  • Download only the RELEASE.zip file.
  • If the kext is already present in the directory, replace them with a new version
  • Do not use AppleALC.kext.dSYM and Lilu.kext.dSYM
  • On a few Hardware, especially Laptops, a few Audio Codecs may have Audio distortion when using Headphone/Combo Jack. A workaround is to use the CodecCommander.kext or the Jack Fix script. See the issue reported by @Z2VvZ2Vv

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 NameLayout IDTypeNotes
Realtek ALC122011Desktop and Laptop
Realtek S1220A1, 11Desktop
Realtek ALC115011Desktop
Realtek ALC89299Desktop
Realtek ALC8883Desktop
Realtek ALC8877Desktop
Realtek ALC66811Desktop
Realtek ALC66211Desktop
Realtek ALC22922Laptop
Realtek ALC23013Laptop
Realtek ALC2353Laptop
Realtek ALC25513Laptop
Realtek ALC2823Laptop
Realtek ALC2953Laptop
Realtek ALC2983Laptop
Realtek ALC32343Laptop
Conexant CX80503Laptop
Conexant CX207573Laptop

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.
2.
Depending on your bootloader,

For Clover
1. Open your config.plist
2. Go to the Boot section and under arguments, add the respective Layout ID.

For OpenCore
1. Open your config.plist
2. Go to the NVRAM section and under 7C436110-AB2A-4BBB-A880-FE41995C9F82 as 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.
  1. Open System Preferences
  2. Select Sound
  3. Under the Sound Effects tab, select
  • Play feedback when the volume is changed
  • Select Show volume in the menu bar

Configure Sound Effects.png

  1. Click on Output
  2. Select Internal Speakers
Configure Audio Output.png

NOTE:
  • If your audio breaks when booting from Windows into macOS, use alctcsel=1 to your boot-args. See adding boot args for more info.
  • Single User Mode or Safe Mode will disable AppleALC.

Problem Reporting


Details :
  1. Audio Codec
  2. macOS version
  3. Copy of IOReg
  4. Installed AppleALC.kext and Lilu.kext
Screenshots :
  • DPCIManager/Status
  • System Information/Hardware/Audio/Intel High Definition Audio (not Devices)
  • System Preferences/Sound/Output
  • System Preferences/Sound/Input
Files:
  • For Clover, compress EFI/Clover, and exclude the themes folder.
  • For OpenCore, compress EFI/OC.
Notes:
  • 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 :
vit9696
toleda
RehabMan
 
Last edited:
Hello,

please be informed that i followed the mentioned guide , but i had a problem in the headphone jack as the system cant detect it when i attach the headphone.

MacOS version : Mojave 10.14.6
PR attached
noting that i removed the ALC & lilu kext from EFI folder as it already attached individually.
 

Attachments

  • PR.zip
    1.9 MB · Views: 363
  • EFI .zip
    1.9 MB · Views: 367
Hello,

please be informed that i followed the mentioned guide , but i had a problem in the headphone jack as the system cant detect it when i attach the headphone.

MacOS version : Mojave 10.14.6
PR attached
noting that i removed the ALC & lilu kext from EFI folder as it already attached individually.
Incomplete PR files attached. Kextcache output is missing.

Here are following issues.
- HDAS to HDEF rename is twice. Remove the last one.
- Duplicate drivers are installed. Make sure you have the latest Clover and as per the system, a Laptop is specified in your profile, so follow the guide here:
 
Hello,

please be informed that i completed the PR files by adding the kext cache output.
- Removed the duplicate HDAS.
-Duplicate Drivers are installed ?
-Clover version is the latest version ( 5.14.1.0)
 

Attachments

  • PR.zip
    2 MB · Views: 273
  • EFI.zip
    1.9 MB · Views: 284
thankssssssss
 

How to Enable Audio on macOS [Clover/OpenCore]

An EliteMacx86 Exclusive Guide - This guide covers implementation of Audio on macOS using Clover and OpenCore.

Overview


Audio is an integral part of computer and needs to be enabled. This guide can be used for Desktops and Laptops. This will enable native macOS AppleHDA Audio.

This will enable on-board audio for desktop motherboards. This guide provides files and instructions for enabling native macOS AppleHDA Audio. This guide uses the AppleALC by vit9696 which is one of the easiest method to enable native audio without modifying original AppleHDA. There are several other methods but this seems more reliable. If you follow any other method and unfortunately the audio doesn't works, it can be difficult to roll-back in order to follow the another method. This method is easy to roll-back and works after update. Before using this guide, we recommend you to perform a clean installation of macOS.

Requirements

Supported VendorsRealtek, Conexant, IDT, Analog Devices, Cirrus Logic
macOS VersionmacOS Sierra and Later
AppleHDA.kextVanilla/Original AppleHDA.kext in S/L/E

Get Codec Information


The very first step is to get the codec information. Getting codec information is necessary as without knowing the audio codec, it will create chaos while following the guide as each codec is unique and needs different edits. To get the codec information, there are few ways.
  1. The easiest method to obtain the codec information is to visit your motherboard manufacturer site and look for the Audio information under the specification section.
  2. Use DPCIManager and look for the codec information under status tab.
  3. Use Hackintool and look for the codec information under Sound tab
  4. Use a Linux or Ubuntu and in terminal, type:
Code:
cat /proc/asound/card0/codec#1 > ~/Desktop/codec_dump.txt
or
Code:
cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt

Adding required kexts
The next step is to add the required kexts to enable audio. AppleALC doesn't works standalone. AppleALC and Lilu is needed together to work with conjunction in order to enable the audio.

Download AppleALC and Lilu from the downloads section of this forum.
Mount your ESP.

For Clover:
If you're using Clover, copy both the kexts to EFI/Clover/Kext/Others

For OpenCore:
If you're using OpenCore, copy both the kexts to EFI/OC/Kexts. You'll also need to add the kext entries in Kernel section of your config.plist.

Notes :
  • Download the latest version for better support.
  • Download only RELEASE.zip file.
  • If the kext is already present in the directory, replace them with a new version
  • Do not use AppleALC.kext.dSYM and Lilu.kext.dSYM
Rename Audio Device and set Layout ID


After placing the kexts, the next step is to rename the audio device and set the device id to enable audio.
Open your config.plist file
Navigate to Acpi tab and add the following patch in DSDT, patches section of your config.plist.

For Clover:
Navigate to Acpi tab and add the following patch in DSDT, patches section of your config.plist.

CommentFind* [HEX]Replace [HEX]Disabled
change HDAS to HDEF4844415348444546NO

To set the Layout ID, go to boot section and set layout in "alcid=xx", where xx represents your Layout ID.

For OpenCore:
Navigate to AACPI section and add the following patch in patch section of your config.plist.

TableSignature*TableLengthFindReplaceCommentEnabled
DSDT04844415348444546Rename HDAS to HDEF (Audio)YES

To set the Layout ID, go to NVRAM section and under "7C436110-AB2A-4BBB-A880-FE41995C9F82" as a UUID, under boot-arg, set layout in "alcid=xx", where xx represents your Layout ID.

The audio 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 bold and we recommend to use 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 NameLayout IDType
Realtek ALC122011Desktop and Laptop
Realtek S1220A1, 11Desktop
Realtek ALC115011Desktop
Realtek ALC89299Desktop
Realtek ALC8883Desktop
Realtek ALC8877Desktop
Realtek ALC66811Desktop
Realtek ALC66211Desktop
Realtek ALC22922Laptop
Realtek ALC23013Laptop
Realtek ALC2353Laptop
Realtek ALC25513Laptop
Realtek ALC2823Laptop
Realtek ALC2953Laptop
Realtek ALC2983Laptop
Realtek ALC32343Laptop
Conexant CX80503Laptop
Conexant CX207573Laptop

Restart your System


After performing all the above steps, restart your system for the applied changes to take effect.
You can see a WiFi icon in the menu bar now. If not, you can enable it from System Preferences>Network>WiFi>Show Wi-Fi status in menu bar.

Setting Audio Output/Input


After restarting your system, you'll need to setup audio output and input through your rear audio jack located at 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.
  1. Open System Preferences
  2. Select Sound
  3. Under Sound Effects tab, select

  • Play feedback when volume is changed
  • Select Show volume in menu bar


  1. Click on Output
  2. Select Internal Speakers

Note :
  • When using Headphones, the Output is automatically switched to Headphones.
Problem Reporting


Details :
  1. Audio Codec
  2. macOS version
  3. Copy of IOReg
  4. Installed AppleALC.kext and Lilu.kext
Screen shots :
  • DPCIManager/Status
  • System Information/Hardware/Audio/Intel High Definition Audio (not Devices)
  • System Preferences/Sound/Output
  • System Preferences/Sound/Input
Files:
  • For Clover, compress EFI/Clover, exclude the themes folder.
  • For OpenCore, compress EFI/OC.
Notes:
  • 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 :
vit9696
toleda
RehabMan
Hello, there
I'm Using Catalina 10.15.7 I have realtekALC 662v2 with AppleALC AppleHDA Lilu successfully loaded, but when I tried by changing the ids numbers according to GitHub pages the sound does not work. I'm using OpenCore and I change the id numbers by putting the boot arg alcid=5,7,11,12,13,15,17,18,66. I use Plisteditor pro. I don't know how to use opencoreconfigurator or make sound work properly. Any suggestions and help?

Thanks
Any help would appreciated
 
Hello, there
I'm Using Catalina 10.15.7 I have realtekALC 662v2 with AppleALC AppleHDA Lilu successfully loaded, but when I tried by changing the ids numbers according to GitHub pages the sound does not work. I'm using OpenCore and I change the id numbers by putting the boot arg alcid=5,7,11,12,13,15,17,18,66. I use Plisteditor pro. I don't know how to use opencoreconfigurator or make sound work properly. Any suggestions and help?

Thanks
Any help would appreciated
Which verison can i use if i can use it to the patch to the patch section?
 
My specs Are:
Amd A-10 7850
Asrcock dg3+ fm2
16GB RAM
Asus Strix radeon rx480 8gb
 

Forum statistics

Threads
1,486
Messages
14,131
Members
21,351
Latest member
wozniaksteves