Contribute
Register

ML: Optimized Realtek AppleHDA - Preview/Alpha

Status
Not open for further replies.

toleda

Moderator
Joined
May 19, 2010
Messages
22,834
Motherboard
Asus Maximus VII Impact
CPU
i7-4770K
Graphics
RX 560 + HD4600
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. 512K
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
2787035531_066ba1ee85.jpeg

ML: Optimized Realtek AppleHDA - Preview/Alpha

Mountain Lion/Realtek ALC8xx/Optimized AppleHDA

Update 10/15/12 - New AppleHDA,
Mountain Lion: Optimized AppleHDA for Realtek ALC8xx

10.8.2 AppleHDA.kext available in MultiBeast 5.1.1 or newer.

Update - 8/27/12 - All supported Mountain Lion Optimized Realtek AppleHDA - Alpha available.


Important Information - Major Change - Please Read

The Mountain Lion AppleHDA.kext no longer recognizes the Lion Audio IDs (i.e., 885, 887, 888, 889, etc.). All current HDEF edited dsdts and all current HDAEnablers will no longer enable on board audio in Mountain Lion with the Mountain Lion AppleHDA.kext installed. For Mountain Lion, the on board Audio ID is 1* (layout-id is 1, as well) regardless of the audio codec. At this time, there are no plans to update the tonymacx86 DSDT database with the Mountain Lion HDEF/layout-id.

For all users
1. With DSDT
a. edit your dsdt for Mountain Lion Audio/layout-id 1 before you install the Mountain Lion Optimized AppleHDA.
2. Without DSDT,
a. delete current S/L/E/HDAEnabler8??.kext and install HDAEnabler1.kext with the Mountain Lion Optimized AppleHDA.

Summary
1. For Mountain Lion audio to work, the dsdt or enabler must be changed to Audio ID:1 for audio to work after installation. Not making the changes results in no audio on restart.

Alternatives
1. Install Lion Optimized Realtek AppleHDA (no changes to dsdt or enablers in Mountain Lion)
a. Available in MultiBeast_4.6.1/Audio/Patched AppleHDA/ALC ...
2. Voodoo
a. Available in MultiBeast_5.0 and newer/Audio/Universal

Mountain Lion Audio IDs
1. Audio ID: 1 - supports standard 5/6 port onboard and/or AMD/Nvidia HDMI audio (Lion Audio ID:8xy)
2. Audio ID: 2 - supports custom 3 port onboard and/or AMD/Nvidia HDMI audio (Lion Audio ID:2xy)
3. Audio ID: 3 - supports custom 3/5/6 port onboard with HD3000/HD4000 HDMI audio (Lion Audio ID:3xy)

Changes in Mountain Lion AppleHDA (from Lion)
1. Can not use codec name for Audio-ID (Ex., 889 won't work). Must use an exiting Apple layout_id.
2. Nvidia HDMI audio device_ids are supported natively in ML_AppleHDA
3. The Resources/layoutxx.xml and Platforms.xml are invisible and compressed. Terminal script available to uncompress and compress .zlib files
4. Each Patched AppleHDA will only have layouts (1, 2 & 3) for the codec it supports.

New "Feature" of Mountain Lion AppleHDA
1. AMD/Nvidia and HD3000/HD4000 HDMI audio works without on board audio working (assuming dsdt edits) by setting HDEF/layout_id to an existing Apple layout_id such as 1. That means systems with unsupported audio codecs can have HDMI audio and AirPlay audio using the native AppleHDA.kext in Mountain Lion (do not Install a Patched AppleHDA for this feature).

Requirements
1. Lion 10.8 or newer -
2. Realtek ALC 8xy*, one of the following Device_IDs:
a. 10ec0885
b. 10ec0887
c. 10ec0888
d. 10ec0889
e. 10ec0892
f. 10ec0898
*See Notes below for ALC 8xy
3. dsdt w/HDEF/Layout-id is 0x01 0x00 0x00 0x00
a. For 3 port motherboard audio; dsdt w/HDEF/layout-id is 0x02 0x00 0x00 0x00
b. For HD3000 HDMI audio; dsdt w/HDEF/layout-id is 0x03 0x00 0x00 0x00
4. Chimera 1.12 or later
5. KextBeast

Configuration
ml_Audio_Configurations.png


No dsdt/HDEF?
1. ML: How to Add or Edit dsdt/HDEF
2. Install HDAEnabler1.kext (included in Download)

Audio ID/layout-id Table
Audio ID > dsdt layout-id Injection
1 > 0x01, 0x00, 0x00, 0x00
2 > 0x02, 0x00, 0x00, 0x00
3 > 0x03, 0x00, 0x00, 0x00

Downloads
1.
View attachment ML_AppleHDA-885-Alpha.zip
2.
View attachment ML_AppleHDA-887-Alpha.zip
3.
View attachment ML_AppleHDA-887Legacy-Alpha.zip
4.
View attachment ML_AppleHDA-888-Alpha.zip
5.
View attachment ML_AppleHDA-888Legacy-Alpha.zip
6.
View attachment ML_AppleHDA-889-Alpha.zip
7.
View attachment ML_AppleHDA-892-Alpha.zip
8.
View attachment ML_AppleHDA-898-Alpha.zip

Installation (Detailed)
1. See ML_AppleHDA.../-Read_Me_First_ML_Patched_AppleHDA

Installation - MultiBeast (When Available)
1. Backup S/L/E/AppleHDA.kext
2. Verify dsdt/HDEF/layout-id
3. MultiBeast - Select
a.
With DSDT/ALC 8xy
c.
Without DSDT/ALC 8xy
4. Continue
5. Install
6. Restart

Installation - Download
1. Backup S/L/E/AppleHDA.kext
2. Verify dsdt/HDEF/layout-id
3. Delete ALC8xxHDA.kext, HDAEnabler8xy.kext and any other audio enablers from S/L/E
a. Copy Downloads/ML_AppleHDA.../AppleHDA.kext to Desktop
b. Without dsdt, copy Downloads/ML_AppleHDA.../HDAEnabler1.kext to Desktop
b. Run KextBeast
4. Restart

Notes
1. ALC 8xy can one of the following Realtek audio codecs:
a. ALC 885 aka ALC 889a
b. ALC 887 aka ALC 888b, ALC 888s
c. ALC 888 aka ALC 1200
d. ALC 889
e. ALC 892
f. ALC 898
2. Mute is not available for the ALC 887_v100302 and the ALC 888_v100302

dsdt/HDEF edits
Code:
            Device (HDEF)                                                {
                Name (_ADR, 0x001B0000)           /** Always  0x001B0000   **/
                Method (_PRW, 0, NotSerialized)   /** Not needed if present, begin  **/
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }                                  /** Not needed if present, end   **/
...
...
...
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
  
                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00  /** for Realtek onboard audio **/
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
Credits:
VCH888: insanelymac.com/forum/topic/140941-alc889a-gigabyte-intel-now-having-a-working-front-mic/page__st__740#entry1448833 - Post 760
.: ErmaC:.: insanelymac.com/forum/topic/280468-applehda-patching-in-mountain-lion/page__st__60#entry1839042 - Post 69
MaLd0n/oldnapalm/cassio: olarila.com/forum/viewtopic.php?f=19&t=62

 
Last edited by a moderator:
Still the same issue with the GA-Z77X-UD5H.
Internal Speaker -> N/A [Green port doesn't work]
* When adding a headphone jack to the front connector, It is recognized as headphone but also no sound.
2nd Line Out -> Orange
3rd Line Out -> Black

All inputs are work well even the front microphone port which is recognized as a Line In.
I've read this article, but to be honest, I'm afraid to do that. And if that was true why sound comes out in windows from the green port?
I've attached a codec dump I've made as I was trying to change the path map of the green port [Node 0x14].

Last question, can I make the black port auto-mute the orange port?

View attachment ALC898.zip
 
Still the same issue with the GA-Z77X-UD5H.
Internal Speaker -> N/A [Green port doesn't work]
* When adding a headphone jack to the front connector, It is recognized as headphone but also no sound.
2nd Line Out -> Orange
3rd Line Out -> Black

All inputs are work well even the front microphone port which is recognized as a Line In.
I've read this article, but to be honest, I'm afraid to do that. And if that was true why sound comes out in windows from the green port?
I've attached a codec dump I've made as I was trying to change the path map of the green port [Node 0x14].

Last question, can I make the black port auto-mute the orange port?

View attachment 28669
The good news is that Alpha ML_AppleHDA solution works. I believe the green port audio problem on the Z77X-UD5H is an endemic hardware problem specific to that motherboard; this software can't fix that.

Regarding black muting orange, that can be done. Reinstall the Mutlitbeast/With (or Without, whichever appropriate) DSDT/ALC 898. See Customizing the Optimized Lion AppleHDA.kext. In Platforms.xml/PathMaps/see Item 13/PathMap/898/see item 2.

Item 2/Item 0 is the speaker (NodeID/20)
Item 2/Item 1 is the headphone (NodeID/27) where 27 mutes 20
Item 3 is the orange (NodeID/22)
Item 4 is the black (NodeID/21)

Copy/Paste Item 4 to Item 3 and delete Item 4.

The new Item 3 looks like:
Item 3/Item 0 is the orange (NodeID/22)
Item 3/Item 1 is the black (NodeID/21) where 21 mutes 20
 
I'll try and tell you the results.
What I'll be doing is:
Make black as a headphone port, orange as an Internal speakers.
But There is a little cosmetic problem I'll be using those two ports only + All Inputs, how can I hide the rest of the ports from the system profiler?!
 
I'll try and tell you the results.
What I'll be doing is:
Make black as a headphone port, orange as an Internal speakers.
But There is a little cosmetic problem I'll be using those two ports only + All Inputs, how can I hide the rest of the ports from the system profiler?!
Do you mean System Preferences/Sound/Output? If yes, delete the unwanted device in the pathmap.
 
I don't want to manipulate anything. I just want to make it like the real iMac, Built-in speakers which is replaced by headphone and also the built-in microphone which is replaced by the external one.
 
I don't want to manipulate anything. I just want to make it like the real iMac, Built-in speakers which is replaced by headphone and also the built-in microphone which is replaced by the external one.
That happens in System Preferences/Sound/Output and Input with internal microphone/line in and internal speaker/headphones; have you tried it? Profiler is static, it shows what audio devices were configured at the time it was run.
 
If I'll use this kext as is, and If I put headphone in line out, will be any difference in sound. I mean is there any difference between line out and headphone?
 
Status
Not open for further replies.
Back
Top