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
Lion HDMI Audio
Part 3b: Lion HDMI Audio Kext Edits - Nvidia GT/S/X 4xx and GT/S/X 5xx Graphics Cards
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 GT/S/X 4xxx and 5xx graphics cards, a different method for AMD Radeon HD 5xxx and 6xxx graphics cards and a third method for Intel Integrated Graphics HD3000.
This guide assumes the Part 2a: Lion HDMI Audio DSDT Edits - Discrete Graphics (AMD/Nvidia) edits have been made successfully. The Lion HDMI Audio Kext Edits for Nvidia GT/S/X 4xx and GT/S/X 5xx graphics cards are described below.
Now, is a good time to back up your system. Preferably, you have a bootable backup. Time Machine is not a good choice for the primary backup.
This guide applies to Mac OS X 10.7.x only.
10.7.2 Update: GT430 - DVI port working
What you will need:
1. IORegistryExplorer - available with Xcode for Lion download from the Mac App Store/Developer Tools/Xcode
2. DSDTSE v1.4.3 - http://www.osx86.es/?p=610
3. HexEdit v220 - http://hexedit.sourceforge.net/
4. Kext Beast or Kext Wizard
5. DSDT-HDMI_Audio_Edits_v3: View attachment DSDT-HDMI_Audio_Edits_v3.dsl
6. Nvidia GT/S/X 4xx and GT/S/X 5xx HDMI Audio Case Studies: View attachment nvidia_gt4xx-5xx_case_studies.pdf
7. How to find device_ids for your graphics card: View attachment nvidia_gt4xx-5xx_case_studies.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.
Credit: VCH888: Editing custom personalities for ATI Radeon HD[45]xxx - InsanelyMac Forum
Part 3b: Lion HDMI Audio Kext Edits Table of Contents
1. Nvidia GT/S/X 4xx and GT/S/X 5xx Graphics Cards (and the GT 240)
a. Additional DSDT Edits
GraphicsEnabler=Yes
GraphicsEnabler=No
b. Kext Edits
AppleHDA
1. Nvidia GT/S/X 4xx and GT/S/X 5xx Graphics Cards (and the GT 240)
a.Additional DSDT edits
With GraphicsEnabler=Yes in org.chameleon.Boot.plist, make the following changes to your dsdt.
Add the following code to Device (GFX0).
Code:
[LEFT][COLOR=#404040][FONT=Monaco] Store (Package (0x06)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@0,connector-type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x04)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] 0x00, 0x08, 0x00, 0x00[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@1,connector-type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x04)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] 0x00, 0x08, 0x00, 0x00[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR][COLOR=#404040][FONT=Monaco]
[/FONT][/COLOR][/LEFT]
2. Copy your dsdt.aml to your desktop.
3. Download DSDT-HDMI_Audio_Edits_v3.
4. Open your dsdt in DSDTSE.
5. Open DSDT-HDMI_Audio_Edits_v3 in DSDTSE.
6. Copy the code labeled "Nvidia_GE=Y-DSDT_HDMI_Audio_Edit - Complete" from DSDT-HDMI_Audio_Edits_v3.
7. Search "PEGP" (no quotes) in your dsdt.
8. Paste the copied code over the existing Device (PEGP), Device (GFX0) and Device (HDAU).
9. Compile.
10. Install.
11. Reboot with HDMI device connected.
12. Run IOReg, Search "HDAU".
13. Note device-id, this your HDMI Audio Device_id; save for later.
With GraphicsEnabler=No in org.chameleon.Boot.plist, make the following changes to your dsdt.
Add the following code to Device (GFX0) - Modify for your particular Nvidia GeForce 4xx/5xx graphics card.
Code:
[LEFT][COLOR=#404040][FONT=Monaco] Store (Package (0x1E)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "AAPL,slot-name", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "PCI x16", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@0,compatible", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x0B)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "NVDA,NVMac"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@0,connector-type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x04)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] 0x00, 0x08, 0x00, 0x00[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@0,device_type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x08)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "display"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@0,name", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x0F)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "NVDA,Display-A"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@1,compatible", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x0B)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "NVDA,NVMac"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@1,connector-type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x04)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] 0x00, 0x08, 0x00, 0x00[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@1,device_type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x08)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "display"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "@1,name", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x0F)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "NVDA,Display-B"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "NVCAP", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x18)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] /* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] /* 0008 */ 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] /* 0010 */ 0x00, 0x00, 0x00, 0x00[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "VRAM,totalsize", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x04)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] 0x00, 0x00, 0x00, 0x40[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "device_type", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x0C)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "NVDA,Parent"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "model", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x10)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "GeForce GTX 460"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] }, [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "rom-revision", [/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] Buffer (0x0e)[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] {[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] "70.08.29.00.30"[/FONT][/COLOR]
[COLOR=#404040][FONT=Monaco] },
[/FONT][/COLOR][/LEFT]
1. Make a backup of your dsdt.aml. from Extras.
2. Copy your dsdt.aml to your desktop.
3. Download DSDT-HDMI_Audio_Edits_v3.
4. Open your dsdt in DSDTSE.
5. Open DSDT-HDMI_Audio_Edits_v3 in DSDTSE.
6. Copy the code labeled "Nvidia_GE=N-DSDT_HDMI_Audio_Edit - Complete" from DSDT-HDMI_Audio_Edits_v3.
7. Search "PEGP" (no quotes) in your dsdt.
8. Paste the copied code over the existing Device (PEGP), Device (GFX0) and Device (HDAU).
9. Compile.
10. Install.
11. Reboot with HDMI device connected.
12. Run IOReg, Search "HDAU".
13. Note device-id, this your HDMI Audio Device_id; save for later.
b. Audio Kext edits
Verify AppleHDA v 2.1.x is installed in S/L/E.
AppleHDAController Binary Edit
If your HDMI Audio Device_id is one the following, no edit is required (i.e., GT 430).
de 10 c0 0a, de 10 94 0d, de 10 e2 0b, de 10 ea 0b
Example: HDMI Audio Device_id: "eb 0b".
HexEdit/Find: "de 10 ea 0b", HexEdit/Replace: "de 10 eb 0b"
Special Case - GT 240:
In Lion (AppleHDA_v2.1.x), GT240 (device_id; de 10 e4 0b) was not updated.
HexEdit/Find: "de 10 e4 0b", HexEdit/Replace: "de 10 e3 0b" 2 Times.
Continue with edit on "de 10 ea 0b" as noted below.
1. Run IOReg - Skip to Step 3, if you have HDMI Audio Device_id.
2. Search HDAU, Note device-id, this your HDMI Audio Device_id.
3. Edit AppleHDAController binary:
a. HexEdit/Find: de 10 ea 0b * HexEdit/Replace: de 10 ?? ?? 4 Times.
4. Install AppleHDAController binary in AppleHDA.kext.
5. Install AppleHDA.kext in S/L/E.
6. Run Kext Wizard or Kext Beast.
7. Reboot with HDMI device connected.
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, 13 00 de 10, 14 00 de 10
Example: HDMI Codec_id: "10 de 00 12".
Represented in AppleHDA as "12 00 de 10"
HexEdit/Find: "14 00 de 10", HexEdit/Replace "12 00 de 10"
1. Run IOReg.
2. Search IOHDACodecDevice@0.
3. Note: IOHDACodecVendorID: de 10 ?? ?? (ex.: 10 de 12 34).
a. Convert to AppleHDA: ?? ?? de 10 (ex.: 34 12 de 10).
b. This is the HDMI Codec Device_id.
4. Edit AppleHDA Binary:
a. HexEdit/Find: "14 00 de 10" HexEdit/Replace "?? ?? de 10" 4 Times.
5. Install AppleHDA binary in AppleHDA.kext.
6. Install AppleHDA.kext in S/L/E.
7. Run Kext Beast or Kext Wizard.
8. Reboot with HDMI device connected.
Mac OS X 10.7.x HDMI Audio
Select System Preferences/Sound/Output. Select the HDMI audio device.
AS-P8H67-I-Deluxe/i7-2600K/EVGA GTX 570 HD/10.7.x.
Notes:
1. "The selected device has no output controls"
Indicates the HDMI device (ex., DTR-40.2) controls volume, mute, etc., Lion does not.
2. DisplayPort audio is working
3. HDMI audio is enabled on DVI ports with a DVI2HDMI adapter.
Attachments
Last edited by a moderator: