Jump to content

HDAUniversal - AppleHDA-like Audio Kext for macOS Tahoe and Hackintosh Systems


Recommended Posts

  • Administrators
Posted

Enable sip after installation 

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Posted

i installed with 03080000 after install i rebooted , and change back to 00000000 sound no audio output , kext disabled i think , with 0308 kext working

Posted
my laptop uses an ALC255, alcid=99, macOS 26.6.1, opencore, kext installed properly on /library/ext

Headset microphone is not detected on a combo-jack laptop, i've been test using other alcid bug still present,
only internal microphone is detected and no response on line in microphone.

hadn't issue with sound so far, only the headset mic.

thank you

HDAUniversal-Fast-Diagnostics-2026-09-08_14-55-22.zip

  • Administrators
Posted

These configurations comming from a layout. Check if ur layout have a correct things. In some cases to detect all ports, etc need check from linux and connect headset, test mic, etc then extract codec dump.

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Posted

has anyone succefully installed mac os ventura on macbook pro 2011 macbook pro 8,1 . mine installed well but on last reboot doesnt reach setup, it hangs on progress bar around quaterway

 

Posted
On 9/10/2026 at 11:06 AM, MaLd0n said:

These configurations comming from a layout. Check if ur layout have a correct things. In some cases to detect all ports, etc need check from linux and connect headset, test mic, etc then extract codec dump.

here the codec dump

alsa_dump.zip

  • Administrators
Posted
1 hour ago, Matheiez said:

here the codec dump

HDAUniversal-Release.zip use alcid=171

  • Like 1

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Posted (edited)

Alc layout id 13 worked for me with applehda and applealc. I get no sound device with HDAUniversal. Please check my linux dump, if I need to use another layout id. Thank you very much!

Edit: codec is Realtek ALC3281-CG in a Dell Precision 5550

codec_dump_0.zip

Edited by STEPHANVS
Posted (edited)

Hi every one! newbie here just for curiosity. There is some way to boost volume ? 

Because I have some hearing issues and for me is this too low, either using HDA Universal or AppleALC or VoodooHDA had the same volume .

Thanks you! 

Edited by Valderdark
  • Administrators
Posted

HDA-Universal has native volume, without boost or -dB adjustment.

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Posted
On 9/17/2026 at 12:03 AM, Valderdark said:

Hi every one! newbie here just for curiosity. There is some way to boost volume ? 

Because I have some hearing issues and for me is this too low, either using HDA Universal or AppleALC or VoodooHDA had the same volume .

Thanks you! 

Try VoodooHDA with VoodooHDAEnableHalfVolumeFix set to true.

  • Administrators
Posted

**UPDATE**

Here are the most important improvements.

🔹 Major Intel HDMI / DisplayPort audio evolution

Intel integrated graphics display audio received one of the largest development efforts in the project.

Support was improved for shared-HDEF architectures and multiple Intel generations, with better framebuffer discovery, native audio-codec-info handling and stricter association between the HDA controller and the correct graphics device.

HDMI/DP endpoints can now be matched using actual framebuffer topology instead of relying only on generic assumptions.

🔹 Native framebuffer audio topology

HDAUniversal can use framebuffer-provided codec information to identify:

• Codec Address
• Audio Function Group
• Digital Pin
• Active display endpoint

The discovered topology is cross-checked against the live HDA widget graph and ELD information before being accepted.

Ambiguous mappings fail safely rather than selecting an arbitrary display output.

🔹 Improved Intel display-audio wake

Display-audio codec wake handling was added for supported Intel generations.

The implementation verifies the correct GPU, framebuffer, codec address, active endpoint and display state before interacting with the display-audio hardware.

Wake attempts are bounded and protected against unsupported hardware.

🔹 Intel HDMI/DP mux improvements

Intel Haswell-style digital mux handling was significantly expanded.

Dynamic converter selection can now follow the actual codec topology instead of assuming a fixed converter.

Multiple HDMI/DP pins are handled more safely, with retry and end-to-end validation of the selected path.

🔹 Better multi-monitor and MST support

DisplayPort MST routing received additional protection around converter selection and Device Select state.

Previous hardware state is preserved and can be restored if a route transaction fails.

This significantly reduces the risk of leaving another display endpoint in an invalid state.

🔹 Linux-aligned Intel stripe control

Intel display audio gained capability-driven WCAP_STRIPE support.

Stripe configuration now considers:

• controller NSDO capability
• sample rate
• sample width
• channel count
• converter capabilities
• active stream descriptor

Both converter and stream-descriptor programming are verified through hardware readback.

If the physical commit cannot be confirmed, the previous state is restored.

🔹 Capability-driven HDMI/DP amplifier handling

Digital pins that expose a hardware output amplifier can now be detected through their widget capabilities.

Muted amplifier channels are selectively unmuted while preserving the existing gain value.

The operation includes physical readback and rollback protection.

This behavior is limited to qualified Intel display-audio routes and is not applied blindly to analog codecs or unrelated digital hardware.

🔹 Stronger hotplug handling

HDMI/DisplayPort hotplug processing was extensively redesigned to eliminate lifecycle races.

Framebuffer callbacks no longer perform heavy HDA operations directly.

Events are safely transferred to the HDAUniversal workloop, while callback lifetime is protected during detach, sleep and teardown.

This also addresses scenarios involving rapid monitor connection/disconnection.

🔹 Deadlock prevention

Lock ordering between framebuffer events and HDA runtime operations was hardened.

Registry operations, notifier callbacks and graphics discovery are kept outside inappropriate HDA lock regions.

This reduces the risk of WindowServer or graphics-stack stalls during HDMI/DP hotplug events.

🔹 Late framebuffer metadata recovery

HDAUniversal can now recover when framebuffer audio metadata is not available during the first hardware scan.

A bounded retry mechanism allows audio-codec-info to appear later without permanently losing the HDMI/DP endpoint.

Retries stop automatically after the metadata becomes valid or the defined retry budget is exhausted.

No unlimited polling is used.

🔹 Connection List parser hardening

Malformed HDA Connection List ranges are now handled safely.

Invalid range entries can be skipped without corrupting neighboring valid connections, selector indices or downstream routes.

This behavior was aligned more closely with proven Linux HDA parsing strategies.

🔹 Physical route qualification

Route discovery became more rigorous.

A route can now be physically qualified by checking:

• Pin direction
• Widget type
• Converter direction
• Connection graph
• Canonical path edges
• DAC/ADC reachability
• Pin capabilities

This prevents a semantic label from overriding an impossible physical topology.

🔹 Route Authority separated from hardware qualification

Detecting a valid physical path no longer automatically gives that path authority over the selected layout.

This preserves an important project principle:

the selected layout remains authoritative unless explicit runtime route authority is enabled.

Live codec discovery is used as a fallback when layout information is absent, not as an uncontrolled replacement.

🔹 AppleALC-style layout authority preserved

User-selected layouts remain the primary source for:

• Pin configuration
• Routing
• PathMap
• Codec-specific initialization

Live codec data cannot silently replace a valid selected layout.

This makes behavior more predictable across different machines using the same codec.

🔹 Advanced combo-jack support

Combo-jack handling was extensively redesigned.

Headphone and microphone detection are treated independently.

A simple TRS headphone is no longer incorrectly interpreted as a headset microphone.

CTIA/OMTP headset routing can be handled through explicit layout policy while ordinary layouts retain their existing behavior.

🔹 Improved microphone and headset transitions

Headset state changes now use transactional routing.

If a new microphone or headphone route cannot be fully committed, HDAUniversal can restore the previous verified state.

This prevents partial jack transitions from leaving the codec incorrectly configured.

🔹 Smarter jack detection

Jack monitoring received major efficiency improvements.

HDAUniversal prioritizes unsolicited codec events whenever they are reliable.

Physical polling becomes a fallback rather than the default source of constant hardware traffic.

🔹 Automatic unsolicited-event recovery

When unsolicited jack events stop behaving correctly, HDAUniversal can temporarily enable fallback polling and later attempt to restore event-driven operation.

This provides recovery without forcing permanent aggressive polling.

🔹 Adaptive jack fallback

Fallback polling uses bounded timing and backoff.

Stable hardware is queried less frequently, reducing unnecessary verb traffic while still allowing physical changes to be detected.

🔹 Corrected analog fallback latency

A timing interaction that could accidentally increase non-combo jack polling from approximately hundreds of milliseconds into multi-second intervals was identified and corrected.

Normal analog fallback detection once again operates at the intended responsive cadence.

🔹 Bluetooth / A2DP idle isolation

Idle HDA behavior was reduced where unnecessary so that the driver avoids generating avoidable hardware activity while another audio transport is active.

The implementation deliberately avoids making unsupported assumptions about the Bluetooth stack itself.

🔹 Transactional output routing

Output routing now follows a stricter transaction model.

Before changing hardware, previous codec state can be captured.

After programming, the result is verified.

If verification fails, HDAUniversal attempts a controlled rollback rather than continuing with a partially configured route.

🔹 Transactional input routing

The same fail-safe model was expanded to input and capture paths.

ADC selection, mixers, PinControl, amplifier state and related routing components can participate in verified route transactions.

🔹 Fail-closed recovery

One of the most important architectural changes was the wider adoption of fail-closed behavior.

If a hardware transaction fails and the previous known-good state cannot be restored, HDAUniversal avoids pretending that the route is valid.

Unknown codec state is treated as unsafe.

🔹 Verified rollback

Rollback itself is no longer assumed to succeed.

Critical restoration paths can be physically verified through codec readback.

This applies to several routing, initialization, capture and digital-output operations.

🔹 Capture lifecycle hardening

Capture start, stop and rollback paths received additional protection.

Partial ADC or stream ownership cannot silently remain active after a failed capture transaction.

Lease and ownership states are kept consistent with the actual hardware state.

🔹 Exact Init safety

Codec-specific initialization sequences were integrated more tightly with transactional state management.

Initialization failures can participate in the same verification and rollback model instead of leaving partially programmed codec state behind.

🔹 Controller stability audit

Low-level HDA controller operations were reviewed for compliance and stability.

Work included:

• CORB handling
• RIRB handling
• stream format programming
• register access
• bounded transport recovery
• controller reset boundaries
• DMA lifecycle protection

🔹 Sleep / wake improvements

Command transport, framebuffer state, timers and codec state received additional lifecycle protection across system sleep and wake.

The driver avoids freeing resources when hardware quiescence cannot be proven.

This favors safety over aggressive cleanup.

🔹 Timer lifecycle hardening

Timer creation, arming, cancellation and teardown were audited.

Timers are armed with a new deadline before being enabled, preventing stale deadlines from being accidentally reused.

Callback draining is also coordinated with teardown.

🔹 Framebuffer lifecycle cleanup

Graphics resources, notifier objects and framebuffer references are released through safer lifecycle boundaries.

Races between discovery, callback execution and driver shutdown received additional protection.

🔹 Release signing integrity

The build pipeline was hardened so Release artifacts consistently use the expected signing model.

Nested Mach-O components are processed correctly instead of assuming that only the main kext executable requires handling.

🔹 Executable-mode integrity

Release packaging now verifies that executable permissions survive every stage of the build/package process.

Nested binaries remain executable inside the final bundle instead of depending on filesystem luck.

🔹 Stronger release validation

The project now uses an extensive regression matrix covering previous fixes as new functionality is introduced.

Validation includes areas such as:

• layouts and codecs
• routing
• jack handling
• HDMI/DP
• MST
• capture
• controller transport
• sleep/wake
• rollback
• framebuffer lifecycle
• release packaging
• signing
• resource integrity

🔹 Expanded hardware database

HDAUniversal continued expanding its codec and layout database while preserving strict (Codec ID + Layout ID) identity.

New layouts can coexist for the same codec without changing existing configurations.


⚙️ What these development cycles represent

The biggest change is not a single codec or feature.

HDAUniversal has progressively moved toward a hardware-verified, transactional and fail-safe HDA architecture.

Instead of assuming that a verb worked, critical operations can verify the hardware.

Instead of accepting an ambiguous route, the driver can reject it.

Instead of leaving partially programmed state behind, transactions can roll back.

Instead of continuously polling hardware, event-driven mechanisms are preferred and polling becomes a controlled fallback.

And instead of letting runtime discovery override everything, the user-selected layout remains authoritative.

The goal remains simple: broader HDA hardware compatibility on macOS while maintaining predictable behavior, strong isolation and strict hardware-state control.

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Hackintosh Support since 2006 HERE

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...