Does Anyone understand this post by Tmongol?
In one post he says it is not for ATI users, but in another he mentions ATI HDMI audio and gives a long explanation of which I cannot really understand on how to enable HDMI audio, I think, but I'm not sure.
Does anyone understand this?
http://www.insanelymac.com/forum/index. ... try1448833
Edited on June 20, 2010
***AppleHDA.kext v1.7.9a4 (10.6.2) was tested on Gigabyte GT220 and Galaxy GT240, OS X 10.6.3, and HDMI audio's working and having Encoded Digital Audio (see Audio Miidi Setup). AppleHDA.kext v1.8.4fc3 doesn't have Encoded Digital Audio for HDMI audio. (11 May 2010)
This is how I made HDMI audio working for my Nvidia GT240. After I tried to find out how I can get HDMI audio for my Galaxy GT240, finally I just did two things, editing my DSDT and patching AppleHDA bin. I can say that if you have a graphic card such as GT220 or GT240 and AppleHDA.kext could not work on your sound on board, you should be able to get HDMI audio working. However, you might got some sound assertions. It's not bad, isn't it. It could be good if you can use AppleHDA.kext for your sound card on board and HDMI audio. You can see some of my testing logs, it's in zip file.
Requirements:
HexEdit for patching bin and iASLMe (DSDT tool, compile & decompile)
AppleHDA.kext version 1.8.4fc3 or higher ***tested AppleHDA.kext v1.7.9a4 (10.6.2) on OS X 10.6.3, got HDMI audio working.
I will not explain how to patch AppleHDA binary or edit info.plists for your sound card on board but I will tell you how to edit AppleHDA binary for HDMI audio. GT220 is based on GPU GT216 the same as GT330M used by Apple. If you have nVidia GT220 PCI-E card and ALC889a/885 on your motherboard, you don't have to patch binary.
DSDT.aml
You need to use DSDT.aml for your system in order to enabler HDMI audio. You need to know how to edit DSDT.dsl and how to compile it.
A graphic card that has a built-in audio chip.
You have known that recent ATI graphic cards have a built-in audio chip. Late 2009, Nvidia has marketed new GPUs that have a built-in audio chip; for example, GT220, GT240, GT330, GTX470, GTX480, etc. Visit
www.nvidia.com for more information.
OS X 10.6.3
You may need to update your system to 10.6.3 since AppleHDA.kext is related to many kexts.
============================================================
How to edit your DSDT:
First:
Adding the following code into a graphic section if you are using boot loader for your graphic card.
Note: You must know what your graphic address is.
CODE
Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Then, it should be looking like the followings.
CODE
Device (PEGP) //adding this device
{
Name (_ADR, 0x00010000) //using lspci tool for your graphic address
Name (_PRW, Package (0x02) //based on Gigabyte DSDT
{
0x09,
0x05
})
Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
If your boot loader does not contain your graphic device-id, you may use the followings.
CODE
Device (PEGP)
{
Name (_ADR, 0x00010000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{
"AAPL,slot-name",
"PCI x16",
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@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 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x20 //change it for your graphic card
},
"device_type",
Buffer (0x0C)
{
"NVDA,Parent"
},
"model",
Buffer (0x15)
{
"nVidia GeForce GT240" //change it for your graphic card
},
"rom-revision",
Buffer ()
{
"3172a" //change it for your graphic card. I am not sure about this. Some recommended use this "3172a."
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
Second:
see HDMI device-id whether you need to patch Apple binary or not?
For example, I used Windows for getting information. You can see the following pictures.
My Galaxy GT240 has HDMI audio device-id as 0x10DE000D while vanilla AppleHDA binary has 0x10DE000A. So, I must patch AppleHDA binary by using HexEdit to change all of them (four positions) from 0A 00 DE 10 to 0D 00 DE 10.
G210 : 0x10DE000B working or not working, I don't know about this G210.
GT220 : 0x10DE000A (Good choice)
GT240 : 0x10DE000D (need to patch Apple binary)
Finally, you should get like these.
Note:
You have to connect HDMI cable between a graphic card and LCD TV (or Monitor w/ built-in speakers) for getting HDMI Output option.
I tested Sleep mode since I connected between GT240 and LCD TV and then it was OK and able to wake up. (19-04-2010)
If you encounter some problems, you may need to delete some preferences by booting into safe mode ("-s"). You will see two lines of /sbin/??, just type them.
I got these from
http://www.insanelymac.com/forum/lofive ... 08186.html for removing old display preferences.
CODE
rm -f /Library/Preferences/com.apple.window*
rm -f /Users/"USER NAME"/Library/Preferences/ByHost/com.apple.window*
rm -r /Users/"USER NAME"/Library/Preferences/ByHost/com.apple.pref*
rm -f /Library/Preferences/Audio/com.apple.audi*
This is my testing logs.
Attached File my_some_testing_logs.zip ( 1.59K ) Number of downloads: 64
Enjoy.