Jump to content

[Guide] Getting XFX HD6850 connectors to work


Alexander Martinez
 Share

112 posts in this topic

Recommended Posts

Hi jzhang18, the model is ZNFC.

You are lucky, ZNFC works OOB. I am looking for someone's experience with ZCFC.

 

Sapphire HD 6850 vapor-x looks like the same as XFX 6850 ZCFC (2 mini DP, 2 DVI, 1 HDMI) . If someone has successful story on Sapphire HD 6850 vapor-x with Lion, it will be really appreciated to share your experience here.

Link to comment
Share on other sites

You are lucky, ZNFC works OOB. I am looking for someone's experience with ZCFC.

 

Sapphire HD 6850 vapor-x looks like the same as XFX 6850 ZCFC (2 mini DP, 2 DVI, 1 HDMI) . If someone has successful story on Sapphire HD 6850 vapor-x with Lion, it will be really appreciated to share your experience here.

 

good to know but someone can explain to me what OOB means and how i do that?

sorry i'm newbie XD

Link to comment
Share on other sites

Thanks for the good guide (rewritten). After I read this topic, I thought to get all working connectors of my PowerColor HD6870 (AX6870 1GBD5-2DH) last night. Finally, I got all connectors today.

 

ATOM BIOS Rom:
SubsystemVendorID: 0x1787 SubsystemID: 0x2305
IOBaseAddress: 0x0000
Filename: B6A25BCA.HGZ
BIOS Bootup Message:
BARTS XT 1GB GDDR5 BIOS B6A25BCA.HGZ								  

PCI ID: 1002:6738
Connector at index 0
Type [@offset 44499]: DisplayPort (10)
Encoder [@offset 44503]: INTERNAL_UNIPHY2 (0x21)	---- DP1
i2cid [@offset 44627]: 0x90, OSX senseid: 0x1
Connector at index 1
Type [@offset 44509]: DisplayPort (10)
Encoder [@offset 44513]: INTERNAL_UNIPHY2 (0x21)	---- DP2
i2cid [@offset 44654]: 0x91, OSX senseid: 0x2
Connector at index 2
Type [@offset 44519]: HDMI-A (11)
Encoder [@offset 44523]: INTERNAL_UNIPHY1 (0x20)	 ---- HDMI
i2cid [@offset 44681]: 0x93, OSX senseid: 0x4
Connector at index 3
Type [@offset 44529]: DVI-D (3)
Encoder [@offset 44533]: INTERNAL_UNIPHY1 (0x20)	---- DVI 2
i2cid [@offset 44708]: 0x95, OSX senseid: 0x6
Connector at index 4
Type [@offset 44539]: DVI-I (2)
Encoder [@offset 44543]: INTERNAL_UNIPHY (0x1e)	---- DVI 1
i2cid [@offset 44745]: 0x94, OSX senseid: 0x5
Connector at index 5
Type [@offset 44549]: DVI-I (2)
Encoder [@offset 44553]: INTERNAL_KLDSCP_DAC1 (0x15)	---- DVI 1
i2cid [@offset 44745]: 0x94, OSX senseid: 0x5

 

Physical layout:

 

|__DVI 1__| /_HDMI_\ |_DP2_| |_DP1_|

 

|__DVI 2__|

 

Based on Chameleon Boot loader, it will use Duckweed as default when GraphicsEnabler is yes. Duckweed supports DVI 1 + HDMI + DP1 + DP2 natively. However, Dvi 2's not working at all.

 

Based on 10.7.2 combo update:

 

Personality: Duckweed

ConnectorInfo count in decimal: 4

Disk offset in decimal 523688

0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01

0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02

0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 03 04

0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 06 05

0000040

 

I looked personalities and got Gibba that is similar to Duckweed. Gibba has 5 connectors while Duckweed has 4 connectors. I booted with AtiConfig=Gibba and got DVI 1 and HDMI working. So, I tried to change as following

 

from

 

Personality: Gibba

ConnectorInfo count in decimal: 5

Disk offset in decimal 523928

0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 05 01

0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 02

0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 06 04

0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 03 05

0000040 04 00 00 00 04 02 00 00 00 01 00 00 11 02 01 03

0000050

 

to

 

Personality: Gibba

ConnectorInfo count in decimal: 5

Disk offset in decimal 523928

0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01 ---- DP 1

0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02 ---- DP 2

0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 06 04 ---- HDMI

0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 03 05 ---- DVI 1

0000040 04 00 00 00 04 02 00 00 00 01 00 00 11 02 01 06 ---- DVI 2

0000050

 

Then, I could use combination of either DVI 1 + DVI 2 + DP 1 + DP 2 or DVI 1 + HDMI + DP 1 + DP 2 as maximum four connectors. Also, I could use DVI 1 + DVI 2 or DP 1 + DVI 2 or DP 2 + DVI 2, for example. All connectors can be plugged and unplugged (detectable).

 

Note: DVI 2 will be disable when HDMI is active. I was using HexEdit to edit the personality. Using PowerColor active mini DisplayPort / DisplayPort to DVI adaptors.

 

 

----------------------------------------------------------------------------

Update: 2012-01-05

Another ATi HD5770 Sapphire vapor-x

 

 

Before patching:

 

Personality: Vervet

ConnectorInfo count in decimal: 4

Disk offset in decimal 485112

0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 02 got black screen on DP2DVI

0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 04

0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 03

0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 01

0000040

 

 

After patching

 

OK --- change only 71 to 01 for DP line

Personality: Vervet

ConnectorInfo count in decimal: 4

Disk offset in decimal 485112

0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 02

0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 04

0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 03

0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 01

0000040

 

Got maximum working three monitors properly.

 

DP2DVI + HDMI + DVI

DP2DVI + DVI + DVI

DP2DVI + DVI2VGA + DVI2V, etc.

must use DP to get the third monitor.

also

DP2DVI + HDMI

DP2DVI + DVI, etc

 

I tried this on AMD6000Controller on Mountain Lion GM, using a PowerColor just like yours, but the DVI2 port still wont work. Anyone have a clue on why?

Link to comment
Share on other sites

good to know but someone can explain to me what OOB means and how i do that? sorry i'm newbie XD
Once I owned one XFX 6850 ZNFC card, I installed Lion, it works straight away without any special tuning. After 2 years, it became unstable, I requested an RMA from XFX, they mailed me a XFX 6850 ZCFC card. I tried a lot of ways, reading several threads, none of them works for me. The XFX 6850 ZCFC works perfectly under Windows 7, but not Lion. :wallbash: I am expecting for the last hope in this forum.
Link to comment
Share on other sites

Keep forgetting to check back in threads I post in -_-

 

@antaeus Nothing you really can do as it's nothing in our hands we could do it's like trying to make a 4850 gpu go faster than a 6970 in that comparison sense.

 

@fffeee Have you tried the Gibba framebuffer? It has worked wonders for me as opposed to Duckweed. Could try out the perl command and set the framebuffer to Gibba and see how it works out. Just copy that controller before you do make the edit just in case. Hopefully it works and you can happily ride the Lion to the top of the Mountain finally. :)

Link to comment
Share on other sites

Can someone please tell me how I can find the Duckweed line to edit in the Mountain Lion ATI6000 kext? It believe it was 176800 in the Lion ATI6000 kext but I have no idea where Duckweed is in the Mountaion Lion version of the ATI6000 kext. Also I would like to try and get my connectors working on a Sapphire HD 5750. If anyone knows the line for Vervet in the Mountain Lion ATI5000 kext I would really appreciate that as well.

 

 

Thanks in advance!!!

Link to comment
Share on other sites

@fffeee Have you tried the Gibba framebuffer? It has worked wonders for me as opposed to Duckweed. Could try out the perl command and set the framebuffer to Gibba and see how it works out. Just copy that controller before you do make the edit just in case. Hopefully it works and you can happily ride the Lion to the top of the Mountain finally. :)

 

No, but mainly because the Gibba personality was completely wrong for my Sapphire 6870 in 10.7's kext. I used Duckweed as the baseline when I made mine because it was the most similar to what I wanted.

 

I haven't made another attempt at it yet, there seems to be a mismatch that happens with the *Support kext.

Link to comment
Share on other sites

I'm not rocking a 6850 but we may have the same port layout (hdmi/dvi x 2/dp) so my edits may be helpful while you make your own.

 

My Sapphire 6870

 

kext and documentation @ https://s3.amazonaws...i-dp-10.7.3.zip

detached signature @ https://s3.amazonaws...-10.7.3.zip.sig

 

 

Thank you so much! This works great for me. I can now how HDMI and DVI at the same time. I don't seem to have audio over HDMI but I don't actually want that as I want to use optical audio out since I don't always want the big screen on.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Just thought I'd let everyone know...

 

I have a Gigabyte HD6850OC. I just upgraded to Mountain Lion 10.8.2 and this card appears to work OOB.

 

The big news is that the default radeon frame buffer appears to be fixed. I have full acceleration, QE/CI and all that, on ALL THREE monitors with NO personality editing whatsoever (I had originally edited Duckweed). There is NO GraphicsEnabler, AtiConfig, or AtiPorts in my boot.plist. Oh and I'm using Chameleon 2.1 r1830, and that is definitely important. The latest version won't boot with this configuration.

 

Bottom line: if you have the newest Mountain Lion and are having trouble with your 6xxx, try reverting to vanilla ATI kexts and use a PREVIOUS Chameleon. Worked great for me!

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

I'm finally able to attempt to do my personality edits for the 10.8 ATI/AMD 6000-series kexts for my aforementioned Sapphire card. I have done the same byte swaps in both ATI6000Controller and AMD6000Controller and the card is identified correctly (it appears) in bdmesg, but it still loads a generic ATIFrameBufferNI once the OS is rolling.

 

This will not stand, man.

 

$ bdmesg | grep ATI
ATI card POSTed, reading VBIOS from legacy space
ATI Barts Sapphire Radeon HD6870 1024MB (Duckweed) [1002:6738] (subsys [174b:174b]):: PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)

 

 

$ ioreg | grep ATI
| | | | | +-o ATIFramebufferNI <class AMDFramebuffer, id 0x1000004d0, registered, matched, active, busy 0 (2 ms), retain 16>
| | | | | +-o ATIFramebufferNI <class AMDFramebuffer, id 0x1000004da, registered, matched, active, busy 0 (0 ms), retain 16>
| | | | | +-o ATIFramebufferNI <class AMDFramebuffer, id 0x1000004df, registered, matched, active, busy 0 (0 ms), retain 13>
| | | | | +-o ATIFramebufferNI <class AMDFramebuffer, id 0x1000004e4, registered, matched, active, busy 0 (0 ms), retain 13>

 

 

Now, in Kext /System/Library/Extensions//ATI6000Controller.kext/Contents/MacOS/ATI6000Controller

 

Personality: Duckweed
ConnectorInfo count in decimal: 4
Disk offset in decimal 176800
0000000 00 02 00 00 04 00 00 00 00 01 00 00 11 02 01 06
0000010 00 08 00 00 00 02 00 00 00 01 00 00 22 05 06 04
0000020 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
0000030 04 00 00 00 14 02 00 00 00 01 00 00 10 00 03 05
0000040

 

and in Kext /System/Library/Extensions//ATI6000Controller.kext/Contents/MacOS/AMD6000Controller

 


Disk offset in decimal 179744
0000000 00 02 00 00 04 00 00 00 00 01 00 00 11 02 01 06
0000010 00 08 00 00 00 02 00 00 00 01 00 00 22 05 06 04
0000020 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
0000030 04 00 00 00 14 02 00 00 00 01 00 00 10 00 03 05
0000040

 

I'm using Chameleon v2.2 r2116. Any ideas on what I'm missing/forgetting? These values are identical to the 10.7 Lion personality edits I made to get a functional and accelerated kext for my card.

Link to comment
Share on other sites

Hi VCH888

I am trying to get my Powercolor HD6870 working with your settings. For some reason, I think my system is ignoring the FraMebuffer settings..

This is VERY strange.

I installed the modded kext using Kext Wizard and rebooted.

 

bdmesg shows it recognized but then

>>

Using PCI-Root-UID value: 1

ATI Framebuffer Addr: @0xC0000000 MMIO Addr: @0xF9FC0000 I/O Port Addr: @0x0000A000 ROM Addr: @0xF9FA0000

ATI card POSTed, reading Video BIOS from legacy space

Framebuffer set to: Gibba using AtiConfig=Gibba

Number of ports set to: 5 using framebuffer's default.

AMD Radeon HD 6870 1024MB [1002:6738] (subsys [1002:00d0]) (Barts:Gibba) :: PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

nVidia GeForce GTX 560 Ti 448 -4095MB NV1ff [10de:1087] :: PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)

Bad display config block signature (0xd1260867)

ERROR: nVidia ROM Patching Failed!

>>

 

Strange thing is, with any kext, any framebuffer settings, no matter what I do, I only get this ioreg output..

I also have darkwarke=0 and PCIRootUID=1 in my boot options.

Without darkwake I cannot recover from sleep. Without PCIRoot I get a white screen and then it reboots.

 

>>

Anmols-Mac-Pro:MacOS anmol$ ioreg | grep ATY

| | | | | +-o ATY,ATY,RadeonFramebuffer@0 <class AtiFbStub, id 0x100000325, registered, matched, active, busy 0 (25 ms), retain 7>

| | | | | +-o ATY,ATY,RadeonFramebuffer@1 <class AtiFbStub, id 0x100000326, registered, matched, active, busy 0 (5 ms), retain 7>

| | | | | +-o ATY,ATY,RadeonFramebuffer@2 <class AtiFbStub, id 0x100000327, registered, matched, active, busy 0 (5 ms), retain 7>

| | | | | +-o ATY,ATY,RadeonFramebuffer@3 <class AtiFbStub, id 0x100000328, registered, matched, active, busy 0 (5 ms), retain 7>

| | | | | +-o ATY,ATY,RadeonFramebuffer@4 <class AtiFbStub, id 0x100000329, registered, matched, active, busy 0 (5 ms), retain 7>

>>

 

No other framebuffer gets recognized.

I have attached my boot.plist and the modded kext.

 

Any suggestions..?

Lion 10.7.5 if that matters.

ATI6000Controller.kext.zip

dmesg.txt

org.chameleon.Boot.plist.txt

Link to comment
Share on other sites

I've managed to get my Sapphire 6870 rolling with 10.8.2's ATI/AMD kext bundles, I did a series of changes though and I'm not certain which combination of changes fixed it.

 

I changed my system definition from MacPro3,1 to iMac12,2, re-arranged parts of my chameleon configuration file, and I noticed Duckweed wasn't defined in Info.plist of ATI6000Controller.kext.

 

Here's a diff:

 

75,84d74
<  <key>ATY,Duckweed</key>
<  <dict>
<  <key>aty_config</key>
<  <dict>
<  <key>CFG_GEN_FLAGS</key>
<  <integer>1</integer>
<  <key>CFG_USE_STUTTER</key>
<  <true/>
<  </dict>
<  </dict>

 

I'm not sure what the variables mean, but the one for Gibba is different:

 

 

                                       <key>CFG_NO_HDCP</key>
                                       <true/>
                                       <key>CFG_NO_PP</key>
                                       <false/>

 

My Duckweed personality edits work now though. I suppose this means I could/should make my same connector changes to a personality like Gibba which is defined in Info.plist for that kext.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

The line for Duckweed is 179744. I just updated my MT Lion ATI6000 Kext with the edited info from Lion ATI6000 kext and all is working well. Sapphire 6870 with 4 ports.

 

 

That's awesome you got it to work. It would be even more awesome if you uploaded your ATI6000 Kext so others could benefit too.

Link to comment
Share on other sites

 Share

×
×
  • Create New...