billdlv Posted February 5, 2012 Share Posted February 5, 2012 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: 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 Link to comment Share on other sites More sharing options...
FishCow Posted February 6, 2012 Share Posted February 6, 2012 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. Link to comment Share on other sites More sharing options...
billdlv Posted February 6, 2012 Author Share Posted February 6, 2012 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. 1 Link to comment Share on other sites More sharing options...
FishCow Posted February 6, 2012 Share Posted February 6, 2012 Glad it worked Link to comment Share on other sites More sharing options...
billdlv Posted February 12, 2012 Author Share Posted February 12, 2012 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. ATI6000Controller.kext.zip 1 Link to comment Share on other sites More sharing options...
Menno Posted February 16, 2012 Share Posted February 16, 2012 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 Link to comment Share on other sites More sharing options...
lox72 Posted March 24, 2012 Share Posted March 24, 2012 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 Link to comment Share on other sites More sharing options...
Zaap Posted May 27, 2012 Share Posted May 27, 2012 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! Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted May 27, 2012 Share Posted May 27, 2012 @Zaap Why are you using AtiPorts=4 instead of 5 unless your 6870 has only 4 ports? Just curious. Link to comment Share on other sites More sharing options...
Zaap Posted May 27, 2012 Share Posted May 27, 2012 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. Link to comment Share on other sites More sharing options...
billdlv Posted May 27, 2012 Author Share Posted May 27, 2012 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. Link to comment Share on other sites More sharing options...
nmano Posted May 27, 2012 Share Posted May 27, 2012 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 Link to comment Share on other sites More sharing options...
mrsentraser Posted June 18, 2012 Share Posted June 18, 2012 Does this still work with 10.7.4? Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted June 18, 2012 Share Posted June 18, 2012 Def does as I applied it myself when I upgraded to 10.7.4. Link to comment Share on other sites More sharing options...
mrsentraser Posted June 18, 2012 Share Posted June 18, 2012 Is it as easy as using Kextwizard to install the ATI6000controller.kext above and restarting? Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted June 18, 2012 Share Posted June 18, 2012 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. Link to comment Share on other sites More sharing options...
mrsentraser Posted June 18, 2012 Share Posted June 18, 2012 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? Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted June 19, 2012 Share Posted June 19, 2012 It should enable all the ports on your 6870. Link to comment Share on other sites More sharing options...
thampusbank Posted July 6, 2012 Share Posted July 6, 2012 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 Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted July 7, 2012 Share Posted July 7, 2012 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. Link to comment Share on other sites More sharing options...
thampusbank Posted July 7, 2012 Share Posted July 7, 2012 Hey! Yeah, it's the layout you mention... I am kind of low level (newbie trying to learn) - what can I do to get it working? Link to comment Share on other sites More sharing options...
freddy871 Posted July 7, 2012 Share Posted July 7, 2012 Very new to this so be gentle.. installed 10.7.2 today on HP XW6400 with Power color 6870HD and had 1 x DVi, 1 x Mini display and HDMI working from the get go.. very happy with this but would like to get second DVi working as have 3 desktop screens and HDMI connected to 42" screen for movies. Any help would be appreciated. Link to comment Share on other sites More sharing options...
Krazubu Posted July 10, 2012 Share Posted July 10, 2012 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. Adding my two cents : no problem with HDMI/DVI_D because those two output definitions are meant for the same port. The 1st one is for native HDMI port The 2nd one is when using that same HDMI port but with a HDMI to DVI connector. DVI-D and HDMI are logically identical, hence the close configuration, the only differences are so the card "knows" which one you're using. Since you physically either use that port natively or with an adapter, no way to use both outputs at the same time. Link to comment Share on other sites More sharing options...
zcream Posted November 10, 2012 Share Posted November 10, 2012 Hi @FishCow Could you post your modified ATIController kext ? I am on 10.7.5 with Powercolor 6870 and it always gets recognize as 6xxx. Hence the framebuffers are screwed.. Link to comment Share on other sites More sharing options...
zcream Posted November 12, 2012 Share Posted November 12, 2012 This is VERY strange. I used VCH888's settings for the Powercolor 6870. 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, no matter what I do, I only get this ioreg output.. >> 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. org.chameleon.Boot.plist.txt ATI6000Controller.kext.zip dmesg.txt Link to comment Share on other sites More sharing options...
Recommended Posts