toleda
Moderator
- Joined
- May 19, 2010
- Messages
- 22,834
- Motherboard
- Asus Maximus VII Impact
- CPU
- i7-4770K
- Graphics
- RX 560 + HD4600
- Mac
- Classic Mac
- Mobile Phone
Demystifying HDMI Audio Part 3b: Kext Edits for NVIDIA 4xx
Enabling HDMI audio via AppleHDA in Mac OS X 10.6.x is comprised of four guides:
Snow Leopard HDMI Audio - Part 1: Requirements
Snow Leopard HDMI Audio - Part 2: DSDT Edits
Snow Leopard HDMI Audio - Part 3a: Kext Edits for AMD 5xxx
Snow Leopard HDMI Audio - Part 3b: Kext Edits for NVIDIA 4xx
Please note: This guide applies to Mac OS X 10.6.5, 10.6.6 and 10.6.7 only. The Early 2011 MacBookPro 10.6.7 release, Early 2011 iMac 10.6.7 release and Mac OS X 10.7 are not considered.
Even with a successfully configured DSDT, more work is required. *Specifically, your system must be enabled for the specific graphics card you have installed. *Typically, this means editing particular software components in your system for compatibility with your graphics card. *There is a specific method for Nvidia GeForce GT4XX graphics cards and a different method for AMD Radeon HD 5XXX graphics cards
What you will need:
DSDTSE v1.4.3 - http://www.osx86.es/?p=610
IORegistryExplorer - Mac OS X Retail Install Disc v10.6 or v10.6.3: Optional Installs/Xcode
HexEdit v220 - http://hexedit.sourceforge.net/
dsdt-hdmi_audio-v2.dsl
DSDT-HDMI_Audio_Edits_v2.dsl
Additional Audio Kext editing details are included in HDMI Audio Kext Verification:
HDMI_Audio_Kext_Verification.pdf
Depending on how your graphics card is enabled, additional edits of your DSDT may be required.* The edits are defined as GraphicsEnabler=Yes or Graphics Enabler=No.
Two components of AppleHDA are relevant to enabling HDMI audio.* They are 1. AppleHDA binary and 2. AppleHDAController binary. HexEdit is the tool used to edit each of the binaries.* Additional information describing AppleHDA and HexEdit are available in HDMI Audio Kext Verification.
Credit to bcc9 and tmongkol
Part 3b: Kext Edits Table of Contents
1. *Nvidia GeForce GT 4XX Graphics Cards*(and the GT 240)
** * * * a. *Additional DSDT Edits
** * * * * * * * GraphicsEnabler=Yes
** * * * * * * * GraphicsEnabler=No
** * * * b. *Kext Edits
** * * * * * * * *AppleHDA
1. Nvidia GeForce GT 4XX Graphics Cards (and the GT 240)
a. *Additional DSDT edits
With GraphicsEnabler=Yes in com.apple.Boot.plist, make the following changes to your dsdt.
Add the following code to Device (GFX0)
1.* Open your dsdt in DSDTSE. open DSDT-HDMI_Audio_Edits_v2 in DSDTSE
2.* Copy the code labeled "Nvidia_GE=Y-DSDT_HDMI_Audio_Edit - Complete"
3.* Paste the copied code over the existing Device (PEGP), Device (GFX0) and Device (HDAU)
4.* Compile, install, reboot with HDMI device plugged
5.* Run IOReg, Search "HDAU", Note device-id, Save for later. *
6.* Jump to b. Audio Kext Edits *
With GraphicsEnabler=No in com.apple.Boot.plist, make the following changes to your dsdt.
Add the following code to Device (GFX0) - Modify for your particular Nvidia GeForce 4xx graphics card.
1.* Open your dsdt in DSDTSE. open DSDT-HDMI_Audio_Edits_v2 in DSDTSE
2.* Copy the code labeled "Nvidia_GE=N-DSDT_HDMI_Audio_Edit - Complete"
3.* Paste the copied code over the existing Device (PEGP), Device (GFX0) and Device (HDAU)
4.* Compile, install, reboot with HDMI device plugged
5.* Run IOReg, Search "HDAU", Note device-id, this your HDMI Device_id; save for later.
b. *Audio Kext edits
Verify AppleHDA v 1.9.9 is installed in S/L/E. *
Editing binary details are included in HDMI Audio Kext Verification
AppleHDAController Binary Edit
If your HDMI Device_id is one the following, an edit is not required (i.e., GT 240).
de 10 c0 0a, de 10 94 0d, de 10 e2 0b, de 10 e4 0b
Example:* HDMI Device_id: "eb 0b"
** * * * * * * * * Find: de 10 e2 0b * Replace: de 10 eb 0b
1.* Run IOReg - Skip to Step 3, if you have HDMI Device_id
2.* Search HDAU, Note device-id, this your HDMI Device_id
3. *Edit AppleHDAController Binary: *
** * * * * * Find: de 10 e2 0b * Replace: de 10 ?? ?? * 2 Times
4.* Install AppleHDAController Binary in AppleHDA.kext
5.* Install AppleHDA.kext in S/L/E
6.* Run Kext Utility
7.* Reboot with HDMI device plugged in
AppleHDA Binary Edit
If your HDMI Codec_id is one the following, an edit is not required.
07 00 de 10, 0c 00 de 10, 0a 00 de 10
Example:* HDMI Codec_id: "10 de 00 12" *
** * * * * * * * * Represented in AppleHDA as "12 00 de 10"
** * * * * * * * * Find: 0a 00 de 10* Replace 12 00 de 10
1.* Run IOReg
2.* Search HDAU
3.* Clear Search box
4.* Scroll down 2 lines and select IOHDACodecDevice
5.* Note: IOHDACodecVendorID 10 de ??* ?? *
* * * * * * * * Convert to AppleHDA ?? ?? de 10
6.* Edit AppleHDA Binary: *
** * * * * * * Find: 0a 00 de 10* Replace ?? ?? de 10* 4 Times
7.* Install AppleHDA Binary in AppleHDA.kext
8.* Install AppleHDA.kext in S/L/E
9.* Run Kext Utility
10.Reboot with HDMI device plugged in
Mac OS X 10.6.x HDMI Audio
Select System Preferences/Sound/Output.* Select the HDMI audio device.
Enabling HDMI audio via AppleHDA in Mac OS X 10.6.x is comprised of four guides:
Snow Leopard HDMI Audio - Part 1: Requirements
Snow Leopard HDMI Audio - Part 2: DSDT Edits
Snow Leopard HDMI Audio - Part 3a: Kext Edits for AMD 5xxx
Snow Leopard HDMI Audio - Part 3b: Kext Edits for NVIDIA 4xx
Please note: This guide applies to Mac OS X 10.6.5, 10.6.6 and 10.6.7 only. The Early 2011 MacBookPro 10.6.7 release, Early 2011 iMac 10.6.7 release and Mac OS X 10.7 are not considered.
Even with a successfully configured DSDT, more work is required. *Specifically, your system must be enabled for the specific graphics card you have installed. *Typically, this means editing particular software components in your system for compatibility with your graphics card. *There is a specific method for Nvidia GeForce GT4XX graphics cards and a different method for AMD Radeon HD 5XXX graphics cards
What you will need:
DSDTSE v1.4.3 - http://www.osx86.es/?p=610
IORegistryExplorer - Mac OS X Retail Install Disc v10.6 or v10.6.3: Optional Installs/Xcode
HexEdit v220 - http://hexedit.sourceforge.net/
dsdt-hdmi_audio-v2.dsl
DSDT-HDMI_Audio_Edits_v2.dsl
Additional Audio Kext editing details are included in HDMI Audio Kext Verification:
HDMI_Audio_Kext_Verification.pdf
Depending on how your graphics card is enabled, additional edits of your DSDT may be required.* The edits are defined as GraphicsEnabler=Yes or Graphics Enabler=No.
Two components of AppleHDA are relevant to enabling HDMI audio.* They are 1. AppleHDA binary and 2. AppleHDAController binary. HexEdit is the tool used to edit each of the binaries.* Additional information describing AppleHDA and HexEdit are available in HDMI Audio Kext Verification.
Credit to bcc9 and tmongkol
Part 3b: Kext Edits Table of Contents
1. *Nvidia GeForce GT 4XX Graphics Cards*(and the GT 240)
** * * * a. *Additional DSDT Edits
** * * * * * * * GraphicsEnabler=Yes
** * * * * * * * GraphicsEnabler=No
** * * * b. *Kext Edits
** * * * * * * * *AppleHDA
1. Nvidia GeForce GT 4XX Graphics Cards (and the GT 240)
a. *Additional DSDT edits
With GraphicsEnabler=Yes in com.apple.Boot.plist, make the following changes to your dsdt.
Add the following code to Device (GFX0)
Code:
* * * * * * * * * * * * Store (Package (0x06)
* * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * "@0,connector-type",*
* * * * * * * * * * * * * * * * Buffer (0x04)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * 0x00, 0x08, 0x00, 0x00
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "@1,connector-type",*
* * * * * * * * * * * * * * * * Buffer (0x04)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * 0x00, 0x08, 0x00, 0x00
* * * * * * * * * * * * * * * * },*
1.* Open your dsdt in DSDTSE. open DSDT-HDMI_Audio_Edits_v2 in DSDTSE
2.* Copy the code labeled "Nvidia_GE=Y-DSDT_HDMI_Audio_Edit - Complete"
3.* Paste the copied code over the existing Device (PEGP), Device (GFX0) and Device (HDAU)
4.* Compile, install, reboot with HDMI device plugged
5.* Run IOReg, Search "HDAU", Note device-id, Save for later. *
6.* Jump to b. Audio Kext Edits *
With GraphicsEnabler=No in com.apple.Boot.plist, make the following changes to your dsdt.
Add the following code to Device (GFX0) - Modify for your particular Nvidia GeForce 4xx graphics card.
Code:
* * * * * * * * * * * * Store (Package (0x1E)
* * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * "AAPL,slot-name",*
* * * * * * * * * * * * * * * * "PCI x16",*
* * * * * * * * * * * * * * * * "@0,compatible",*
* * * * * * * * * * * * * * * * Buffer (0x0B)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "NVDA,NVMac"
* * * * * * * * * * * * * * * * },*
** * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * "@0,connector-type",*
* * * * * * * * * * * * * * Buffer (0x04)
* * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * 0x00, 0x08, 0x00, 0x00
* * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * "@0,device_type",*
* * * * * * * * * * * * * * * * Buffer (0x08)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "display"
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "@0,name",*
* * * * * * * * * * * * * * * * Buffer (0x0F)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "NVDA,Display-A"
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "@1,compatible",*
* * * * * * * * * * * * * * * * Buffer (0x0B)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "NVDA,NVMac"
* * * * * * * * * * * * * * * * },*
** * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * "@1,connector-type",*
* * * * * * * * * * * * * * Buffer (0x04)
* * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * 0x00, 0x08, 0x00, 0x00
* * * * * * * * * * * * * * },* * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * "@1,device_type",*
* * * * * * * * * * * * * * * * Buffer (0x08)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "display"
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "@1,name",*
* * * * * * * * * * * * * * * * Buffer (0x0F)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "NVDA,Display-B"
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "NVCAP",*
* * * * * * * * * * * * * * * * Buffer (0x18)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * /* 0000 */* * 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,*
* * * * * * * * * * * * * * * * * * /* 0008 */* * 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,*
* * * * * * * * * * * * * * * * * * /* 0010 */* * 0x00, 0x00, 0x00, 0x00
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "VRAM,totalsize",*
* * * * * * * * * * * * * * * * Buffer (0x04)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * 0x00, 0x00, 0x00, 0x40
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "device_type",*
* * * * * * * * * * * * * * * * Buffer (0x0C)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "NVDA,Parent"
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "model",*
* * * * * * * * * * * * * * * * Buffer (0x10)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "GeForce GTX 460"
* * * * * * * * * * * * * * * * },*
* * * * * * * * * * * * * * * * "rom-revision",*
* * * * * * * * * * * * * * * * Buffer (0x0e)
* * * * * * * * * * * * * * * * {
* * * * * * * * * * * * * * * * * * "70.08.29.00.30"
* * * * * * * * * * * * * * * * },*
1.* Open your dsdt in DSDTSE. open DSDT-HDMI_Audio_Edits_v2 in DSDTSE
2.* Copy the code labeled "Nvidia_GE=N-DSDT_HDMI_Audio_Edit - Complete"
3.* Paste the copied code over the existing Device (PEGP), Device (GFX0) and Device (HDAU)
4.* Compile, install, reboot with HDMI device plugged
5.* Run IOReg, Search "HDAU", Note device-id, this your HDMI Device_id; save for later.
b. *Audio Kext edits
Verify AppleHDA v 1.9.9 is installed in S/L/E. *
Editing binary details are included in HDMI Audio Kext Verification
AppleHDAController Binary Edit
If your HDMI Device_id is one the following, an edit is not required (i.e., GT 240).
de 10 c0 0a, de 10 94 0d, de 10 e2 0b, de 10 e4 0b
Example:* HDMI Device_id: "eb 0b"
** * * * * * * * * Find: de 10 e2 0b * Replace: de 10 eb 0b
1.* Run IOReg - Skip to Step 3, if you have HDMI Device_id
2.* Search HDAU, Note device-id, this your HDMI Device_id
3. *Edit AppleHDAController Binary: *
** * * * * * Find: de 10 e2 0b * Replace: de 10 ?? ?? * 2 Times
4.* Install AppleHDAController Binary in AppleHDA.kext
5.* Install AppleHDA.kext in S/L/E
6.* Run Kext Utility
7.* Reboot with HDMI device plugged in
AppleHDA Binary Edit
If your HDMI Codec_id is one the following, an edit is not required.
07 00 de 10, 0c 00 de 10, 0a 00 de 10
Example:* HDMI Codec_id: "10 de 00 12" *
** * * * * * * * * Represented in AppleHDA as "12 00 de 10"
** * * * * * * * * Find: 0a 00 de 10* Replace 12 00 de 10
1.* Run IOReg
2.* Search HDAU
3.* Clear Search box
4.* Scroll down 2 lines and select IOHDACodecDevice
5.* Note: IOHDACodecVendorID 10 de ??* ?? *
* * * * * * * * Convert to AppleHDA ?? ?? de 10
6.* Edit AppleHDA Binary: *
** * * * * * * Find: 0a 00 de 10* Replace ?? ?? de 10* 4 Times
7.* Install AppleHDA Binary in AppleHDA.kext
8.* Install AppleHDA.kext in S/L/E
9.* Run Kext Utility
10.Reboot with HDMI device plugged in
Mac OS X 10.6.x HDMI Audio
Select System Preferences/Sound/Output.* Select the HDMI audio device.
Attachments
Last edited by a moderator: