Jump to content

HD 6870 DVI Connectors SOLVED

6870 DVI

  • Please log in to reply
26 replies to this topic

#1
billdlv

billdlv

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts
  • Gender:Male
I have a Gigabyte HD6870 1GB video card and I am running 10.7.3. The card has a DVI-I, DVI-D, HDMI-A, and 2 mini DP connectors on it.

I've been trying to get both of the DVI connectors to work with GraphicsEnabler=Yes. I can get them both to work with GraphicsEnabler=No and AtiConfig=Bulrushes. I can get the HDMI port to work with GraphicsEnabler=Yes as well. I don't want to use the HDMI port because it limits the resolution settings on the second monitor. I can't test the mini DP ports because I don't have the adapter. I've read from some of the forums that it is not possible and to buy an adapter. No one really says why.

Since I know the card hardware is capable of it, and I can operate both displays under Windows 7 and without GraphicsEnabler I did more research.

I tried all of the frame buffers and none of them worked with the 2 displays. I then found the following threads and was hopeful.

http://www.insanelym...pic=273937&st=0
http://www.insanelym...hreaded&start=0

I followed the threads and modfied a couple of personalities. I have not been able to get both working. The closest I have got is both displays show up in system info, but the 2nd display has no video signal. I've tried detect displays, unplugging / plugging in. I am working in 64 bit.

Some info on the card:

Output from radeon_bios_decode:

ATOM BIOS Rom:
SubsystemVendorID: 0x1458 SubsystemID: 0x21fa
IOBaseAddress: 0x0000
Filename: R687OGD.F20
BIOS Bootup Message: GV-R687OC-1GD/F20									  
					
PCI ID: 1002:6738
Connector at index 0
Type [@offset 44255]: DisplayPort (10)
Encoder [@offset 44259]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44383]: 0x90, OSX senseid: 0x1
Connector at index 1
Type [@offset 44265]: DisplayPort (10)
Encoder [@offset 44269]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44410]: 0x91, OSX senseid: 0x2
Connector at index 2
Type [@offset 44275]: HDMI-A (11)
Encoder [@offset 44279]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44437]: 0x93, OSX senseid: 0x4
Connector at index 3
Type [@offset 44285]: DVI-D (3)
Encoder [@offset 44289]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44464]: 0x95, OSX senseid: 0x6
Connector at index 4
Type [@offset 44295]: DVI-I (2)
Encoder [@offset 44299]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 44501]: 0x94, OSX senseid: 0x5
Connector at index 5
Type [@offset 44305]: DVI-I (2)
Encoder [@offset 44309]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44501]: 0x94, OSX senseid: 0x5

Output from redsock_bios_decode:

R687OGD.F20 :
GV-R687OC-1GD/F20									  
					
Subsystem Vendor ID: 1458
	   Subsystem ID: 21fa
Object Header Structure Size: 407
Connector Object Table Offset: 52
Router Object Table Offset: 0
Encoder Object Table Offset: 12a
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [3] which is [DVI_D]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

You can see that from the redsock output the HDMI and DVI-D connector share the same transmitter and encoder. I did not think that was going to be a problem since I'm not using the HDMI port. The way I see it if something was plugged in to the HDMI it would turn off the DVI-D and vice versa. Plus they have different senseid numbers.

Here is my current framebuffer, which is a modified Gibba.

0000000: 0004 0000 0403 0000 0001 0000 1204 0101  ................
0000010: 0004 0000 0403 0000 0001 0000 2205 0502  ............"...
0000020: 0008 0000 0402 0000 0001 0000 2205 0304  ............"...
0000030: 0400 0000 0400 0000 0001 0000 1102 0406  ................
0000040: 0400 0000 1400 0000 0001 0000 1000 0605  ................

Connector 0 mini DP
Connector 1 mini DP
Connector 2 HDMI-A
Connector 3 DVI-D
Connector 4 DVI-I

I tested performance under Duckweed using Cinebench and compared to Gibba. Both where very close, Gibba was slightly better. Duckweed is what the system defaults to with GraphicsEnabler=Yes. I took the Duckweed personality since it matched except for the DVi-D connector and used it in Gibba which has the correct number of connectors. I used IOregistryExplorer to determine the connector type, and control flags for the 2 DVI connectors under GraphicsEnabler=No.

The above was the last iteration, I tried changing the transmitter/encoder for the HDMI connector because it was the same as the DVI-D.

Like I said I've tried a lot of combinations and none have worked.

Before I go out and buy the adapter I am wondering:
  • If it is not possible to use both DVI connectors with GraphicsEnabler=yes why?
  • Is there a way to determine the proper hotplug ID numbers? Changing these sometimes causes the mouse pointer to lag. I've read that in certain cases the hotplug id needs to match the sense id of a neighbooring connector so that if one is plugged in the other will turn off.
  • Does the framebuffer personality have to have the correct number of connectors that the card has? If I am only using 2 connectors is it possible just to have 2 entries in the framebuffer personality and extra ones for the unused connectors?
Thanks for any info.

UPDATE UPDATE
SUCCESS SUCCESS :guitar: :guitar:

See FishCow post below. As I said in my response I thought I tried VCH888 Gibba frame buffer but I must not have....

Here is VCH888's edited framebuffer. Note it appears that the disk offset is for 32 bit.

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


#2
FishCow

FishCow

    InsanelyMac Protégé

  • Members
  • Pip
  • 31 posts
  • Gender:Male
Hi billdlv,
sorry to hear about the hassle with your card.
I used the same tutorial you used : http://www.insanelym...pic=273937&st=0

I have a Power Color HD 6870 1GB

I can confirm both my DVI outputs are working with GE = Yes
AtiConfig=Gabba
AtiPorts=5

I've never been able to use both DVI ports on this card until editing the ATI6000Controller.Kext as outlined by VCH888 's post.

#3
billdlv

billdlv

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts
  • Gender:Male

Hi billdlv,
sorry to hear about the hassle with your card.
I used the same tutorial you used : http://www.insanelym...pic=273937&st=0

I have a Power Color HD 6870 1GB

I can confirm both my DVI outputs are working with GE = Yes
AtiConfig=Gabba
AtiPorts=5

I've never been able to use both DVI ports on this card until editing the ATI6000Controller.Kext as outlined by VCH888 's post.


I saw VCH888's post and thought I tried it out. I did not use the AtiPorts=5 boot flag so I tried it again. SUCCESS!!

I am going to update my post thanks for pointing it out again.

#4
FishCow

FishCow

    InsanelyMac Protégé

  • Members
  • Pip
  • 31 posts
  • Gender:Male
:thumbsup_anim:

Glad it worked

#5
billdlv

billdlv

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts
  • Gender:Male
Attached is my ATI600 kext, which was a 10.7.3. You will have to install it and rebuild your kernel cache.

It works for me, I suggest making a backup of your original file and take the necessary precautions. I'm not responsible if you mess up your installation.

Attached Files



#6
Menno

Menno

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 147 posts
I made this line for further updates, try this at your own risk. (Note: This is for the mDP/mDP/HDMI/DVI/DVI layout and worked for my Sapphire Radeon HD6870 Vapor-X)
Both my dvi ports work, can't test the hdmi as I have no hdmi display here.
sudo perl -pi -e 's|\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x12\x04\x05\x01\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x22\x05\x04\x02\x00\x08\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x11\x02\x06\x04\x00\x02\x00\x00\x14\x02\x00\x00\x00\x01\x00\x00\x00\x00\x03\x05\x04\x00\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x11\x02\x01\x03|\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x12\x04\x04\x01\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x22\x05\x05\x02\x00\x08\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x11\x02\x06\x04\x00\x02\x00\x00\x14\x02\x00\x00\x00\x01\x00\x00\x00\x00\x03\x05\x04\x00\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x11\x02\x01\x06|g' /System/Library/Extensions/ATI6000Controller.kext/Contents/MacOS/ATI6000Controller


#7
lox72

lox72

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
  • Gender:Male

Attached is my ATI600 kext, which was a 10.7.3. You will have to install it and rebuild your kernel cache.

It works for me, I suggest making a backup of your original file and take the necessary precautions. I'm not responsible if you mess up your installation.


Solved my xfx hd6870 dvi-i + dvi-d Works with your ati6000controller.kext e with setting graphicenable=yes e aticonfig=gibba in apple.boot.plis
Very very Thanks billdlv



#8
Zaap

Zaap

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Los Angeles
Awesome! Was pulling my hair out with my HiS 6870 1GB trying to get dual monitors going using the main DVI and HDMI. Mostly I was getting one monitor or the other working but not both.

Using the custom ATIi6000 kext and GE=yes AtiConfig=Bulrushes Ports=4, everything now works! (Tried Gibba, Duckweed and others, no go.) DVD player works, the whole nine. Huge thanks to all for posting the info here!

#9
TH3L4UGH1NGM4N

TH3L4UGH1NGM4N

    (~_~)

  • Retired
  • 1,156 posts
  • Gender:Male
  • Location:Wonderland
  • Interests:(~_^)
@Zaap Why are you using AtiPorts=4 instead of 5 unless your 6870 has only 4 ports? Just curious.

#10
Zaap

Zaap

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 681 posts
  • Gender:Male
  • Location:Los Angeles
My card only has 4 ports: 2 DVI HDMI and Displayport. Actually I need to test the Displayport and see it it works as well.

#11
billdlv

billdlv

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts
  • Gender:Male
Today I upgraded to 10.7.4. In the update the aticontroller file was changed. I repeated the process in the post and everything works fine now. I don't have the disk offsets from the 10.7.3 file to compare and I don't know if anything else was changed in the file.

So if you update you will have to go through the process again or use a backup copy of the controller file.

#12
manor

manor

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 319 posts
  • Gender:Male

Attached is my ATI600 kext, which was a 10.7.3. You will have to install it and rebuild your kernel cache.

It works for me, I suggest making a backup of your original file and take the necessary precautions. I'm not responsible if you mess up your installation.

can you update 10.7.4 ple

#13
mrsentraser

mrsentraser

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Does this still work with 10.7.4?

#14
TH3L4UGH1NGM4N

TH3L4UGH1NGM4N

    (~_~)

  • Retired
  • 1,156 posts
  • Gender:Male
  • Location:Wonderland
  • Interests:(~_^)
Def does as I applied it myself when I upgraded to 10.7.4.

#15
mrsentraser

mrsentraser

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
Is it as easy as using Kextwizard to install the ATI6000controller.kext above and restarting?

#16
TH3L4UGH1NGM4N

TH3L4UGH1NGM4N

    (~_~)

  • Retired
  • 1,156 posts
  • Gender:Male
  • Location:Wonderland
  • Interests:(~_^)
Well for me I use a simple perl terminal command that does the hexedits to the 6000Controller because whenever I update I already have QE working just no multi monitor output because the outputs are screwed.

#17
mrsentraser

mrsentraser

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
That's actually what problem I have. It's an XFX 6870 and only 1 DVI works. So just using terminal and pasting the perl command above will enable the second DVI port on my card?

#18
TH3L4UGH1NGM4N

TH3L4UGH1NGM4N

    (~_~)

  • Retired
  • 1,156 posts
  • Gender:Male
  • Location:Wonderland
  • Interests:(~_^)
It should enable all the ports on your 6870.

#19
thampusbank

thampusbank

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
Hi there.

Used the perl script above (have a Gigabyte HD 6870 1GB) and when I rebooted the second DVI display came to live all the way until after the grey OSX booting screen. When the desktop came up the display went to sleep mode...

What can I do?

OSX 10.7.4

#20
TH3L4UGH1NGM4N

TH3L4UGH1NGM4N

    (~_~)

  • Retired
  • 1,156 posts
  • Gender:Male
  • Location:Wonderland
  • Interests:(~_^)
Sup man, your connectors are the standard 6870 layout I presume? 2x DVI, HDMI, 2x miniDP.

it could be that your IDs might differ ever so slightly than that of my Sapphire branded 6870.





Also tagged with one or more of these keywords: 6870, DVI


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