Contribute
Register

ML: Optimized Realtek AppleHDA - Preview/Alpha

Status
Not open for further replies.
Finally I was able to get it working using modified multibeast 898 drivers (with dsdt). Now headphone is automatically detected. I followed patch AppleHDA tutorial to get codec verbs and changed ConfigData value in AppleHDAHardwareConfigDriver.kext (for codec id 283904153 and layout id 898). This is what I replaced it with

Code:
<01171c30 01171d10 01171e56 01171f10 01471c10 01471d40 01471e11 01471f01 01571c80 01571d10 01571e01 01571f01 01671c90 01671d60 01671e01 01671f01 01771c20 01771d40 01771e21 01771f01 01871c50 01871d90 01871ea1 01871f01 01971c60 01971d90 01971ea1 01971f01 01a71ca0 01a71d30 01a71e81 01a71f01 01d71cb0 01d71d60 01d71e06 01d71f40 01e71c40 01e71d60 01e71e45 01e71f01 01f71c70 01f71d10 01f71ec5 01f71f01>

I also had to change one item in Platforms.xml (in Resources). Rename NodeID for (898 item 13) in Pathmaps\Item13\pathmap\item2\item1\item0\item0\NodeID from 27 to 23. Easiest way to do this is by first changing its extension to .plist instead of .xml and editing it using xcode. But dont forget to change it back to .xml after editing otherwise it will not work.
Thanks for the detailed report of your success. The source of the problem you found is Asus wired the grey rear line out (0x17/23) as the green front headphone (normally 0x1b/27). Does your manual say the front green port is used for the side speakers (grey) in 7.1? With your pinconfigs, does front pink mic work? Are you getting sound assertions in Console/All Messages?
 
Everything working fine for 889 with HDAEnabler1. (Non DSDT, UEFI bios)
Digital audio works: DTS passthrough in plex.
Analogue audio works, headphones.
I just flashed my Z68A-D3H-B3 with the new UEFI BIOS did a clean install. I did MultiBeast for ALC889 (without DSDT) and now audio works, but some applications hang when attempting to use audio (for example Skype). This happened before the UEFI BIOS flash too while using HDEF edited DSDT.

I've noticed that in System Preferences, I can click Sound and it loads immediately, showing all of my output devices. However, switching tabs causes a hang for ~30 seconds. After doing this a couple of times, the input devices and output devices disappear altogether and I have to reset the machine. Audio still works for applications that are open when this happens though. Reboot will fail (grey screen) after this audio hang occurs in any application.

I've clean installed a bunch of times this is reproducible. What can I do to help debug?

Edit: Figured out the problem. Looks like a Logitech USB headset was plugged in on a USB3 port on the motherboard and the OS didn't like that. Plugged it into USB2 and all is well. Lesson learned, unplug any peripherals when testing things!
 
Hi Toleda,

I have recently got your optimised AppleHDA for ML working for ALC889 and HDMI audio on an Intel DH57JG and Radeon HD5670 HTPC and it has been working beautifully since. THANKS!

So, I thought I'd try and do the same for an older system using a Asus P5QPL-AM and a GT 630. Unfortunately this is not proving as simple and I need some help please!

Installation details:

  • Asus P5QPL-AM (ALC887 - 3 ports)
  • GeForce GT 630
  • OSX 10.8.1
  • DSDT including Toleda's HDMI (nVidia) and HDEF edits for layout 2
  • GraphicsEnabler=No
  • Toleda's Optimized AppleHDA Preview kext

Basically, I am not getting the analogue ALC887 ports listed in System Prefs or System Information, only AirPlay appears in the Audio section. The HDMI audio device also does not appear in System Prefs, however both devices are listed by lspci. They also both work in Windows.

With regard to the ALC887 side I have noticed the HDEF section is not in IOReg, but is in my DSDT so I assume something is awry there. I have double-checked but can't see anything wrong though.

And on the HDMI side, I have not patched the AppleHDA* binaries, as my device id: ea 0b and vendor id: de 10 are supported without edits. My IOHDACodecVendor ID is 0x10de0014. I made the HDMI audio edits to the DSDT so it should just work… but doesn't :(

I would be grateful for any help. I have attached a zip containing my IOReg file, lspci output, my DSDT and my org.chameleon.Boot.plist.

Thanks
 

Attachments

  • Archive.zip
    269.2 KB · Views: 108
Thanks for the detailed report of your success. The source of the problem you found is Asus wired the grey rear line out (0x17/23) as the green front headphone (normally 0x1b/27). Does your manual say the front green port is used for the side speakers (grey) in 7.1? With your pinconfigs, does front pink mic work? Are you getting sound assertions in Console/All Messages?

This is what I found in manual for 7.1 configuration.

Screen Shot 2012-08-29 at 3.51.58 PM.png
I don't have a mic so I am unable to test front pink mic port. I am still getting following sound assertions
Code:
[FONT=Lucida Grande]kernel[0]: Sound assertion in AppleHDACodecGeneric at line 350[/FONT]
[FONT=Lucida Grande]kernel[0]: Sound assertion in AppleHDAWidget at line 4050
[/FONT][FONT=Lucida Grande]kernel[0]: Sound assertion in AppleHDACodecGeneric at line 1170
[/FONT][FONT=Lucida Grande]kernel[0]: Sound assertion in AppleHDAWidget at line 4050[/FONT][FONT=Lucida Grande]
[/FONT][FONT=Lucida Grande]kernel[0]: Sound assertion in AppleHDACodecGeneric at line 1170
[/FONT]
 
This is what I found in manual for 7.1 configuration.

View attachment 29966
I don't have a mic so I am unable to test front pink mic port. I am still getting following sound assertions
Asus got it all wrong. Your motherboard does not have a grey port and black is rear, not side, as suggested in the note. As well, the picture says connect the blue port (usually Line In) to the grey Side Speakers.
 
Hi Toleda,

I have recently got your optimised AppleHDA for ML working for ALC889 and HDMI audio on an Intel DH57JG and Radeon HD5670 HTPC and it has been working beautifully since. THANKS!

So, I thought I'd try and do the same for an older system using a Asus P5QPL-AM and a GT 630. Unfortunately this is not proving as simple and I need some help please!
HDEF is in your dsdt. The Intel HDEF device-id shows in IOReg. dsdt/HDEF is in the wrong place. Easy to fix Cut the the third (last) last closing bracket at the end of P0P9 at line 5001 (DSDTSE) and paste it after the last (2nd) bracket in HDEF. HDEF was not in PCI0 and the edit puts it where it needs to be. Why are you using layout-id 2? layout-id 1 is a better choice. The correct dsdt code:
Code:
            Device (P0P9)
            {
                Name (_ADR, 0x001C0005)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x09, 0x04))
                }
            }

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)  // _ADR: Address
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x04)
                        {
                            "layout-id", 
                            Buffer (0x04)
                            {
                                 0x02, 0x00, 0x00, 0x00
                            }, 

                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
        }

        Scope (\_GPE)
 
toleda, I need ur help. I have followed your guide using HDAEnabler1.kext, but I am on laptop with ALC269VB. I have sound, mic, and headphone. But could not figure out how to get HDMI audio. Could you guide me through what I have to change?
Can't get HDMI audio with an enabler. Have to use a dsdt. First step, enable onboard audio with dsdt injection. See ML: How to Add or Edit dsdt/HDEF.
 
dsdt/HDEF is in the wrong place. Easy to fix Cut the the third (last) last closing bracket at the end of P0P9 at line 5001 (DSDTSE) and paste it after the last (2nd) bracket in HDEF. HDEF was not in PCI0 and the edit puts it where it needs to be. Why are you using layout-id 2? layout-id 1 is a better choice.

Thanks Toleda, that makes sense, I'll amend the DSDT in the morning and report back.

Regarding the layout-id 2, this mobo only has the 3 ports at the back, though I guess if you include the front panels ports that would be 5, and therefore layout-id 1, is that correct?

Thanks again
 
Regarding the layout-id 2, this mobo only has the 3 ports at the back, though I guess if you include the front panels ports that would be 5, and therefore layout-id 1, is that correct?
You are correct.
 
Thanks Toleda, that makes sense, I'll amend the DSDT in the morning and report back.

Regarding the layout-id 2, this mobo only has the 3 ports at the back, though I guess if you include the front panels ports that would be 5, and therefore layout-id 1, is that correct?

Thanks again

Hi Toleda, thanks! that got my HDMI audio working and I can now see the Intel High Definition Audio in System Information, but unfortunately not in System Preferences, only Airplay and HDMI are displayed.

I have tried layout-ids 1 & 2 and used both legacy and non-legacy versions of your kexts but no joy. Do you have any suggestions?

Thanks again
 
Status
Not open for further replies.
Back
Top