Jump to content

Gigabyte 889 Audio


J Lamp
 Share

3 posts in this topic

Recommended Posts

I'm sure I'm opening myself up to a whole bunch of basic questions posting this, but I just don't have the time I used to to spend here, so this info will have to stand AS IS.

 

I got this working by following some of the brilliant info found in this forum. If you need info on DSDT patching etc. the info is all available here, just look for it as I did.

 

I've tried a bunch of the 889 audio (not 889a) solutions floating around for my Gigabyte X58A-UD7 without tremendous success. On a previous hack (P45-UD3R) I got my 889a audio working perfectly with a vanilla AppleHDA.kext. It seems that wasn't going to be the case with the 889.

 

So... cut to the chase

 

First Step;

 

Here's my Legacy Kext for audio,

 

Legacy889HDA_Gigabyte.kext.zip

 

(This originally came from TonyMac, but I've made a bunch of changes to it.)

 

Put it in your Extra/Extensions folder.

 

This has the following working,

 

Green audio out with switching for front panel headphones

 

Yellow and Grey line out on rear

 

Blue rear line in

 

Pink rear Mic in

 

Digital out with AC3 (Dolby Digital, DTS) pass through

 

 

Known Issues:

 

Black line out does not work (seems there is an issue with the number of outputs Apple will support)

 

Front Mic jack (never got it to work at all)

 

Headphone switching can work instantly or other times take up to 20 sec to switch. No idea why. Maybe someone else can look into that.

 

So, that's step one.

 

 

Step 2:

 

You have to patch the AppleHDA binary to make this work. For those that know what they're doing it's not hard. You need to replace every instance of 85 08 EC 10 (hex) with 89 08 EC 10 in the AppleHDA binary. Now I'll bet that sounded like Greek to some of you, but instead of finding a Hex editor (there are lots of free ones out there) and doing it yourself I believe there is a simpler solution.

 

http://www.projectosx.com/forum/index.php?showtopic=1429

 

If you follow Aschar's instructions there, it should be a simple terminal command. I did mine manually, but the logic is sound behind his solution. Just remember BACK UP A COPY OF YOUR AppleHDA.kext FIRST! Over the six or so weeks of my trying to make this work I KP'd my machine so many times it finally wouldn't even boot. Solution, back up. Remember, hacking doesn't always go as planned.

 

EDIT: Updated to 10.6.6 and had no sound. Ran the command in terminal

 

"sudo perl -pi -e 's|\x85\x08\xec\x10|\x89\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA"

 

(without the quotes, for the 889, follow the link) and I was back in business. Way quicker and easier than searching for a patched AppleHDA or replacing with a backed up one. Bottom line, the terminal solution works!

 

3rd and final step;

 

DSDT edit.

 

Here's what I put in mine (it's pretty basic)

 

            Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Name (_PRW, Package (0x02)
               {
                   0x09, 
                   0x05
               })
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x08)
                       {
                           "codec-id", 
                           Buffer (0x04)
                           {
                               0x89, 0x08, 0xEC, 0x10
                           }, 

                           "layout-id", 
                           Buffer (0x04)
                           {
                               0xFF, 0x00, 0x00, 0x00
                           }, 

                           "device-type", 
                           Buffer (0x0F)
                           {
                               "Realtek ALC889"
                           }, 

                           "PinConfigurations", 
                           Buffer (Zero) {}
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

 

 

You'll also of course have to find the other instance of "Azal" and replace it with HDEF (standard DSDT hack stuff.)

For those of you wondering, Layout ID 0xFF (decimal 255) why did he use that. I dunno, Apple's layout IDs go up to just over 100. It was a nice big number and I knew it wouldn't create any conflicts.

 

Good Luck and happy listening.

Link to comment
Share on other sites

 Share

×
×
  • Create New...