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.
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  which is [DISPLAY_PORT] encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false Connector Object Id  which is [DISPLAY_PORT] encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true Connector Object Id  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  which is [DVI_D] encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false Connector Object Id  which is [DVI_I] encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false Connector Object Id  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?
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