#1
Posted 13 January 2013 - 06:11 PM
I used this topic and tried everything from there, but I think I don't have any problems with QI/CI, it's just that my card is not showing as 5870. Let me know how can I test it to see if it works properly.
#2
Posted 13 January 2013 - 06:30 PM
Device (PEGP)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
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 6850"
},
"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)
}
}
}
#3
Posted 13 January 2013 - 06:32 PM
#4
Posted 13 January 2013 - 06:41 PM
#5
Posted 13 January 2013 - 07:09 PM
iFIRE, on 13 January 2013 - 06:30 PM, said:
Device (PEGP)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
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 6850"
},
"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)
}
}
}
Yes I used this code from the other topic
Device (PEGP)
{
Name (_ADR, 0x00010000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0E)
{
"AAPL,slot-name",
Buffer (0x09)
{
"PCIe-1"
},
"@0,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"@1,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"@2,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"@3,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"model",
Buffer (0x13)
{
"ATI Radeon HD 5870"
},
"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)
}
}
}
But I'm not sure if it works because the only thing that changed is when I use
GraphicsEnable=Yes it makes low resolution and shows 5800 series, before I injected this code I could use
GraphicsEnable=Yes and it wasn't different form =No.

Here is my IOreg.
Attached Files
#6
Posted 14 January 2013 - 12:57 AM
Uakari is correct FB for 5870, I had XFX-5870 for 2 years in hackintosh(great card BTW). DSDT injection OR GraphicsEnabler=Yes will work, but can only use one or the other. To use GE=Yes and get full res, , DVD Player not crash, You need to pick FB manually in Chameleon by adding.
GraphicsEnabler=Yes
AtiConfig=Uakari
AtiPorts=4
Here is my old simplified DSDT activation with my card being at 0x00030000 and HDMI audio. No need to include slot name and stuff. Best single GPU ATI card until release of 7000 series
Device (PEGP)
{
Name (_ADR, 0x00030000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"@0,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"@1,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"@2,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"@3,name",
Buffer (0x0D)
{
"ATY,Uakari"
},
"model",
Buffer (0x13)
{
"AMD Radeon HD 5870"
},
"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)
}
}
}
Using DSDT you must set GraphicsEnabler=No, either method will work equally well with no difference in performance. Just gave my 5870 to a friend and installed it in his Hackintosh for him, used GE=Yes with AtiConfig=Uakari and AtiPorts=4 and it works perfectly for him as well. His DSDT (which I made too) just has HDMI audio enable edits and nothing specific to GPU so he can change cards without me having to come and edit his DSDT for himAnd no offense to everyone who helped the guy in that thread you referenced, but the only reason he had so much trouble was because he listened to everybody except the one person who owned the same card and knew without a doubt how to make it work perfectly. I still have benchmarks from it posted in many of the benchmarking threads in New Release section. In your IOreg the card is loading with full hardware acceleration, but without correct Frame Buffer loading and is using generic FB instead.
#7
Posted 14 January 2013 - 02:36 AM
Screen Shot 2013-01-13 at 7.39.40 PM.png 87.89K
24 downloads
Attached Files
#8
Posted 14 January 2013 - 03:06 AM
OK, 1 sec, 3 port version coming right up
also since you have 3 port card and not reference design, Uakari may not be the best , what 3 connector types do you have? HDMI, DP and DVI?
Try this, but non reference design may require some additional work and possibly framebuffer personality editing.
Vervet frame buffer maybe another option to try before having to manually edit kext. Since it is also 6 digits long name, you can just change Uakari to Vervet in the DSDT with no need to change buffer length or anything.
Attached Files
#9
Posted 14 January 2013 - 05:27 AM
Vervet is giving the same results. Yes I have DVI, display port and HDMI.
#10
Posted 14 January 2013 - 06:19 AM
Attached Files
#11
Posted 14 January 2013 - 06:53 AM
#12
Posted 14 January 2013 - 07:32 AM
#13
Posted 14 January 2013 - 07:41 AM
@eep357
it's more about HD 5870 than OS X Mountain Lion, so needs to be moved in the more appropriate place.
@StephanCA
chameleon can inject these infos alone, so try to install the last chameleon then
GraphicsEnabler=Yes
AtiConfig=Uakari
AtiPorts=4
into your org.chameleon.Boot.plist.
You will not need to inject it via DSDT. And like iFIRE said it, it's just cosmetic, it doesn't affect the proper functioning of your graphics card! ![]()
Cordially
#14
Posted 14 January 2013 - 08:07 AM
fantomas1, I tried those lines and it does the same thing - low resolution and another monitor in properties, without those lines everything seems to work, except I noticed when changing browsers window size it's not smooth, and the card is not listed in PCI Cards. I want to make sure it works good since I'm planning on keeping this set up.
#15
Posted 14 January 2013 - 08:42 AM
That will be enough, here is that rom decoded:
ATOM BIOS Rom: SubsystemVendorID: 0x1043 SubsystemID: 0x0346 IOBaseAddress: 0x0000 Filename: SV36460.107 BIOS Bootup Message: 6898.12.20.0.5.AS02 U126 PCI ID: 1002:6898 Connector at index 0 Type [@offset 44298]: DisplayPort (10) Encoder [@offset 44302]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44398]: 0x92, OSX senseid: 0x3 Connector at index 1 Type [@offset 44308]: HDMI-A (11) Encoder [@offset 44312]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44425]: 0x93, OSX senseid: 0x4 Connector at index 2 Type [@offset 44318]: DVI-I (2) Encoder [@offset 44322]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 44462]: 0x94, OSX senseid: 0x5 Connector at index 3 Type [@offset 44328]: DVI-I (2) Encoder [@offset 44332]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44462]: 0x94, OSX senseid: 0x5Here is reference model 5870's rom decoded:
ATOM BIOS Rom: SubsystemVendorID: 0x1682 SubsystemID: 0x2961 IOBaseAddress: 0x0000 Filename: 587XZF15.BIN BIOS Bootup Message: CYPRESS XT GDDR5 32Mx32 C00801 BIOS UCODEv:126 PCI ID: 1002:6898 Connector at index 0 Type [@offset 44528]: DisplayPort (10) Encoder [@offset 44532]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44656]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 44538]: HDMI-A (11) Encoder [@offset 44542]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44683]: 0x93, OSX senseid: 0x4 Connector at index 2 Type [@offset 44548]: DVI-I (2) Encoder [@offset 44552]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44720]: 0x92, OSX senseid: 0x3 Connector at index 3 Type [@offset 44558]: DVI-I (2) Encoder [@offset 44562]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 44720]: 0x92, OSX senseid: 0x3 Connector at index 4 Type [@offset 44568]: DVI-I (2) Encoder [@offset 44572]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 44757]: 0x94, OSX senseid: 0x5 Connector at index 5 Type [@offset 44578]: DVI-I (2) Encoder [@offset 44582]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44757]: 0x94, OSX senseid: 0x5And here is Uakari's Table
Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 591232 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 01 0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 03 0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 05 0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04 0000040With the reference design, the port types and sense ID's all match what is in the VBIOS. On your non-reference, the first connector "DisplayPort" has different sense ID, instead of sense ID id 01, it has sense ID of 03 and therefor fails to load any further. Luckily the HDMI and DVI sense ID's do match, so will only need to make minor change to the personality like this:
Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 591232 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 03 0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 06 0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 05 0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04 0000040
Then move the additional DVI port to the end of the connector list:
Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 591232 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 03 0000010 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 05 0000020 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04 0000030 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 06 0000040
I'll actually flip the Dual link and Single link in the connector table, but you get the idea
This layout should work, gimme a bit to patch it:
Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 591232 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 03 0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 05 0000020 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04 0000030 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 01 0000040
What OSX version are you on, don't want to give you a patched 10.8.3 kext.
#16
Posted 14 January 2013 - 08:49 AM
#17
Posted 14 January 2013 - 10:00 AM
Attached Files
#18
Posted 14 January 2013 - 02:27 PM
I'm connected to HDMI at the moment, and it shows CRT and no audio.
Attached Files
#19
Posted 14 January 2013 - 07:56 PM
#20
Posted 14 January 2013 - 08:15 PM
Desktop.zip 9.73K
4 downloadsI don't know what you mean but when I used Vervet my screen resolution was good but in IOreg first entry was my monitor working ok and second entry was CRT. i will send it later because im not home. the other framebuffers I tried before didnt worked and some gave just black screen...
SSDT.aml.zip 620bytes
2 downloads
DSDT.aml.zip 8.34K
3 downloads
Ioreg.zip 535.25K
2 downloads
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users



Sign In
Create Account








