Contribute
Register

Two graphic cards - HDMI Audio on Asus Nvidia GeForce 210

Status
Not open for further replies.
Joined
Oct 21, 2012
Messages
15
Motherboard
Gigabyte Z77-DS3H rev1.0
CPU
i5 2500k
Graphics
Saphire Radeon 6870 / HD3000
Mac
  1. MacBook Pro
Classic Mac
  1. 0
Mobile Phone
  1. iOS
ATI HD 6870 HDMI audio stops when second screen is turned off

Hello,

im using two graphic cards in my Hackintosh.

Mainboard: http://www.asus.com/Motherboards/P8P67_REV_31/#specifications
with ALC 892 (working).

Main gfx card: Sapphire 6870 AMD Radeon HDConnected to a LCD (DVI)
Connected to a FlatTV (HDMI) (about to change)

Secondary, new card: Asus GeForce 210 Silent

Should be connected FlatTV (HDMI)

I patched my DSDT to make my ATI card's HDMI audio work. I tried the to accomplish the same with the NVidia card but something is missing. I have no further idea. I think my AppleHDA (which is patched somehow, i guess) screws things up for me.

I attached all those files plus the IOReg dumps in a ZIP.

Scenario 1: (working) A LCD and the FlatTV attached to my ATI card.
Scenario 2: (not working) The FlatTV attached to my NVidia card.

View attachment gfx-debug.zip

Any help is appreciated!
 
Scenario 1: (working) A LCD and the FlatTV attached to my ATI card.
Scenario 2: (not working) The FlatTV attached to my NVidia card.
3 issues:
1. HD 6870 is loading the default framebuffer meaning the card may not be fully enabled. You are lucky HDMI audio works with that framebuffer.
2. GT 210 is sitting in an X4 or X1 slot, hopefully, not a problem
3. GT 210 may not make HDMI audio even when configured properly.

The reason the HD 6870 makes HDMI audio is the dsdt edits are correct. Edit the GT 210 GFX0 and HDAU as noted. Reply with new IOReg and edited dsdt.
Code:
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x06)
                            {
                                "@0,connector-type", 
                                Buffer (0x04)
                                {
                                    0x00, 0x08, 0x00, 0x00
                                }, 


                                "@1,connector-type", 
                                Buffer (0x04)
                                {
                                    0x00, 0x08, 0x00, 0x00
                                }, 


                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-2"
                                }
                            }, 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-2"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
 
Thank you for helping me out.

I tried the DSDT as you proposed.

My system is very slow and is "frozen" once the login screen opens. One cannot move the mouse pointer or press any for keys for about 5 minutes. after that, the system acts as usual. I attached the dmesg log. The syslog states "WindowServer[102]: Unable to open IOHIDSystem (e00002bd)". Maybe i will fix permission tomorrow and try again.

Back to the GFX issues. I also attached the new DSDT and IOReg dump. Sadly, i can only boot the system with the HDMI cable NOT connected to the NVidia card. Once i attach the cable, the system freezes (The mouse pointer moves but system does not come back - i reseted the system after 5 minutes or so).

View attachment gfx-debug-2.zip

You are right about the slot. My board does provide 4x mode only on the second PCIE slot.

My 6870 card is very bitchy. I had a very hard time to make it work at all. I heard about some other Sapphire cards that are hard to work with, too. Or maybe i did something wrong here, but gaming works pretty solid so far so i thought i did it right. :confused:

Is the 210 no capable of HDMI audio? I was looking for a cheap card to run XBMC on because the ATI cannot handle 3 screens and loses a lot of performance in 'Extended desktop' mode (2x Full HD).

Thank you!
 
Back to the GFX issues. I also attached the new DSDT and IOReg dump. Sadly, i can only boot the system with the HDMI cable NOT connected to the NVidia card. Once i attach the cable, the system freezes (The mouse pointer moves but system does not come back - i reseted the system after 5 minutes or so).

My 6870 card is very bitchy. I had a very hard time to make it work at all. I heard about some other Sapphire cards that are hard to work with, too.

Is the 210 no capable of HDMI audio? I was looking for a cheap card to run XBMC on because the ATI cannot handle 3 screens and loses a lot of performance in 'Extended desktop' mode (2x Full HD).
Not sure what is causing the boot problems. Suggest remove one graphics card, get everything working, remove the remaining graphics card, install the second card, get everything working, install the first card and verify everything works.

My 6870 has worked perfectly from day one. For your HD 6870 see Sapphire 6870 problem - Page 2. Verify Duckweed loads with the kext edits described and HDMI audio works. It is possible 3 displays may work with the kext edits.

Without a HDMI display connected, the IOReg is not useful. Too bad the motherboard does not support HD3000 graphics, actually a better choice than the 210.
 
My 6870 has worked perfectly from day one. For your HD 6870 see Sapphire 6870 problem - Page 2. Verify Duckweed loads with the kext edits described and HDMI audio works. It is possible 3 displays may work with the kext edits.

Hi Toleda,

i followed your advice and started out with a fresh install (replaced all kexts with the original 10.8.3 ones). I followed the guide you linked to the point and tried to fix the issues with my 6870 first (no GT210 installed). Everything worked out. I did:

- Patch ATI6000Controller
- Added stuff to AGPM (dmesg:
[AGPM Controller] build GPUDict by Vendor1002Device6738) so it seems to have worked out.
- had to edit DSDT, cause without Framebuffer instructions, the default was chosen.
- ran MultiBeast 5.3 and chose to patch AppleHDA 'with DSDT'.

The lag after boot is gone, too.

Thank you, once again!

Now i am trying to get the GT210 working.
 
ATI HD 6870 HDMI audio stops when second screen is turned off

Hi there,

i have to report some bad news.

After 'fixing' the ATI card, my HDMI audio stream is interrupted as soon as i turn off my monitor.

I connected a LCD to the 6870 using DVI.
I connected my audio receiver (which connects my TV) to the 6870 using HDMI.

The audio works fine (even bitstream DTS and stuff), even when the TV is off. But as soon as i turn off the LCD, the audio is interrupted and does not come back.

Then i turned on the TV to check what is happening. The OS still shows the HDMI output as default audio device and even IOReg shows some buffers and streams, but the receiver does not receive any signal.

I attached the IOReg dumps for several scenarios (HDMI only e.g.)

Something is weird here. :crazy:

View attachment Archiv.zip

Also i decided to buy a new board and CPU and get rid of the GT210 to make things easier. Thought about updating anyway... Thats why i edit the thread title too.
 
I don't know what causes that problem. THe HDMI audio edits do not change.

Alright, thank you!

I reverted the DSDT edits that forced the framebuffer to be 'Duckweed'.

Now IOReg of course shows 'RadeonFrameBuffer' instead of 'Duckweed', but the HDMI audio keeps playing when i turn of my monitor. It appears that some sort power management is missing now, too. Maybe that power management (key 'AGPM', 'gpu-control') has something to do with it...

The AGPM was changed by me like in the tutorial you provided earlier. 'dmesg' still shows '[AGPM Controller] build GPUDict by Vendor1002Device6738' but the keys are missing below the framebuffer.

Maybe i should try to keep the framebuffer at Duckweed and remove the AGPM mods...?! :beachball:

Edit:

Reverted the AGPM mods by changing the VID, AGPM shows 'unknown platform'. IOReg shows Duckweed and associated AGPM, though not the ones that would be provided by the mod.

:arrow: The duckweed framebuffer seems to stop the audio stream when my monitor is off. :(


Does the framebuffer have any impact on the GFX performance? Otherwise im fine with the non-duckweed setup.


For reference only. Please see the next post
 
Man, i am ...confused now.

My 6870 has two DVI ports (one of looks like its a single-link only), one DP, one HDMI.

If i connect my monitor to the single link DVI port, the HDMI audio keeps playing when the screen is off.

If i connect my monitor to the dual link DVI port, the HDMI audio stops when the screen is off.

How weird is that?

Nevermind... Seems while testing i must have switched the ports or something - or it is pure luck with the non-Duckweed framebuffer.
This means, my HDMI is working with the ATI card.


Back to the original topic:

I managed to get the GT210 working with DSDT edits. But no HDMI audio yet:

IOReg and DSDT:

View attachment gt210.zip

HDMI display is at Display-B.
Using MacPro 5.1 smbios.


Thank you Toleda. May i buy you a beer? :oops:
 
Status
Not open for further replies.
Back
Top