Contribute
Register

Lion HDMI Audio - Part 2a: DSDT Edits/Discrete - AMD/Nvidia

Status
Not open for further replies.
Hi guys, Thanks!

@Toleda: I don't know how OS X manage this differently, but on my Windows 7 partition HDMI audio works great. I connected the GTX 260 directly to the "2 pin" SPDIF on the motherboard (with the little cable supplied).

@intamara: I'll try something, I'll let you know...

Thx
 
Hi, I edited my DSDT.aml file for a complete injection of my graphic card. Now it works without Graphics Enabler (Kext or string).
I added also the HDAU Device, but it doesn't appears into IoReg (Toleda said right: GTX260 doesn't have the audio chip).

This is the code edited into DSDT:


Code:
Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One)
            Name (_BBN, Zero)
            Method (_S3D, 0, NotSerialized)
            {
                If (LEqual (OSFL, 0x02))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }
            Device (PEGP)
            {
                Name (_ADR, 0x00030000)
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x22)
                            {
                                "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 (0x14)
                                {
                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                    /* 0008 */    0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                                }, 
                                "NVPM", 
                                Buffer (0x1C)
                                {
                                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0018 */    0x00, 0x00, 0x00, 0x00
                                }, 
                                "VRAM,totalsize", 
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x38
                                }, 
                                "device_type", 
                                Buffer (0x0D)
                                {
                                    "NVDA,Parent"
                                }, 
                                "model", 
                                Buffer (0x10)
                                {
                                    "GeForce GTX 260"
                                }, 
                                "rom-revision", 
                                Buffer (0x0F)
                                {
                                    "62.00.49.00.03"
                                }, 
                                "reg", 
                                Buffer (0x78)
                                {
                                    /* 0000 */    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02, 
                                    /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 
                                    /* 0028 */    0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0038 */    0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02, 
                                    /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 
                                    /* 0050 */    0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0058 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0060 */    0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02, 
                                    /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                    /* 0070 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
                                }, 
                                "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)
                    }
                }
            }


I tried the intamara advice: from the Device Manager in Windows I have selected High Definition Audio Controller Properties. This is the only HDA controller in my PC:

HDAUDIO\FUNC_01&VEN_10EC&DEV_0889&SUBSYS_1458A022&REV_1000\4&36360a8e&0&0201

Vendor 10EC
Device ID 0889

0x10EC0889 (the Realtek on motherboard, I suppose)

I've found that the AppleHDA.kext default controller is 0x10DE000A

To change it I used:

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

But not working!

There is a hope to use this controller for HDMI Audio?

Thx
 
lollo78 said:
Hi, I edited my DSDT.aml file for a complete injection of my graphic card. Now it works without Graphics Enabler (Kext or string).
I added also the HDAU Device, but it doesn't appears into IoReg (Toleda said right: GTX260 doesn't have the audio chip).
............
Thx

You're the wrong way.

Your GTX260 does not contain an audio chip. The way to fix is to edit pathmap so that digital/analog signal can be sent from a mother board to GTX260 via small cable and then digital/analog signal should go to your tv/receiver via HDMI cable.

Upload your working AppleHDA.kext for your ALC889, I will take a look for you.

Do you still need to get back S/PDIF to work for you?

*********************OR
If you use AppleHDA.kext v.2.n.n/higher, you may edit Platforms.xml in /AppleHDA.kext/Contents/Resources by yourself.

Searching for 889, as I guess you use for your ALC889; should be like these lines,

<key>PathMapID</key>
<integer>889</integer>

the above you may see these lines of digital combination

<dict>
<key>NodeID</key>
<integer>30</integer>
</dict>
<dict>
<key>NodeID</key>
<integer>6</integer>
</dict>

change 30 to 17 and 6 to 16, how ?? >> see your codec dump from Linux
and save it and use such Kext Utilties/Wizard to install AppleHDA.kext

note: copy your AppleHDA.kext to Desktop or elsewhere for editing

*************
to test;

open Sound in System Preferences and select Digital Out
If it's working correctly, you should get the sound thru HDMI cable.

*************
remove Device (HDAU) from DSDT

************
 
OH MY GOD!
Great Intamaraaaaaaaa, it works like a charm! :headbang: :clap: :clap: :clap:
Please, please, please... explain me what you did. It's a great opportunity for me to learn new things (and for make it alone at next AppleHDA.kext update).

change 30 to 17 and 6 to 16, how ?? >> see your codec dump from Linux
:crazy: :eek:

Respect!
 
Hi its great that you make work the audio in your gtx 260 can someone explain how to do it please, this card work great oob the audio is the only issue i have it connected in my mobo whit the spidf
 
Thanks lollo78 for your answer and intamara for is work, just install applehda and now is working no other configuration needed thanks again
 
Well done!
Caracortada can I make you a question?
Now, in HDMI Audio mode, try to setup Volume with the Keyboard (F10, F11, F12 key). It works for you?
 
Status
Not open for further replies.
Back
Top