Jump to content

Realtek ALC AppleHDA Audio Injection


  • Please log in to reply
112 replies to this topic

#1
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

OS X Realtek ALC885 through ALC1150 Onboard Audio

 

Realtek ALC AppleHDA Audio Injection enables OS X Realtek ALC onboard audio on Intel based motherboards with a bootable clean install of OS X.  Two steps are required; 1. Install Realtek ALC Injection and 2. Edit the native AppleHDA.kext.  This guide provides the injection choices and installation details.

 

Update 3/21/2014 - Added Mavericks, ALC1150, fifth Realtek ALC Injection technique, updated Clover injection

Update 8/27/2013 - Added a fourth Realtek ALC Injection technique, SSDT.aml. No kext maintenance (permissions, kernel cache, etc.) and no dsdt edits (native dsdt).

 

Realtek ALC AppleHDA Onboard Audio Injection Repo

toleda/audio_ALCInjection

 

Realtek ALC AppleHDA Guides

1. [Guide]-Add_HDEF-Clover.pdf

2. [Guide]-Add_HDEF-kext.pdf

3. [Guide]-Add_HDEF-ssdt.pdf

4. [Guide]-Add_or_Edit_HDEF-dsdt.pdf

5. M-Realtek_ALC_AppleHDA_Capabilities.pdf.zip

6. M-Realtek_ALC_AppleHDA_Customization.pdf.zip

7. M-Realtek_ALC_AppleHDA_Screenshots.pdf.zip

8. M-Realtek_ALC_AppleHDA-No_Audio.pdf.zip

 

Supported Realtek audio codecs

1. ALC885

2. ALC887

3. ALC888 

4. ALC889 

5. ALC892

6. ALC898

7. ALC1150

 

Supported OS X releases

1. Mavericks: 10.9+

2. Mountain Lion: 10.8+

 

Three Realtek ALC AppleHDA.kext Audio_IDs, select one

Audio_ID: 1 supports 5 and 6 port ALC8xx onboard and/or AMD/Nvidia HDMI audio  

Audio_ID: 2 supports 3 port ALC8xx onboard and/or AMD/Nvidia HDMI audio

Audio_ID: 3 supports 3, 5 and 6 port ALC8xx onboard HD4K/HD3K HDMI audio

with or without AMD/Nvidia HDMI audio

 

Audio_IDs: 1 and 2 support analog 5.1 surround sound, 3 does not

Audio_IDs: 1, 2 and 3 require HDMI audio dsdt edits for HDMI audio

 

Note: The native AppleHDA.kext supports HDMI audio (dsdt edits required, no onboard audio) with an unsupported onboard audio codec using Audio ID: 1.

 

Techniques to enable the Realtek ALC AppleHDA.kext, select one and install

1. No dsdt/audio enabler = Audio_ID, toleda/audio_kext_enabler  Note: install either enabler (use 1a or 1b, not both)

1a. Audio_ID = 1/HDAEnabler1.kext

audio_kext_enabler/HDAEnabler1.kext.zip at master · toleda/audio_kext_enabler

1b. Audio_ID = 2/HDAEnabler2.kext 

audio_kext_enabler/HDAEnabler2.kext.zip at master · toleda/audio_kext_enabler

 

2. dsdt/HDEF/layout-id = Audio_ID, see [Guide]-Add_or_Edit_HDEF-dsdt.pdf

2a. Audio_ID = 1/layout-id: 0x01, 0x00, 0x00, 0x00, 0x00

2b. Audio_ID = 2/layout-id: 0x02, 0x00, 0x00, 0x00, 0x00

2c. Audio_ID = 3/layout-id: 0x03, 0x00, 0x00, 0x00, 0x00

 

3. ssdt/HDEF/layout-id = Audio_IDtoleda/audio_ssdt_enabler,  see {Guide} Add ssdt/HDEF.pdf

3a. Audio_ID = 1/layout-id: 0x01, 0x00, 0x00, 0x00, 0x00

audio_ssdt_enabler/audio_ssdt-hdae-1.zip at master · toleda/audio_ssdt_enabler

3b. Audio_ID = 2/layout-id: 0x02, 0x00, 0x00, 0x00, 0x00

audio_ssdt_enabler/audio_ssdt-hdae-2.zip at master · toleda/audio_ssdt_enabler

3c. Audio_ID = 3, see audio_ssdt-HDMI_audio

 

4. Clover/Config.plist/Devices/Audio/Inject = Audio_ID, see [Guide]-Add_HDEF-Clover.pdf.

4a. Audio_ID = 1/Audio/Inject=1

4b. Audio_ID = 2/Audio/Inject=2

4c. Audio_ID = 3/Audio/Inject=3

 

5. Chameleon/Customize/Setting/HDEF Layout//LayoutID = Audio_ID

5a. Audio_ID = 1/LayoutID=1
5b. Audio_ID = 2/LayoutID=2
5c. Audio_ID = 3/NA

 

ALCInjection/Realtek ALC AppleHDA.kext

1. Mavericks/10.9+, see Mavericks Realtek ALC AppleHDA Audio - OSx86 10.9 (Mavericks)

2. Mountain Lion 10.8+, see Mountain Lion Realtek ALC AppleHDA Audio - OSx86 10.8 (Mountain Lion)

3. Mountain Lion/10.8.4 AppleHDA.kext_v2.3.7, see Audio - InsanelyMac Forum

 

Troubleshooting

1.  toleda/audio_ALCInjection M-Realtek_ALC_AppleHDA-No_Audio.pdf

 

Problem Reporting

1. Description of audio problem

2, OS X version/motherboard model/BIOS version/processor/graphics

3. Procedure/Guide Used

4. Copy of IOReg - IOReg_v2.1/File/Save a Copy As…, verify file (no ioreg.txt)

5. Screen shots:

1. DPCIManager

2. System Information/Hardware/Audio/Intel High Definition Audio (not Devices)

6. System/Library/Extensions/AppleHDA.kext

7. System/Library/extensions/AppleHDAxxx.kext (if installed)

8. Chameleon

1. Extra/org.chameleon.Boot.plist

2. DPCIManager/Misc/Boot Log

3. Extra/dsdt.aml (if installed) 

4. Extra/ssdt.aml (if installed)

9. Clover

1. EFI/Clover/config.plist

2. EFI/Clover/misc/debug.log (Set config.plist/Boot/Debug/YES)

3. EFI/Clover/ACPI/Patched/dsdt.aml (if installed) 

4. EFI/Clover/ACPI/Patched/ssdt.aml (if installed)

 

Credit

THe KiNG [HOW TO] Patch AppleHDA - Knowledge Base - Project OS X Forums

VHC888  ALC889A, Gigabyte (Intel): now having a working front mic - InsanelyMac Forum

PikeRAlpha Intel HD4600 with full resolution | Pike's Universum

bcc9 Intel HD Graphics 4600 (Haswell) working displayport - OSx86 10.9 (Mavericks) - InsanelyMac Forum



#2
naidb

naidb

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 181 posts
  • Gender:Male
  • Location:ThaiLand
  • Interests:mainboards gigabyte GA-Z87X-UD3H
    CPU intel HasWell Core i5 4670K
    Gell 16Gb 1866

Thank you very much toleda  :D  :D



#3
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

Update 8/27/2013 - Added a fourth Realtek ALC Injection technique, SSDT.aml. No kext maintenance (permissions, kernel cache, etc.) and no dsdt edits (native dsdt). In addition, Audio_ID = 12, injection available.

 

Credit: bcc9



#4
Maniac10

Maniac10

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 938 posts
  • Gender:Not Telling

Nice alternative with the SSDT technique (bcc9 is unstoppable), and thanks a lot Toleda for sharing your knowledge.



#5
maleorderbride

maleorderbride

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 275 posts
  • Gender:Male

Great compilation of your audio resources Toleda!

 

I just tried to use the SSDT for ALC898 and did not notice anything injected via System Profiler or IOReg.  Should HDEF not be injected and no pinconfigurations info showing up in System Profiler?

 

I am not your intended audience since this is an X79 board and I need to use the Interim AppleHDA, but I just changed your SSDT to inject 382 instead and assumed that would work.

 

When it did not I cobbled together my own (ugly) SSDT and it works as I would expect.  Here is what I did, but yours is much more elegant and I would prefer to get it working.  What am I missing?

 

I have no DSDT if that matters.

 

 
 
 
External (\_SB_.PCI0, DeviceObj)
    Scope (\_SB.PCI0)
    {
        Device (HDEF)
        {
            Name (_ADR, 0x001B0000)
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x06)
                    {
                        "hda-gfx", 
                        Buffer (0x0A)
                        {
                            "onboard-3"
                        }, 
                        "layout-id", 
                        Buffer (0x04)
                        {
                            0x82, 0x03, 0x00, 0x00
                        }, 
                        "PinConfigurations", 
                        Buffer (Zero) {}
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }
        }
    }
    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }
                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }
        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }
}

 



#6
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

 

When it did not I cobbled together my own (ugly) SSDT and it works as I would expect.  Here is what I did, but yours is much more elegant and I would prefer to get it working.  What am I missing?

 


            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x04)
                    {
                        "layout-id", 
                        Buffer (0x04)
                        {
                            0x82, 0x03, 0x00, 0x00
                        }, 
                        "PinConfigurations", 
                        Buffer (Zero) {}

 

There is no functional difference between the two edits.  There was likely a permissions/cache problem.  Perhaps if you tried the layout-id edit again, it would work.   In your solution, hda-gfx injection is not necessary as you don't have HD3K or HD4K HDMI audio.  



#7
maleorderbride

maleorderbride

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 275 posts
  • Gender:Male

Thanks for the rapid reply.  I removed the hda-gfx edits from mine and also tried yours again.  Still no working audio, HDEF, or system profiler information.

 

I will continue to fiddle and get back to you if I figure out what is going on.  Thanks for your help!



#8
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

I removed the hda-gfx edits from mine and also tried yours again.  Still no working audio, HDEF, or system profiler information.

 

What injection technique did you use previously (kext or dsdt)?



#9
thuvn205

thuvn205

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

I have Realtek ALC275 with layout ID = 28, can I apple this patch to have HMDI audio for my laptop? 



#10
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

I have Realtek ALC275 with layout ID = 28, can I apple this patch to have HMDI audio for my laptop? 

See Mountain Lion HDMI Audio - OSx86 10.8 (Mountain Lion) - InsanelyMac Forum



#11
cwestpha

cwestpha

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 151 posts
  • Gender:Male
  • Location:USA

Any estimate on when you will be updating this and the patch system for injection in 10.9 GM HDA? I am pretty sure something has changed since using the 10.8.5 modified kext results in dropped sound and some audio corruption. Using DSDT injection method with patched AppleHDA for the other half of injection. Tried VoodooHDA but never liked that solution, audio levels are strange, sometimes there is popping, and jack detect doesn't get passed. :(



#12
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

Any estimate on when you will be updating this and the patch system for injection in 10.9 GM HDA? 

Within a week or two of the public release of 10.9.  If you have problems with 10.8.5 and/or 10.8.5 Supplemental, use 10.8.4; either patch you own or see Audio - InsanelyMac Forum



#13
VirusX

VirusX

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 120 posts
  • Gender:Male
  • Location:Germany

Hi Toleda, 

thank you for your awesome work on those tutorials. But sadly I'm still struggling with my Gigabyte EX-58 UD5 with  10ec0885 - ALC885/ALC889a chipset and my old Sapphire HD4870 (DVI, HDMI and VGA outputs) in Mavericks.

-Problem: No sound options are showing in system preferences.

 

-I'm using clover r2236:

In config.plist/ACPI/DSDT/Fixes/FixHDA_8000 - YES

In Devices/Audio/Inject - 1

I let clover apply the fixes on the fly and don't have any DSDT present. I don't drop any SSDT tables.

 

- HDEF, HDAU etc are showing in IOReg correctly (layout-id <10 00 00 00>

30/10/13 11:59:28,000	kernel[0]	Sound assertion in AppleHDAController at line 1303
30/10/13 11:59:41,000	kernel[0]	Sound assertion in AppleHDADriver at line 1525
30/10/13 11:59:41,000	kernel[0]	Sound assertion in AppleHDADriver at line 2193
30/10/13 11:59:41,000	kernel[0]	Sound assertion in AppleHDADriver at line 207
30/10/13 11:59:41,000	kernel[0]	Sound assertion in AppleHDADriver at line 1084
 

Link to IOREG: https://www.dropbox....IM’s iMac.ioreg

 

Attached: - Screenshot of System Information/Hardware/Audio/Intel High Definition Audio (not Devices)

 

 

Not attached: Screenshot of System Information/Hardware/Graphics/Displays because I'm also struggling to HDMI video to work. As soon as I plug the hdmi cable in, I get video corruptions on the TV (hdmi) and my DVI monitor goes black.

Do I have to fix my issues with hdmi video first?

 

If you need more information, I will provide them asap.

 

Thank you for your help!

Maxim

Attached Files



#14
bbddpp

bbddpp

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts

Toleda,

 

I also want to thank you for the incredible amount of work you have put into this project.

 

Hoping you might be able to help me out as well if you get a moment.

 

I'm using a fresh install of Mavericks and Clover 2236 to boot EFI on a 2009 era Acer system, motherboard is a G45T-M2. 

 

Also similar to the poster above...

 

-I'm using clover r2236:

In config.plist/ACPI/DSDT/Fixes/FixHDA_8000 - YES

In Devices/Audio/Inject - 1

I let clover apply the fixes on the fly and don't have any DSDT present. I don't drop any SSDT tables.

 

DCPI Manager reports my card as Realtek ALC88S-VD, Audio Device 0x80863A3E, Sub Device 0x10250152, Codec 0x10EC0888, Revision 0x202.

 

I've tried all 3 injections (1-2-3) in Clover to no avail.  I also now see a "Null Codec" as well as an NVidia GT21x HDMI Codec (repeating 4 times) since I switched to Clover.

 

Still no devices listed for output other than Airplay.  HDEF looks correct in IOReg.

 

What do you need me to attach as evidence or anything that might help troubleshoot?



#15
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

 

-Problem: No sound options are showing in system preferences.

 

Injection is working.  Looks like the native AppleHDA,kext is loading. See Mavericks Realtek ALC AppleHDA Audio - OSx86 10.9 (Mavericks) - InsanelyMac Forum for the 885 patched AppleHDA.kext.


 

Still no devices listed for output other than Airplay.  HDEF looks correct in IOReg.

 

HDEF isn't right but there is no IOReg attached to confirm.  



#16
VirusX

VirusX

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 120 posts
  • Gender:Male
  • Location:Germany

Thanks for your answer toleda. I ran the provided .command for Mavericks and left both 

 

In config.plist/ACPI/DSDT/Fixes/FixHDA_8000 - YES

In Devices/Audio/Inject - 1

 

activated. Now everything works :)

Attached Files



#17
TrvHrt

TrvHrt

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 132 posts
  • Gender:Male
Hey could I get some help. Running lion works fine but no sound tried voodoo and different kexts but no luck.

VIA VT1708S
And I use a hd 5750 gcard

Just want the sound to come out of my monitor speakers any help would be great Ty.

#18
bbddpp

bbddpp

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts

HDEF isn't right but there is no IOReg attached to confirm.  

 

Toleda,

 

Thanks so much for responding!  It's an honor to hear from you.

 

I have no kexts loaded at all as I was reading that Clover doesn't require any, but I could be mistaken.  So no AppleHDA or ALC kexts at all anywhere.

 

I've attached my IOReg here:

 

http://www.sendspace.com/file/xa737s

 

Please let me know what else I can supply in the hopes of troubleshooting my ALC888S.  Using the latest Clover with the following in the config (I have tried booting with detect set to 1, 2 or 3 with the same results):

 

<key>FixHDA_8000</key>
<true/>


...


<dict>
<key>Inject</key>
<false/>
<key>Audio</key>
<dict>
<key>Inject</key>
<string>Detect</string>
</dict>

I'm trying to keep the desktop as Vanilla as possible so the only kext I loaded was FakeSMC.kext, the rest I let Clover load on the fly (did not create my own DSDT).  

 

What other things, like screenshots, can I show you that might allow you to help?  Thanks so much.

 


#19
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 806 posts
  • Gender:Male

VIA VT1708S
And I use a hd 5750 gcard

Nothing in this thread can help you with the VIA.  Other than USB, the only other option is 5770 HDMI audio which works with the native AppleHDA.kext.  See Mavericks AppleHDA HDMI Audio - OSx86 10.9 (Mavericks) - InsanelyMac Forum


 

I have no kexts loaded at all as I was reading that Clover doesn't require any, but I could be mistaken.  So no AppleHDA or ALC kexts at all anywhere.

 

Please let me know what else I can supply in the hopes of troubleshooting my ALC888S.  Using the latest Clover with the following in the config (I have tried booting with detect set to 1, 2 or 3 with the same results):

 

At this time, there is no way to inject compressed layouts and pathmaps with Clover.  If you want Realtek onboard audio, a patched S/L/E/AppleHDA.kext is required.

 

What is your motherboard?  Regarding your 888S, you have the null codec which disables AppleHDA.kext audio. Only AppleHDA.kext solution is a different motherboard.  



#20
bbddpp

bbddpp

    InsanelyMac Protégé

  • Members
  • Pip
  • 8 posts

What is your motherboard?  Regarding your 888S, you have the null codec which disables AppleHDA.kext audio. Only AppleHDA.kext solution is a different motherboard.


motherboard is a G45T-M2. It's a stock Acer desktop era 2009.

DCPI manager reported ALC888S. If that's really what I have and you are telling me there is no way to get audio I can stop the pursuit. Is that the case? I did have VoodooHDA working poorly on Lion but never AppleHDA. Was hoping your files might help.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy