Jump to content

Sapphire HD6870 video ports not working under 10.9.x


Deridjian
 Share

1 post in this topic

Recommended Posts

Fellow Hackintoshers,

 

I used to have a two monitor setup under 10.8.x / Clover which was a bit of a hassle to get to work because of the video ports not working. So I searched all over the place and where else but here on insanelymac did I find people kind enough to explain step by step how to change framebuffers manually. Back then I did like Alexander Martinez did (After following his tutorial, working on my files, I realized my card had the exact same setup, and copied it really) and it worked out quite well! Instead of choosing a framebuffer somewhere in Clover I wrote a patch into my DSDT and everything worked just fine.

 

Now we moved on to 10.9.x and Ozmosis 'came out' (i.e. found it's way into the community). I'm glad to have moved to this bootloader, makes lots of things easier imho. But. After installing Mavericks (clean, complete Re-Install with Ozmosis) and re-editing a new DSDT with my patches, I once again had no video ports. So I edited the new AMD6000Controller's Duckweed frame buffer again, but dang...this time...it...didn't work. I did it again these days realizing that back then I used a Kext Utility not officially compatible with Mavericks, but still...nothing. When I still had no framebuffer forced with the DSDT, OSX decided to use Bulrushes for my card, which gave me wrong resolutions and mouse lags.

 

Apparently this is a problem with 10.9 not with Ozmosis, so I'd love to see if somebody can give me some tips/hints on what to do, on what I did wrong maybe, or what I should try.

 

To make this easier I'm gonna sum up again what I've done:

(People take care: This is no solution to anything. It does not work. It's what I have done so far, to make debugging easier!)

 

1) Patch DSDT with the following:

            Device (PEGP)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
                Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                {
                    If (PICM)
                    {
                        Return (AR02 ())
                    }

                    Return (PR02 ())
                }

                Device (GFX0)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_SUN, One)  // _SUN: Slot User Number
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x0C)
                            {
                                "@0,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Duckweed"
                                }, 

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

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

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

                                "model", 
                                Buffer (0x13)
                                {
                                    "AMD Radeon HD 6870"
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

                Device (HDAU)
                {
                    Name (_ADR, One)  // _ADR: Address
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x02)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }

2) Change the original framebuffer "Duckweed" in 10.9.1 AMD6000Controller from:

00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02
00 08 00 00 04 02 00 00 00 01 00 00 11 02 03 04
00 02 00 00 14 02 00 00 00 01 00 00 00 00 06 05

3) Into the adapted version fitting for my Sapphire HD6870

04 00 00 00 14 02 00 00 00 01 00 00 00 00 06 05
00 08 00 00 04 02 00 00 00 01 00 00 22 05 02 04
00 02 00 00 04 00 00 00 00 01 00 00 11 02 03 06
00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01

.

Hopefully somebody has time and inner peace to help me on this. I know some of you guys are badass smart! Would really appreciate it.

Thank you for reading.

 

Kudos

 

Marian

Link to comment
Share on other sites

 Share

×
×
  • Create New...