Incorrect VGA resolution

Hello,

I get 1600 x 900 max resolution when I connect my panel via VGA and get 1920 x 1080 when I connect via HDMI.

Graphics detail -

# inxi -G
Graphics:  Device-1: NVIDIA GK208B [GeForce GT 710] driver: nvidia v: 470.74 
           Display: x11 server: X.org 1.20.3 driver: nvidia resolution: <xdpyinfo missing> 
           OpenGL: renderer: NVIDIA GeForce GT 710/PCIe/SSE2 v: 4.6.0 NVIDIA 470.74 

xrandr -

# xrandr 
Screen 0: minimum 8 x 8, current 2944 x 1080, maximum 16384 x 16384
VGA-0 connected 1024x768+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00*+
   1600x900      59.82  
   1400x900      59.88  
   1368x768      59.88    59.85  
   1280x800      59.91    59.81  
   1280x720      59.86    59.74  
   1024x576      59.90    59.82  
   960x540       59.82    59.63  
   864x486       59.92    59.57  
   800x600       72.19    60.32    56.25  
   800x450       59.82  
   700x450       59.88  
   684x384       59.88    59.85  
   640x480       59.94  
   640x400       59.98    59.88  
   640x360       59.86    59.83  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.82    59.63  
   432x243       59.92    59.57  
   400x300       72.19  
   320x240       60.05  
DVI-D-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 267mm
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
   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

Panel -

# ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
/sys/class/drm/card0-DVI-D-1/edid
Partial Read... Try again
/sys/class/drm/card0-HDMI-A-1/edid
Checksum Correct

Section "Monitor"
        Identifier "DELL P2217H"
        ModelName "DELL P2217H"
        VendorName "DEL"
        # Monitor Manufactured week 48 of 2017
        # EDID version 1.3
        # Digital Display
        DisplaySize 480 270
        Gamma 2.20
        Option "DPMS" "true"
        Horizsync 30-83
        VertRefresh 56-76
        # Maximum pixel clock is 170MHz
        #Not giving standard mode: 1152x864, 75Hz
        #Not giving standard mode: 1280x1024, 60Hz
        #Not giving standard mode: 1600x900, 60Hz
        #Not giving standard mode: 1920x1080, 60Hz

        #Extension block found. Parsing...
        Modeline        "Mode 13" +hsync +vsync 
        Modeline        "Mode 0" +hsync +vsync 
        Modeline        "Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
        Modeline        "Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
        Modeline        "Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
        Modeline        "Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
        Modeline        "Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
        Modeline        "Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
        Modeline        "Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
        Modeline        "Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
        Modeline        "Mode 9" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
        Modeline        "Mode 10" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
        Modeline        "Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
        Modeline        "Mode 12" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
        Modeline        "Mode 14" +hsync +vsync interlace
        Modeline        "Mode 15" +hsync +vsync 
        Modeline        "Mode 16" -hsync -vsync 
        Option "PreferredMode" "Mode 13"
EndSection
/sys/class/drm/card0-VGA-1/edid
Partial Read... Try again

I need VGA with FHD resolution since I use ATEN KVM switch for peripheral sharing. I am using driver from nvidia repo. This is driving me crazy, in rage I ordered a couple of Chinese HDMI KVM switches but they didn’t work, please help.

Are all VGA cables equipped with all 15 pins?

I just tried similar with a similar old NVidia GPU and FOSS drivers only:

# inxi -Sy
System:
  Host: ga970 Kernel: 5.3.18-59.16-default x86_64 bits: 64
  Desktop: Trinity R14.0.10 Distro: openSUSE Leap 15.3
# inxi -Gay
Graphics:
  Device-1: NVIDIA GF108 [GeForce GT 630] vendor: Gigabyte driver: nouveau
  v: kernel bus-ID: 01:00.0 chip-ID: 10de:0f00 class-ID: 0300
  Display: server: **X.Org** 1.20.3 **driver: loaded: modesetting**
  unloaded: fbdev,vesa alternate: nouveau,nv,nvidia display-ID: :0 screens: 1
  Screen-1: 0 s-res: **1920x2280** s-dpi: 120 s-size: 406x482mm (16.0x19.0")
  s-diag: 630mm (24.8")
  Monitor-1: HDMI-1 res: 1920x1200 hz: 60 dpi: 94 size: 519x324mm (20.4x12.8")
  diag: 612mm (24.1")
  Monitor-2: VGA-1 res: 1920x1080
  OpenGL: renderer: NVC1 v: 4.3 Mesa 20.2.4 direct render: Yes
# xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r
VGA-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
Screen 0: minimum 320 x 200, current 1920 x 2280, maximum 16384 x 16384
HDMI-1 connected primary 1920x1200+0+1080 (normal left inverted right x axis y axis) 519mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.01    59.97    59.96*   59.99    59.93
#

This only works as expected when I use the following linu line options in Grub:

video=DVI-I-1:d video=VGA-1:1920x1080e video=HDMI-1:1920x1200e

and this xrandr startup script:

xrandr --output HDMI-1 --mode 1920x1200 --primary --output VGA-1 --mode 1920x1080 --above HDMI-1

Xorg.0.log from this is here. Without those options, neither screen lights up for X, but both work fine on the vttys. Reading Xorg.0.log, there’s nothing I recognize to indicate either display isn’t working as expected. Behaviors are identical when using DVI instead of HDMI. Possibly similar command line options and xrandr would work with NVidia’s drivers. Otherwise, I’m guessing the problem needs to be taken to an NVidia forum, or a switch to only FOSS drivers could be made.

All works as expected automagically when I use HDMI + DVI instead of HDMI + VGA:

# inxi -Sy
System:
  Host: ga970 Kernel: 5.3.18-59.16-default x86_64 bits: 64
  Desktop: Trinity R14.0.10 Distro: openSUSE Leap 15.3
# inxi -Gay
Graphics:
  Device-1: NVIDIA GF108 [GeForce GT 630] vendor: Gigabyte driver: nouveau
  v: kernel bus-ID: 01:00.0 chip-ID: 10de:0f00 class-ID: 0300
  Display: server: **X.Org** 1.20.3 **driver: loaded: modesetting**
  unloaded: fbdev,vesa alternate: nouveau,nv,nvidia display-ID: :0 screens: 1
  Screen-1: 0 s-res: **4480x1200** s-dpi: 96 s-size: 1185x317mm (46.7x12.5")
  s-diag: 1227mm (48.3")
  Monitor-1: DVI-I-1 res: 1920x1200 hz: 60 dpi: 94
  size: 519x324mm (20.4x12.8") diag: 612mm (24.1")
  Monitor-2: HDMI-1 res: 2560x1080 hz: 60 dpi: 97 size: 673x284mm (26.5x11.2")
  diag: 730mm (28.8")
  OpenGL: renderer: NVC1 v: 4.3 Mesa 20.2.4 direct render: Yes
# xrandr | egrep 'onnect|creen|\*' | grep -v disconn | sort -r
Screen 0: minimum 320 x 200, current 4480 x 1200, maximum 16384 x 16384
HDMI-1 connected 2560x1080+1920+0 (normal left inverted right x axis y axis) 673mm x 284mm
DVI-I-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
   2560x1080     60.00*+
   1920x1200     59.95*+
#

Xorg.0.log is here.

Info about command line video= options is here.

Are all VGA cables equipped with all 15 pins?

Aten has it’s own 15 pin VGA connector, they are all intact. I am facing this issue with two different Aten (CS-1734A & CS22U) switches and direct VGA output to the panel. The funny thing is that the swapping of card with other tower with openSUSE running on it shows full display. I reckon it is NVIDIA driver related but their forums aren’t much helpful for Linux/BSD users.

Thanks for taking time, and explaining this to me. I will investigate this further and get back to you with more details.

I got this working by dumping the edid.bin from nvidia settings application and loading it via 60-monitor.conf

Section "Device" 
     Identifier     "Device0" 
     Option "CustomEDID" "VGA-0:/usr/local/xorg/edid.bin" 
EndSection

Now xrandr shows proper resolution for VGA

# xrandr  
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 
VGA-0 connected (normal left inverted right x axis y axis) 
   1920x1080     60.00 +  59.94    50.00    60.05    60.00    50.04   
   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   
DVI-D-0 disconnected (normal left inverted right x axis y axis) 
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 267mm 
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04   
   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

Usually VGA output from Nvidia is of poor quality. Use digital output if possible.

I primarily employ digital output. I’m in an unusual circumstance where I spent a lot of money on four-port HDMI switches, and some of the USB peripheral ports don’t work. I’m using an ATEN CS1734B. (3rd port VGA fubar, shows only yellow, cables are good). As a result, I decided to construct a functioning system out of everything I could find. ATEN handles keyboard, mouse, and audio, while Chinese HDMI KVM switches handle digital display. The scarcity of hardware is concerning.