SOLVED: GTX 970 fourth monitor (DVI-D) not working

I’ve been running four monitors from a GTX 660 with no problems. I upgraded to a GTX 970 that has the same outputs (DVI-I, DVI-D, HDMI, DP) but can’t get the DVI-D monitor to work. I installed windows on a small partition and all four monitors worked as soon as I installed the driver, so I believe the problem is in the Linux driver.

It detects the fourth monitor and shows it as DFP-2 in the control panel, but it has no name and I can’t enable it, even at a low resolution. Interestingly, in the control panel and the Xorg log, it’s showing the signal as Internal Displayport, even though it’s connected to the DVI port. Here is the relevant section:

[ 1340.176] (–) NVIDIA(GPU-0): DFP-2: connected
[ 1340.176] (–) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[ 1340.176] (–) NVIDIA(GPU-0): DFP-2: 960.0 MHz maximum pixel clock
[ 1340.176] (–) NVIDIA(GPU-0):
[ 1340.191] (–) NVIDIA(GPU-0): DELL U2412M (DFP-3): connected
[ 1340.191] (–) NVIDIA(GPU-0): DELL U2412M (DFP-3): Internal TMDS
[ 1340.191] (–) NVIDIA(GPU-0): DELL U2412M (DFP-3): 165.0 MHz maximum pixel clock
[ 1340.191] (–) NVIDIA(GPU-0):
[ 36389.059] (–) NVIDIA(GPU-0):
[ 36389.060] (–) NVIDIA(GPU-0): HYO (DFP-0): connected
[ 36389.060] (–) NVIDIA(GPU-0): HYO (DFP-0): Internal TMDS
[ 36389.060] (–) NVIDIA(GPU-0): HYO (DFP-0): 330.0 MHz maximum pixel clock
[ 36389.060] (–) NVIDIA(GPU-0):
[ 36389.075] (–) NVIDIA(GPU-0): DELL U2412M (DFP-1): connected
[ 36389.075] (–) NVIDIA(GPU-0): DELL U2412M (DFP-1): Internal TMDS
[ 36389.075] (–) NVIDIA(GPU-0): DELL U2412M (DFP-1): 330.0 MHz maximum pixel clock

DFP-0 and DFP-2 are Korean 1440p monitors with invalid edid checksums. I have Option “IgnoreEDIDChecksum” “DFP-0, DFP-2” in my xorg config, which worked with the GTX 660. I don’t think the problem is related to the EDID though, I think it’s because the driver is trying to output a Displayport signal instead of TMDS.

Are there any options I can use in my xorg config to force it to use TMDS signal instead of displayport?

This is in Arch 64-bit, driver 352.21, xorg 1.17.2. Motherboard is Asrock z68 extreme3 gen3. I have the latest mobo bios and just updated the 970’s vbios. It’s booting with the legacy rom because the UEFI rom hangs the boot process for 30 seconds and makes the UEFI setup inaccessible. However, all four monitors worked under windows using the legacy rom. So again, I don’t think it’s anything related to hardware or bios/uefi.

Solved. I commented out the lines:

Option        "ConnectedMonitor" "DFP, DFP, DFP, DFP"                                                                                                                                                                                                                                                                            
Option        "UseDisplayDevice" "DFP-0, DFP-1, DFP-2, DFP-3"

and magically the 4th monitor was detected and is working. With this option commented out, the displays are detected as DFP-0, DFP-1, DFP-3, and DFP-4. So having the option above was forcing output on DFP-2 which this card doesn’t have.