Jump to content

GUIDE: HDMI Audio with unsupported on-board audio: VoodooHDA and AppleHDA at the same time.

voodoohda applehda ati amd hdmi audio 10.8 mountain lion

  • Please log in to reply
37 replies to this topic

#21
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh

Okay...

1) Get me a log of a verbose boot.
2) Get a new IOReg
3) Why are you using ATY_Init.kext? You're already using a DSDT, which means you can easily implement Beta's method (http://rampagedev.wo...rd-into-a-dsdt/) and get rid of ATY_Init altogether.
4) I have no idea whether this makes any sort of difference at all or not but in my particular case, I got audio to work with


							 "hda-gfx",
							 Buffer (0x0A)
							 {
"onboard-2"
							 },

Most guides use onboard-1, but that didn't work for me. So you can also try changing that. Just make sure to remember that code is used several times, so you need to change all instances. (At least I put it on the GFX0 inside the PEGP device, on the HDAU and also on the HDEF, though come to think of it, that probably is irrelevant)

And keep in mind that I'm not an expert or anything, I learned by tinkering and trying different things and probably so will you if you keep at it.

I have also tried to get rid of ATY_Init, but if I add graphics injection on DSDT system doesn't boot !!!
Anyway I am injecting graphics with ATY_Init kext, Don't know misteriously can't launch with DSDT - http://www.insanelym...4650-in-shrike/

Tried by adding -
Spoiler

Also give a try putting - gfx on board 2 & let you know.
Added verbose log info and ioreg.

Thank you
Palash

Attached Files



#22
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
Haven't seen your logs yet... still, I don't understand why is your DSDT inject so long? You're adding a lot of flags and info in there that I'm not sure are needed.
You should backup your DSDT and try beginning from scratch with RampageDev's tutorial (unless you already did before)

P.S./Edit: Obviously, I mean start from scratch on the graphics thing, not the complete DSDT.
If you look at RampageDev's tutorial, you'll notice his inject is much shorter. The one you're using includes info on connectors and persobnalities and a lot of stuff that is probably being redundant. You changed your Shrike personality by patching the adequate kext, right? Or did you use some other method I'm not familiar with?

#23
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh
Yes, I have also tried Rampage's method before. By this can boot the system, but graphics not launch. Think too short for my card & mine is too long as can't boot the system :D .

Without ATY_Init.kext, only GraphicsEnabler=Yes flag can launch the graphics, but always got a scrambled display.
Tried to fix the problem by forced display edid , not work :( .

And I think I patched the graphics kext (on ATIController4600.kext replaced the frame buffer personality) with the right way. As I read on forum :P .
I am hopefull with your method HDMI must be work, cause I can see the all things goes fine. Now question is what goes wrong with this?

Thank you
Palash

#24
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
I still think you should try to get rid of ATY_Init... Can you upload your DSDT as it was before injecting graphics?

#25
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh
Ok, I will put here DSDT returning bere. Before this need to correct the framebuffer, cause with your edited one screen goes black & can't fine HDMI.
Would you please put my card decode here?
Thank you
Palash

#26
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
Not sure what you need? Everything you posted should be on your own past posts.

What method are you using to modidy the framebuffer, by the way?

#27
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh

Not sure what you need? Everything you posted should be on your own past posts.

What method are you using to modidy the framebuffer, by the way?

Asking for radeon_bios_decode file of my card, If you extarcted from vgabios file.

Anyway you will find the guide here - http://www.insanelym...n/#entry1655903 (OLD METHOD).
If you can plaese also see on LVDS & DVI's info's is ok or not.

02 00 00 00 40 00 00 00 09 01 00 00 12 00 02 07 LVDS
10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 01 VGA

Thank you

Attached Files

  • Attached File  DSDT.zip   17.01KB   4 downloads


#28
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
You posted the same DSDT again, no? What I want is the original DSDT, without any edits.
Also, what OS are you currently using? 10.8.3?

#29
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh
I have extracted this DSDT from windows, compiled it & saved.

Now I am on OS X 10.8.3 (12D78).

Attached Files



#30
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh
WOW!!! Finally got HDMI audio working !!! :king:


Actual problem was on my framebuffer. So with corrected framebuffer the process might work :afro:

Thank you very much Lord Kamina :euro: for easy & simple guide and your co-operation.

Thank you
Palash

#31
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
That's great! What exactly did you have to change in the Franebuffer? I had been working on your DSDT and Framebuffer from scratch but work had been insane this last week (to the point where I literally fell asleep copypasting and couldn't remember what edits I was making anymore)

Well, enjoy it now.

#32
plsh2me

plsh2me

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 183 posts
  • Gender:Male
  • Location:Bangladesh
Actually I was fed up editing frame buffer :D . Chosed the new method from the guide - http://www.insanelym...n/#entry1655903 .

And all the process same as you described (DSDT & AppleHDA).

Thank you
Palash

#33
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
Well, if that works for you... It will probably break a lot easier than the other way, though.

#34
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male
Hello. And what to do if this key
<key>IOPCIPrimaryMatch</key>
<string>0x284b8086</string>
no longer works at the last version of Voodoo 2.8.4.(I tried this key and sound doesn't work completely)
How to prohibit using HDMI for Voodoo in this case?

#35
Lord Kamina

Lord Kamina

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Santiago, Chile
It works just fine with 2.8.4; just make sure there isn't another key interfering.

#36
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male
Year, it works fine. I just used DSDT for only AppleHDA, and there was cause why this key doesn't work.
Abolition of the correcting reestableished the work of it.
However I have the hesitation. Is it worth while to use both driver only due to one pop with AppleHDA?
Do both drivers slow down the system? Did you counter-pose the geekbenches before and after?

#37
ludacrisvp

ludacrisvp

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 374 posts
  • Gender:Male
  • Location:USA
AppleHDA.kext/Contents/Plugins/AppleHDAController.kext/Contents/Info.plist

Corrected path ^^

Grabbed my dev id via lspci
osx:~ ludacriscp$ lspci |grep Audio
01:00.1 Audio device: ATI Technologies Inc Unknown device aa58

Changed mine to this:
 
<key>IOClass</key>
<string>AppleHDAController</string>
<key>IOPCIPrimaryMatch/key>
<string>0xaa581002</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
Then I added this to my DSDT:
Device "PEGP" already existed as "LYD0" I renamed it and added the PCIe graphics card as "GFX0" that didn't exist.
           Device (PEGP)
            {
                Name (_ADR, 0x00030000)
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x0C)
                            {
                                "@0,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Vervet"
                                }, 

                                "@1,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Vervet"
                                }, 

                                "@2,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Vervet"
                                }, 

                                "@3,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Vervet"
                                }, 

                                "model", 
                                Buffer (0x13)
                                {
                                    "XFX Radeon HD 5770"
                                }, 

                                "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 (0x04)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }, 

                                "layout-id", 
                                Buffer (0x04)
                                {
                                    0x01, 0x00, 0x00, 0x00
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

## There is more of the 'PEGP' device that continues after the end of the HDAU device.
##
##You will also need this if you haven't already added it:
##<------------------------------------------------------------>
    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }
##<------------------------------------------------------------>
I also used layout1 ID.
This would be AppleHDA.kext/Contents/Resources/layout1.xml.zlib

I used the same "268610049" ID for layout1.xml.zlib (after using the perl script to inflate and deflate it accordingly)
Also did that to AppleHDA.kext/Contents/Resources/Platforms.xml.zlib

At this same time I changed how my main HDMI display is reported.
The 'MacPro' that I'm using (Dell) I have a Hanns-G 28" HDMI display 1920x1200 that I have the Mac thinking is an iMac.

I used FixEDID http://www.insanelym...lays/?p=1927455
Along with DarwinDumper http://www.insanelym...mper/?p=1852685
To make the displays what I wanted them to be.

Attached File  Screen Shot 2013-08-26 at 8.31.00 AM.jpg   86.01KB   3 downloads
Attached File  Screen Shot 2013-08-26 at 8.30.42 AM.jpg   56.86KB   3 downloads
Attached File  Screen Shot 2013-08-26 at 8.29.53 AM.jpg   46.33KB   4 downloads
Attached File  Screen Shot 2013-08-26 at 8.28.57 AM.jpg   57.35KB   3 downloads
Attached File  Screen Shot 2013-08-26 at 8.27.24 AM.jpg   82.79KB   4 downloads

#38
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,076 posts
  • Gender:Male
  • Interests:AKern@RampageDev.com

Tmac users who were linked here by Tmac himself. Did you know all his tools and files are stolen works? Become educated. 







Also tagged with one or more of these keywords: voodoohda, applehda, ati, amd, hdmi, audio, 10.8, mountain lion


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy