Can't select correct resolution on second monitor (Arch Linux)

I’m having trouble getting my GTX970 to recognize my second screen properly. Namely I can’t get it to output the correct resolution. At the moment, nvidia-settings only offers resolutions that are either incompatible or too small.

I have tried most fixes I’ve found online (adding new mode through xrandr, removing xorg.conf, forcing resolution through config files, changing the HDMI cable, etc) and nothing has worked yet. This issue is baffling me, as I had no trouble with my previous installation of Arch Linux on the same computer.

nvidia-bug-report.log.gz (238 KB)

Questions:

  • How many monitors?
  • Your xorg conf file?
  • What tells you ‘xrandr --query’?

Hello,

I have two monitors and both are 1920x1080. The second screen is in portrait orientation, if that is relevant. One is connected via DisplayPort and the other through HDMI.

[~]: xrandr --query
Screen 0: minimum 8 x 8, current 2688 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 768x1024+1920+28 left (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00*+
   800x600       72.19    60.32    56.25  
   640x480       59.94  
   512x384       60.00  
   400x300       72.19  
   320x240       60.05  
DP-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
   1600x1200     60.00  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)

My xorg.conf file is the one generated by nvidia-xconfig at the moment.

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 375.20  (buildmeister@swio-display-x86-rhel47-06)  Tue Nov 15 17:49:44 PST 2016

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

I met a same trouble with my IIyama screen too.
I had to clearly define the monitor section, but I see in your config that only one screen is define.
Try to add the second monitor if nvidia-settings detect it.
Then add also to “device” section :
BusID “PCI:1:0:0” (use lspci to find if it’s the good one)
Option “UseEDID” “true”
Maybe also:
Option “DPI” “96 x 96”

Remove the “ServerLayout” section to let xrandr manage it. And to be the more basic as possible, remove the “InputDevice” and “Screen” sections ,and let’s see what’s happen.

Hey, I tried your suggestions and they didn’t work. However, I stumbled on the solution by accident while tinkering with the xorg.conf.

I did the following to get it working:

  • Extracted the EDID from my working monitor.
  • Added the line: Option "CustomEDID" "DFP-1:/path/to/edid

Big thanks for the help though!

wow ! That’s a surprise, and good to know.
Wich command do you use to extract the EDID, I don’t know it?

I have a Dell monitor and an ASUS monitor. I extracted the EDID from my Dell monitor through nvidia-settings on Linux and forced the ASUS monitor to use the extracted EDID. I was quite sure it wouldn’t work, but surprisingly it works perfectly ¯_(ツ)_/¯

It’s slightly strange that on Windows, the ASUS monitor is recognized perfectly, but not so on Linux.