Fixing Mojave Hackintosh Audio: AppleALC Layout IDs, HDEF, and EFI Conflicts

Troubleshoot Mojave Hackintosh audio by checking AppleALC layout IDs, HDEF naming, EFI injection conflicts, graphics audio paths, and Mojave-era kext issues.

Realtek audio codec on a desktop motherboard

A Mojave Hackintosh may list several output devices yet produce no sound, or a previously working rear jack may stop after an unrelated graphics or bootloader change. The cause is usually a mismatch among the motherboard codec, AppleALC layout ID, device injection, and leftover audio patches—not one missing driver.

Before editing the EFI or system volume, make a verified backup of the bootable configuration. Record what works now: macOS build number, bootloader version, codec model, selected output device, and every audio-related kext or patch. Mojave is no longer current, so keep known-good installers and EFI copies alongside normal user-data backups. Use a legally obtained Mojave installer, and prefer EFI-based fixes over changes to Apple system files.

Identify the audio path before applying a fix

Most desktop boards from the Mojave era use a Realtek HD-audio codec connected through an Intel controller exposed in ACPI as HDEF. AppleALC, working with Lilu, supplies codec-specific support through a selected layout ID. The same machine may also expose audio from an AMD or NVIDIA graphics card, DisplayPort or HDMI on an Intel iGPU, USB audio hardware, Bluetooth devices, and monitor speakers. Seeing a device in macOS does not confirm that its signal path, connector mapping, or downstream display can actually play sound.

Start with System Information and Audio MIDI Setup. System Information shows whether macOS detects an internal output device and whether HDMI or DisplayPort audio has registered. Audio MIDI Setup can reveal an accidental format setting, such as multichannel output sent to a two-channel monitor. In Sound settings, confirm that the intended output is selected and not muted. Apple keyboard volume controls do not always affect digital monitor audio.

Realtek audio codec on a desktop motherboard

Separate analog, digital, and USB symptoms

Symptom Likely area to inspect
No internal output device AppleALC/Lilu loading, codec support, layout injection, ACPI device naming
Internal outputs exist but wrong jacks work Incorrect layout ID or unsupported board-specific pin configuration
HDMI device appears but monitor is silent Display output selection, monitor input, GPU/iGPU audio registration, cable or receiver capabilities
USB headset works while motherboard audio fails Onboard codec configuration rather than general macOS sound services
Audio stopped after a configuration update Conflicting injection, duplicated kexts, stale cache, changed boot arguments or device properties

A USB DAC or headset makes a useful diagnostic control. If it plays reliably, the user account, application, and basic macOS audio services are probably working. It does not confirm that the onboard codec is configured correctly.

Remove conflicting audio methods

Older Mojave installations often collect audio methods from several generations of Hackintosh advice: patched AppleHDA files, Clover audio injection, VoodooHDA, AppleALC, manual DSDT edits, and device-property injection. Mixing them can produce inconsistent results. For the onboard codec, choose one supported approach—usually Mojave-compatible Lilu and AppleALC loaded from the EFI—and document then disable or remove the alternatives.

  • Do not run VoodooHDA alongside AppleALC for the same onboard codec unless a narrowly documented test calls for it.
  • Remove legacy AppleHDA binary patches and modified system kexts before testing AppleALC.
  • Confirm that Lilu loads before AppleALC and that only one active copy of each kext exists.
  • Use one layout-ID injection method: a boot argument, bootloader audio setting, or device property.
  • Do not inject a layout ID into the graphics audio device when configuring the onboard codec.

In Clover-era configurations, an audio injection value may appear in a GUI section while a separate layout-id property is injected under HDEF. OpenCore can have the same problem when NVRAM boot arguments and DeviceProperties both set the layout. Duplicate values are not necessarily harmless; depending on bootloader behavior and configuration order, one method may override the other.

Choose and test AppleALC layout IDs methodically

A codec model does not guarantee that one layout ID will work. Board routing, front-panel headers, optical output, and vendor pin configuration vary. Start with a layout documented for the exact codec and, if possible, the same motherboard family. Test one candidate at a time.

  1. Confirm that Lilu and AppleALC are compatible with macOS Mojave and the installed bootloader.
  2. Disable older audio solutions and remove duplicate injections.
  3. Inject one candidate layout ID for HDEF.
  4. Reset NVRAM using the bootloader's supported method, then perform a full reboot.
  5. Test rear line-out first, then front-panel audio, microphone input, and each optical connector separately.
  6. Record the result before trying another candidate.

Include a cold boot in each test cycle, not just repeated restarts. Some boards retain codec state through a warm reboot, which can make a failed configuration look temporarily successful. Keep a copy of the prior EFI after every change so recovery does not depend on memory or an unverified edit.

ACPI naming and controller visibility

AppleALC commonly expects the Intel high-definition audio controller to be available as HDEF. Firmware tables may call it AZAL, HDAS, or something vendor-specific. Renaming the device at boot can be cleaner than permanently editing a DSDT, provided the rename is narrowly scoped and does not affect unrelated objects. Check the real ACPI path first; broad text replacements can alter another device.

Older guides sometimes call for extensive DSDT audio patches. In Mojave, minimal and targeted injection is usually easier to review and reverse. A DSDT patch can still be appropriate for unusual firmware behavior, but it should address a defined issue, such as an inaccessible controller or an incorrect ACPI name. Do not add generic fixes simply because another board needed them.

Graphics configuration can also create what looks like an audio problem. DisplayPort and HDMI audio come from the active graphics path, not HDEF. If the monitor is connected to a discrete GPU, configuring only Intel iGPU audio will not produce sound through that display. An iGPU enabled only for Quick Sync may also add audio devices that complicate output selection. Check the physical cable path before changing codec settings.

DisplayPort monitor selected as a digital audio output

Check Mojave-specific update and cache issues

Minor Mojave updates can expose an outdated Lilu-family kext set or leave behind a configuration that relies on old patches. Update related components as a matched group tested with Mojave rather than replacing one kext at random. Keep the previous EFI on a separate FAT-formatted USB drive so the machine remains bootable if the new set fails.

EFI-based kext loading generally avoids manual rebuilding of protected macOS system caches. If legacy kexts were previously installed in the system, remove them only with a recovery plan, then rebuild caches through the appropriate local maintenance procedure for that installation. Do not delete Apple-supplied audio components to force detection; that can turn a narrow configuration issue into a boot or update failure.

A controlled recovery test

If sound worked before an EFI change, boot the archived working EFI first. If audio returns, compare the two configurations only for Lilu and AppleALC versions, kext order, audio boot arguments, HDEF device properties, ACPI renames, and SMBIOS-related changes. The article on migrating a legacy Hackintosh to OpenCore without losing a working setup is useful when audio failed during a bootloader transition because it stresses keeping a known-good fallback instead of converting every setting at once.

After rear line-out works with one layout ID, test the front-panel connector separately. A frequent final discovery is that front audio is connected incorrectly to the motherboard's HD_AUDIO header, or that the case uses an older AC'97 plug. No layout change can reliably correct that physical mismatch.