Jump to content

El Capitan AppleHDA HDMI Audio


toleda
 Share

155 posts in this topic

Recommended Posts

El Capitan AppleHDA HDMI Audio

Most audio codecs/most graphics systems

Supports OS X: 10.11, 10.10, 10.9 and 10.8

 

DEPRECATED: See AppleHDA HDMI Audio - HDMI Audio - InsanelyMac Forum

 

OS X HDMI audio support for Intel HD6000+/HD4600+/HD4000/HD3000, AMD R7 R9 3xx/AMD R7 R9 2xx /HD7xxx/HD6xxx/HD5xxx, Nvidia 9xx/7xx/6xx/5xx/4xx, Intel/AMD and Intel/Nvidia graphics configurations. This guide provides files and instructions for enabling native OS X AppleHDA HDMI audio.  HDMI audio dsdt/ssdt solutions support El Capitan, Yosemite, Mavericks, and Mountain Lion installations. 

 

cloverHDMI detects and installs the correct ssdt(s) and patches the Intel framebuffer for the connected display(s) enabling OS X HDMI audio.

 

Change Log

v2: 8/17/16 - Initial 10.12/Sierra Support/cloverHDMI, see I. cloverHDMI

v1.3: 4/8/16 - Skylake/HD5x0 HDMI audio support (cloverHDMI, ssdt or Bootloader/Clover)

v1.2: 2/18/16 - cloverHDMI/X99, X79, X58 support

v1.1: 2/8/16 - cloverHDMI/BRIX/NUC: HD6100, HD6000, HD5500, HD5200, HD5000, HD4000

v1.0: 1/21/16 - El Capitan support, cloverHDMI script

 

Methods

Install one method, uninstall before installing another method

 

I. CloverHDMI-Beta (script)

  1. detects and installs appropriate ssdt(s)
  2. detects and installs appropriate Intel connector patches

II. ssdt injection (user)

  1. install appropriate ssdt
  2. install appropriate Intel connector patches (as required)
  3. install appropriate AMD connector patches (as required)

III. dsdt edits (user)

  1. edit dsdt (MaciASL) and install edited dsdt
  2. install appropriate Intel connector patches (as required)
  3. install appropriate AMD connector patches (as required)

IV. Bootloader (user)

  1. no dsdt/ssdt/kext edits

Repo downloads: select link, select View Raw

 

I. cloverHDMI script detects and installs the correct ssdt(s) and Intel framebuffer patches for the connected HDMI display enabling OS X HDMI audio.

  1. cloverHDMI, download/View Raw: audio_cloverHDMI-120.command.zip
    1. Intel/AMD/Nvidia: HDMI audio ssdt > EFI/CLOVER/ACPI/patched/
    2. Intel: DP2HDMI framebuffer edits > EFI/CLOVER/config.plist/KernelAndKextPatches/
  2. Test Drive (saves HDMI audio ssdt and config.plist to Desktop)
    1. Set audio_cloverALC-HDMI-110.command/gDebug=1
    2. Copy config.plist to Desktop
    3. Continue with 3. Installation/Step 3
  3. Installation
    1. Mount EFI
    2. SIP enabled, OK
    3. Intel: HDMI displays only, disconnect DP displays
    4. Double click
    5. Answer y/n questions
    6. Password
    7. Restart
  4. Terminal (output)
    1. cloverHDMI-Intel
    2. cloverHDMI-Intel&AMD:Nvidia

    3. cloverHDMI-AMD:Nvidia
  5. Support
    1. OS X: see Requirements/1. OS X
    2. Intel/desktop series: see Requirements/2. Intel motherboards
    3. Graphics/HDMI audio:
      1. Intel HD Graphics (native GPU Power Management)
        • Desktop: HD530, HD6200, HD4600+, HD4000, HD3000
        • X Series: X99, X79, X58
        • BRIX/NUC: HD540, HD6100, HD6000, HD5500, HD5200, HD5000, HD4000
      2. AMD/default framebuffer (ATY,AMD,RadeonFramebuffer)
        • see Requirements/3. Graphics/2. AMD
      3. Nvidia/Official/Web
        • see Requirements/3. Graphics/3. Nvidia
  6. Notes
    1. Current HDMI audio; no need to run script, does not remove other methods
    2. Attempted HDMI audio and not working; remove all previous attempts
    3. This method does not work on all systems; HDMI audio dsdt edits may be necessary

II - ssdt injection - Most systems; install ssdt and restart

  1. Download [Guide]-OSX-hdmi_audio-hdef_audio-ssdt.pdf.zip
  2. Note - BIOS/OS X updates do not effect ssdts
  3. edited ssdts, see dsdt/ssdt HDMI audio Guides below
    1. HD5x0: audio_hdmi_100series
    2. ssdt_hdmi-hd6000+
    3. ssdt_hdmi-hd4600+
    4. ssdt_hdmi-hd4000
    5. ssdt_hdmi-hd3000
    6. ssdt_hdmi-amd
    7. ssdt_hdmi-nvidia
    8. ssdt_hdef
  4. kext edits, if required, see dsdt/ssdt HDMI audio Guides below

III - dsdt edits - All systems: extract dsdt, patch, install edited dsdt

  1. Download[Guide]-OSX-hdmi_audio-hdef_audio-dsdt.pdf.zip
  2. Notes
    1. BIOS update require same dsdt edits on new installed BIOS
    2. OS X updates do not effect dsdts.
    3. All Intel systems have a dsdt
    4. AMD/Nvidia HDMI audio is installed
  3. dsdt edits/MaciASL, see dsdt/ssdt HDMI audio Guides below
  4. kext edits, if required, see dsdt/ssdt HDMI audio Guides below

II/III - dsdt/ssdt HDMI audio Guides(download appropriate guide from repo)

  1. HD6000+/Desktop/BRIX/NUC: audio_hdmi_9series 
  2. HD4600+/Desktop/BRIX/NUC: audio_hdmi_8series 
  3. HD4000/Desktop/BRIX/NUC: audio_hdmi_hd4000
  4. HD3000/Desktop: audio_hdmi_hd3000
  5. 5 Series/X58/X79/X99/Desktop: audio_hdmi_5series (dsdt edits only)
  6. Discrete Graphics (if installed)
    1. [Guide]-OSX-AMD-hdmi_audio.pdf.zip
    2. [Guide]-OSX-Nvidia-hdmi_audio.pdf.zip

IV - Bootloader HDMI audio

  1. All supported configurations
    1. Clover
      1. with dsdt/ssdt and kext patches, above
  2. HD5x0 (Clover only, credit: RehabMan)
    1. [Guide]_HD5x0-hdmi_audio_(clover_or_ssdt).pdf
  3. HD4000/HD3000
    1. Clover/EFI/CLOVER/Config.plist
      1. Devices/Audio/Inject/3
      2. Devices/UseIntelHDMI/YES
      3. Graphics/Inject/Intel/YES
    2. Chameleon: Extra/org.chameleon.Boot.plist
      1. HDAEnabler=Yes
      2. HDEFLayoutID=03000000
  4. AMD/Nvidia (1st 2 ports only)
    1. Chameleon: Extra/org.chameleon.Boot.plist
      1. EnableHDMIAudio=Yes

HDMI audio Details

 

V. - Before You Start

  1. OS X does not provide HDMI audio controls (No volume, no mute, no balance, etc.)
  2. The connected HDMI device (TV, receiver, etc.) provides any and all audio control

VI - Additional Information

  1. HDMI audio: audio_hdmi_guides
  2. HDEF audio: audio_ALC_guides

VII - Requirements

  1. OS X
    1. 10.11+, see VIII - Notes/1.
    2. 10.10+, see VIII - Notes/2.
    3. 10.9+
    4. 10.8+
  2. Intel Desktop Motherboards
    1. 100 Series - Z170, H170, B150 ...
    2. 9 Series - Z97, H97, B95
    3. 8 Series - Z87, H87, B85, H81 ...
    4. 7 Series - Z77, H77, B75 ...
    5. 6 Series - Z68, P67, H67, H61 ...
    6. 5 Series - P55, H55 ...
  3. Graphics
    1. Intel HD Graphics (1st generation and prior, not supported)
      1. HD5x0 (HD530/SKY ramebuffer edit required)
        1. See VIII - Notes/3. HD530/HD540 (below
      2. HD6000+  (BDW framebuffer edits required)
      3. HD4600+ (Azul framebuffer edits required)
      4. HD4000 (Capri framebuffer edits may be required)
      5. HD3000 (SNB framebuffer edits may be required)
      6. BDW/Azul/Capri/SNB kext edits
        1. Chameleon: graphics_Intel_framebuffers
        2. Clover (select framebuffer-100.plist): audio_CloverHDMI
    2. AMD HD R7-R9 3xx/R7-R9 2xx/HD 7xxx/HD 6xxx/HD 5xxx (* default framebufer)
      1. AppleHDAController and AMD70000Controller/AMD60000Controller/AMD50000Controller edits may be required, see
        1. Editing custom personalities for ATI Radeon HD[45]xxx
        2. [HOW TO] Modification of AMD FB + Clover injection - ATi
      2. AMD TrueAudio supported 10.10.4 and newer
        1. AMD9000Controller.kext/GCN1.2/Tonga/TrueAudio
          • HDMI/DP working
        2. AMD8000Controller.kext/GCN1.1/Hawaii/Bonaire/TrueAudio
          • HDMI/DP not working
    3. Nvidia 9xx/7xx/6xx/5xx/4xx (750 and 9xx require Nvidia Web driver)
      1. GTS 450, GTX 550*/550ti*, GTX 560*/560ti* not supported natively
        1. * fix available

VIII - Notes

  1. 10.11 and newer/Boot flags (install/edit kexts and rebuild cache)
    1. CLOVER/config.plist/
      1. ACPI/DSDT/Fixes/NO (all or remove)
      2. BooterConfig/0x28
      3. CsrActiveConfig/0x3
    2. Chameleon - Extra/org.chameleon.Boot.plist
      1. CsrActiveConfig=3
  2. 10.10 and newer/Boot flags
    1. Clover/config.plist/
      1. ACPI/DSDT/Fixes/NO (all or remove)
      2. Boot/Arguments/kext-dev-mode=1
    2. Chimera/Chameleon/Extra/org.chameleon.Boot.plist
      1. Kernel Flags//kext-dev-mode=1
  3. HD530/HD540 - not stable
    1. 10.11.4 and newer

    2. System Preferences/Sound/Output; HDMI shows as DP, DP shows as HDMI

    3. Supports 1x display, boot fails with 2x display; 2nd display hot plug works

    4. Avoid Clover Configurator (removes Arbitrary), use Xcode

  4. HD4600/HD4400/Mobile - no native support
    1. RehabMan/OS-X-Fake-PCI-ID
    2. RehabMan / OS-X-Fake-PCI-ID / Downloads — Bitbucket
  5. S/L/E/AppleHDA.kext
    1. Native S/L/E/AppleHDA.kext
    2. HD4600/Desktop HDMI audio  codec
      1. Chameleon: audio_hdmi_hd4600-hda-110.command.zip
      2. Clover: config-hdmi_hd4600-100.plist.zip
  6. HD2000/HD2500 not supported

IX - Tools

  1. IORegistryExplorer_v2.1.zip (View Raw)
  2. DPCIManager
  3. MaciASL
  4. Property List Editors
    1. Xcode on the Mac App Store

    2. Property List Editor, PlistEdit Pro, TextEdit, etc.
    3. TextEdit, TextWrangler (last resort)
  5. Clover Configurator
  6. Clover Wiki: Home

X - Problem Reporting (post to this thread with requested information attached)

  1. Description of HDMI audio problem
  2. OS X version/motherboard model/BIOS version/processor/graphics
  3. Procedure/Guide used
  4. Installed S/L/E/AppleHDA.kext
  5. Copy of IOReg - IOReg_v2.1/File/Save a Copy As…, verify file (Tools 1.)
  6. Screenshots
    1. DPCIManager/Status (Tools 2.)
    2. System Information/Hardware/Graphics/Displays

  7. DPCIManager/Misc/Boot Log
  8. MaciASL/File/Export Tableset As... (Tools 3.)
  9. Terminal/Shell/File/Export Text As. . . /audio_cloverHDMI-110.command
  10. Chameleon
    1. Extra/org.chameleon.Boot.plist
    2. DPCIManager/Misc/Boot Log
    3. Extra/dsdt.aml (if installed)
    4. Extra/ssdt.aml
  11. Clover
    1. EFI/CLOVER/config.plist
    2. DPCIManager/Misc/Boot Log
    3. EFI/CLOVER/ACPI/Patched/dsdt.aml (if installed)
    4. EFI/CLOVER/ACPI/Patched/ssdt.aml

Credit:

TimeWalker75a Post #118, Intel HD Graphics 4600 (Haswell) working displayport

PikeRAlpha Haswell HDAU solution | Pike's Universum

bcc9 Post #11, http://www.insanelym....ort/?p=1934889

VCH888, Post 760 ALC889A, Gigabyte (Intel): now having a working front mic - Page 38 - Sound - InsanelyMac Forum

  • Like 5
Link to comment
Share on other sites

  • 3 weeks later...

Hey recently i have success on Discrete Graphics Intel hd 3000 + AMD 6770M but i got one issue  :( i am not able to use My AMD card with HDMI neither Video Nor Audio so help is needed as far as i know to enable AMD card needs Connector Information which i am not able access via rom. Since 3 days i am trying to get the connector information, I have Intel + AMD switchable Laptop intel hd 3000 + AMD 6770M

PM:-With intel my HDMI works Fine audio+Video

well i have successfully extracted the rom using this article 

http://www.hackintos...ndows-amd-only/

i use this method because i am not able to get info when i dump the rom using Clover+F6 

i have try decode the rom using that decoder which Vlada provides but i got this but nothing anything 

 

 

02  00  00  00  40  00  00  00  29  05  00  00  00  00  00  05

00  04  00  00  04  03  00  00  00  01  00  00  11  02  01  01

00  04  00  00  00  01  00  00  00  09  10  00  21  03  02  02

00  04  00  00  00  01  00  00  00  09  10  00  12  04  03  03

 

 

This is my FrameBuffer .BIN ROM is extracted with Clover+f6 and other will from that article :D

Full Stuff .zip

1002_6740.ROM.zip

c0000.bin.zip

Link to comment
Share on other sites

IOReg: no 6770M HDMI audio codec, HDMI audio not possible.

And HDMI Video ?

One more thing i have 4 speakers 2 front and 2 rear but only front speakers works rear wont any solution for that ?

Link to comment
Share on other sites

And HDMI Video ?

One more thing i have 4 speakers 2 front and 2 rear but only front speakers works rear wont any solution for that ?

Remove the quote of Post #1 in your Post #6.

IOReg shows the 6770M connected to LVDS, likely not switchable under OS X.

IOReg shows only output is Internal Speakers.

Link to comment
Share on other sites

Remove the quote of Post #1 in your Post #6.

IOReg shows the 6770M connected to LVDS, likely not switchable under OS X.

IOReg shows only output is Internal Speakers.

ohk but is there any ways to ge the info about connectors ?

Link to comment
Share on other sites

Working perfect for me with HD4400, after the third try with a Clover patch.

Enabling this also fixed some problems like the computer rebooting when you plug HDMI or not booting at all if HDMI is present.

Now I connect my laptop to any screen, adjusting the overscan :D

Link to comment
Share on other sites

newest cloverhdmi script appears to be broken

 

Last login: Mon Feb  8 06:56:33 on console
cloverymitesPro:~ cloveryosemite$ /Users/cloveryosemite/Downloads/audio_cloverHDMI-110_v0.9.1-2.command ; exit;
 
Agreement
The audio_cloverHDMI script is for personal use only. Do not distribute
the patch, any or all of the files or the resulting patched AppleHDA.kext
for any reason without permission. The audio_cloverHDMI script is
provided as is and without any kind of warranty.
 
File: audio_cloverHDMI-110.command_v0.9.1
EFI partition is mounted
Integrated Graphics is not installed/enabled
Nvidia discrete graphics card 10de06c0 found on 0/
usage: ioreg [-abfilrtx] [-c class] [-d depth] [-k key] [-n name] [-p plane] [-w width]
where options are:
    -a archive output
    -b show object name in bold
    -c list properties of objects with the given class
    -d limit tree to the given depth
    -f enable smart formatting
    -i show object inheritance
    -k list properties of objects with the given key
    -l list properties of all objects
    -n list properties of objects with the given name
    -p traverse registry over the given plane (IOService is default)
    -r show subtrees rooted by the given criteria
    -t show location of each subtree
    -w clip output to the given line width (0 is unlimited)
    -x show data and numbers as hexadecimal
Nvidia HDMI audio is not enabled
Install Nvidia HDMI audio ssdt (y/n): y
Download SSDT-HDMI-NVIDIA-0 ...
Password:
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100     9  100     9    0     0     29      0 --:--:-- --:--:-- --:--:--    29
[/tmp/ssdt_hdmi-nvidia-0.zip]
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of /tmp/ssdt_hdmi-nvidia-0.zip or
        /tmp/ssdt_hdmi-nvidia-0.zip.zip, and cannot find /tmp/ssdt_hdmi-nvidia-0.zip.ZIP, period.
Error: Download failure, verify network.
No system files were changed
To save a Copy of this Terminal session: Terminal/Shell/Export Text As ...
logout

 

is this a result of bad links within the script?

Link to comment
Share on other sites

IOReg says AMD6000Controller.kext/Cattail is loading.

See bcc9's ati-0ersonality.pl/Editing custom personalities for ATI Radeon HD[45]xx - ATi - InsanelyMac Forum

 

Well man i have added EDID but some Artifact is present 

 

i got this 

 

12743809_1083376428368581_35078457593670

 

Personality: Cattail

ConnectorInfo count in decimal: 4

Disk offset in decimal 1855072

0000000    02  00  00  00  40  00  00  00  29  05  00  00  00  00  00  05

0000010    00  04  00  00  04  03  00  00  00  01  00  00  11  02  01  01

0000020    00  04  00  00  00  01  00  00  00  09  10  00  21  03  02  02

0000030    00  04  00  00  00  01  00  00  00  09  10  00  12  04  03  03

0000040

Personality: Hydrilla

Link to comment
Share on other sites

Toleda,

 

Sorry for the late reply. Been busy with work. 

Update, I have deleted and erase the mavericks hard drive and installed windows 10 on it, so I don't think that is an issue. I have check the sound (line out and headphone jack) and I am indeed able to get sound. No sound from HDMI or Displayport still. Trying to get sound from the display port. 

 

Sending updated info on system, including DSDT. 

 

 

OSX: El Capitan 10.11.2 (installed on partition named "Yosemite")

Processor: 3.49 GHz Intel Core i7

Graphics: NVIDIA GeForce GTX 760 connected via displayport

Motherboard: GA-Z87X-UD7-TH

 

Let me know if you need any additional information. Thank you in advance.

 

 

Files.zip

Link to comment
Share on other sites

Trying to get sound from the display port. 

Motherboard has a pci muliplexer.

Special dsdt edits required:

 

MaciASL/Find: PEGP, replace PEG0

MaciASL/Find: Notify (\_SB.PCI0.PEG0.GFX0, 0x02), Replace: Notify (\_SB.PCI0.PEG0.PEGP.PLX0.GFX0, 0x02)

MaciASL/Add 8 lines of code, 2 places;  //

            Device (PEG0)
            {
                Name (_ADR, 0x00010000)
                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR02 ())
                    }

                    Return (PR02 ())
                }

                Device (PEGP)				// Add code from this line
                {					//
                    Name (_ADR, Zero)			//
                    Device (PLX0)			//
                    {					//
                        Name (_ADR, 0x00100000)	        // to this line
                        Device (GFX0)
                        {
                            Name (_ADR, Zero)
                            Name (_SUN, One)
                            Method (_DSM, 4, NotSerialized)
                            {
                                If (LEqual (Arg2, Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                        0x03
                                    })
                                }

                                Return (Package (0x0A)
                                {
                                    "@0,connector-type", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x08, 0x00, 0x00
                                    }, 

                                    "@1,connector-type", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x08, 0x00, 0x00
                                    }, 

                                    "@2,connector-type", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x08, 0x00, 0x00
                                    }, 

                                    "@3,connector-type", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x08, 0x00, 0x00
                                    }, 

                                    "hda-gfx", 
                                    Buffer (0x0A)
                                    {
                                        "onboard-2"
                                    }
                                })
                            }
                        }

                        Device (HDAU)
                        {
                            Name (_ADR, One)
                            Method (_DSM, 4, NotSerialized)
                            {
                                If (LEqual (Arg2, Zero))
                                {
                                    Return (Buffer (One)
                                    {
                                        0x03
                                    })
                                }

                                Return (Package (0x02)
                                {
                                    "hda-gfx", 
                                    Buffer (0x0A)
                                    {
                                        "onboard-2"
                                    }
                                })
                            }
                        }
                    }
                }					// Add code from
            }						// to this line

MaciASL/Compile

MaciASL/Remove:

    External (_SB_.PCI0.PEG1, UnknownObj)
    External (_SB_.PCI0.PEG2, UnknownObj)

MaciASL/Compile

MaciASL/Save

Install

Restart

Link to comment
Share on other sites

Toleda,

 

Works perfectly. Just FYI, the two lines 

External (_SB_.PCI0.PEG1, UnknownObj)

External (_SB_.PCI0.PEG2, UnknownObj)

 

couldn't be found after going through the steps, but still compiled. Thank you so much for your help. 

 

I'm assuming the DSDT still will work after any updates as long as I patch the kexts with the script?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...