HDMI Audio + Video Solutions


It's now possible to get HDMI digital audio + video outputs working on your custom build.  The trick is to get a supported graphics card.  Here are a few methods to enable HDMI audio + video using an NVIDIA GT 220 or GT 240 graphics card with a Gigabyte motherboard.  

NOTE: Since the NVIDIA GT 220 or GT 240 has its own audio chip, you may lose audio functionality with your current onboard audio solution.

UPDATE: The Easy Method also works for the NVIDIA 430, 450, 460, 465, 475, and 480, since they also have an onboard audio chip.  Advanced Method is not working.

Easy Method: VoodooHDA + Graphics Enablers
Enabling video is the first step.  You may use any of the methods described in this article: Enable Full Graphics Card Acceleration.

With VoodooHDA, a complete replacement audio solution, you can use your HDMI device without any further configuration.  To test, install a VoodooHDA version through MultiBeast.  Since some of these drivers are experimental, you may get kernel panics on install and with use.  In my own experience, VoodooHDA 0.2.1 and 0.2.56 work best for the GT 240.  You'll find upon reboot that in Audio/Midi Setup and System Preferences there are 4 Digital Options- the second one works for HDMI audio out.

Advanced Method: AppleHDA + DSDT Graphics
Using the default AppleHDA is also possible, with HDMI identified as built-in.  You can configure the NVIDIA GT 240 to use the native AppleHDA.kext for your HDMI solution independent of any onboard audio chip.  This method is considerably more advanced.

NOTE: Use 10.6.4 AppleHDA or earlier, 10.6.5 or later will NOT work with this method.

STEP 1: ENABLE GRAPHICS THROUGH DSDT
Configure your graphics card without kexts, Chameleon's GraphicsEnabler or EFI strings using the following article as a guide: Advanced DSDT Fixes: NVIDIA Graphics.  GT 240 users can skip this step.

STEP 2: ADD HDMI AUDIO TO DSDT
Next, we'll add HDMI audio edits to the graphics section of our DSDT.
  1. Download and open DSDT-GT240+HDMI.dsl using DSDTSE
  2. Open your DSDT.aml
  3. Type Device (PCI0) in the search box to return to your previous graphics edit.
  4. Compare and copy/paste the information as necessary.  NOTE: GT 240 owners can copy/paste the entire section including the full graphics code,
  5. Compile and save your new DSDT.aml
  6. Paste to /Extra/ as DSDT.aml
STEP 3: REMOVE ALL EXISTING GRAPHICS ENABLERS
You must now remove all Enablers, GraphicsEnabler=Yes, and EFI Strings from your system to test the new injection.
  1. Open /Extra/Extensions and /System/Library/Extensions
  2. Delete any graphics enabler kexts in both locations such as NVEnabler or ATY_init.
  3. Open /Extra/Extensions/ and open com.apple.boot.plist in TextEdit
  4. Delete any EFI String information and GraphicsEnabler=Yes
  5. Save com.apple.boot.plist
STEP 4: PATCH APPLEHDA BINARY
In order to use AppleHDA.kext for HDMI audio, GT 240 users will need to patch the HDMI audio device id from the standard 0x10DE000A to 0x10DE000D using a Hex editor.  GT 220 users can skip this step. 
  1. Make sure you're updated to the latest version of Mac OS X. 
  2. Navigate in Finder to /System/Library/Extensions
  3. Copy your AppleHDA.kext to Desktop
  4. Download and install Hex Fiend
  5. Right click on AppleHDA.kext and choose Show Package Contents
  6. Navigate to /Contents/MacOS/
  7. Copy AppleHDA to Desktop
  8. Right click on AppleHDA and choose Open With…
  9. Choose Hex Fiend
  10. Type Command-F to bring up Find and Replace menubar
  11. Copy and paste 0A 00 DE 10 in Find
  12. Copy and paste 0D 00 DE 10 in Replace
  13. Click Replace All
  14. Save AppleHDA
  15. Go back to your previously opened ~/Desktop/AppleHDA.kext
  16. Right click on AppleHDA.kext and choose Show Package Contents
  17. Navigate to /Contents/MacOS/
  18. Delete AppleHDA
  19. Copy and paste AppleHDA from Desktop to /Contents/MacOS/
  20. Download KextBeast
  21. Run KextBeast to install the new AppleHDA.kext and rebuild caches.
  22. Reboot
 Credit to tmonkgol at Insanelymac.  Hope this works for you!

-tonymacx86
For discussions on this and other topics, register today at tonymacx86.com!