Nvidia driver won't let me set correct resolution

ARK3r

New Member
Joined
Jan 15, 2023
Messages
5
Reaction score
0
Credits
50
I have ubuntu 22.04 with RTX 3080 LHR and 3 monitors

So when I run xrandr I get:
Code:
Screen 0: minimum 8 x 8, current 5560 x 1920, maximum 32767 x 32767
HDMI-0 connected primary 2560x1080+1920+0 (normal left inverted right x axis y axis) 798mm x 334mm
   2560x1080     59.98 +  74.99*   50.00 
   3840x2160     29.97    25.00    23.98 
   2560x1440     59.95 
   1920x1080     75.00    60.00    59.94    50.00 
   1680x1050     59.95 
   1600x900      60.00 
   1280x1024     75.02    60.02 
   1280x800      59.81 
   1280x720      60.00    59.94    50.00 
   1152x864      60.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-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 1080x1920+4480+0 right (normal left inverted right x axis y axis) 673mm x 284mm
   1920x1080     60.00*+  59.94    50.00 
   1680x1050     59.95 
   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-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 798mm x 334mm
   1920x1080     60.00*+  59.94    50.00 
   1680x1050     59.95 
   1600x900      60.00 
   1280x1024     75.02    60.02 
   1280x800      59.81 
   1280x720      60.00    59.94    50.00 
   1152x864      60.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-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

But the two DisplayPort screens should be 2560x1080

So I tried to add modelines to the screens and I get this error

Code:
sudo xrandr --addmode DP-3 "2560x1080_60.00"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  45
  Current serial number in output stream:  46

and I tried to set the resolution through ubuntu's display settings as well as the nvidia settings app and I had no success.

When I get the edids from nvidia settings app it gives me this:
Code:
00 ff ff ff ff ff ff 00 1e 6d 70 77 f9 d3 01 00 09 20 01 03 80 50 22 78 ea 54 75 a5 57 52 9f 25 0a 50 54 25 6b 00 71 40 81 80 81 c0 a9 c0 b3 00 d1 c0 81 00 d1 cf cd 46 00 a0 a0 38 1f 40 30 20 3a 00 1e 4e 31 00 00 1a 02 3a 80 18 71 38 2d 40 58 2c 45 00 1e 4e 31 00 00 1e 00 00 00 fd 00 38 4b 1e 5a 18 01 0a 20 20 20 20 20 20 00 00 00 fc 00 4c 47 20 55 4c 54 52 41 57 49 44 45 0a 01 8d 02 03 31 f1 23 09 07 07 4b 10 04 03 01 1f 13 59 12 5d 5e 5f 83 01 00 00 6d 03 0c 00 10 00 b8 3c 20 00 60 01 02 03 e3 05 c0 00 e6 06 05 01 4a 4a 56 29 59 00 a0 a0 38 27 40 30 20 3a 00 1e 4e 31 00 00 1a 56 5e 00 a0 a0 a0 29 50 30 20 35 00 1e 4e 31 00 00 1a 00 00 00 ff 00 32 30 39 4e 54 54 51 33 48 38 30 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8d

I'm not exactly sure what it all means but after putting it through edidreader it does show me some 2560x1080 resolutions. So this means the driver is able to find this but won't let me set it.

I also connected the PC to someone else's set up with 3 3440x1440 monitors and everything was working well. The only difference being those 3 monitors had displayport connectors in the back but my monitors only have HDMI. So the one monitor HDMI-0 that is connected to the HDMI port on the GPU has the correct resolution, being 2560x1080, but the other two that have HDMI to displayport cables won't be set to 2560.

With the exact same setup and cables I was able to get the right resolutions as well using Nouveau but it was a little laggy and I couldn't use some of my software so I'm back to nvidia.

Is there anything I have missed? Any suggestions are very welcome, I've been trying to fix this for 2 days now.
 


sudo xrandr --addmode DP-3 "2560x1080_60.00"
you need to run the cvt tool first you have to assign a newmode before addmode

In terminal type in
Code:
cvt 1920 1080
or whatever resolution you desire

You should see an output similar to this
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Next type in
Code:
xrandr --newmode
then copy and paste everything from above so it looks like below from past Modeline
Code:
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Next you have to add the desired mode
(NOTE: the DP-3 in this example comes from the xrandr command you ran from the start yours may be different)
Code:
xrandr --addmode DP-3 "1920x1080_60.00"

To Permanently add it

Once a suitable resolution is found using xrandr, the mode can be permanently added by creating an entry in /etc/X11/xorg.conf.d/:
Code:
sudo texteditor /etc/X11/xorg.conf.d/10-monitor.conf
NOTE-texteditor should be replaced by whatever text editor you are using - and add the following text
Section "Monitor"
Identifier "DP-3"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Option "PreferredMode" "1920x1080_60.00"
EndSection
 
Thank you for the detailed reply!

When I try to add the new mode I get this error:

Code:
$ cvt 2560 1080
# 2560x1080 59.98 Hz (CVT) hsync: 67.17 kHz; pclk: 230.00 MHz
Modeline "2560x1080_60.00"  230.00  2560 2720 2992 3424  1080 1083 1093 1120 -hsync +vsync

$ xrandr --newmode "2560x1080_60.00"  230.00  2560 2720 2992 3424  1080 1083 1093 1120 -hsync +vsync

xrandr --addmode DP-3 "2560x1080_60.00"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  45
  Current serial number in output stream:  46

I tried looking up a solution and tried adding the HorizSync and VertRefresh to the xorg.conf file but that didn't allow me to add the resolution either.

Code:
$ cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 525.60.13


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    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      "DP-1"
EndSection


Section "Monitor"
    Identifier     "HDMI-0"
    Option         "DPMS"
    Option         "leftOf" "DP-1"
EndSection

Section "Monitor"
    Identifier     "DP-3"
    Option         "leftOf" "HDMI-0"
    HorizSync      31-90
    VertRefresh    50-80
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
 
xrandr --addmode DP-3 "2560x1080_60.00" X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 45 Current serial number in output stream: 46
This is most likely caused by the Nvidia drivers - If your EDID (Extended Display Identification Data) has something Nvidia cannot support, that mode would be skipped. Hence your error - your Nvidia drivers do not support the resolution you want on external monitors
An option maybe is to remove your Nvidia drivers and let Nouveau drivers run and try to set you display with the Nouveau drivers
 
Thanks again for the reply.

So I should go back to the Nouveau driver and try setting it using xrandr, then add it to the xorg.conf file and switch back to the nvidia driver?

My suspicion is that since I'm using HDMI (monitor) to DisplayPort (GPU), this is causing the driver to not read the data properly, and I think this since the driver was working perfectly on the 3 3440x1440 monitors that used 1 HDMI-HDMI and 2 DisplayPort to DisplayPort. Is there anyway I can force the driver to produce the 2560x1080 output I want even though it thinks the monitor does not support this.
 
Is there anyway I can force the driver to produce the 2560x1080 output I want even though it thinks the monitor does not support this
I do not think so with the Nvidia driver - to me it does not support the resolution with your configuration - and when you try to force it you get errors - I would try the Nouveau drivers and see what happens - you can always go back to the Nvidia drivers
 
it should be - /etc/X11/xorg.conf.d/10-monitor.conf - not /etc/X11/xorg.conf - you may have to create it
 
I posted the issue on Nvidia's forum and though I still think this is an issue with the Nvidia driver not being able to output for the cables since the Nouveau driver was working properly, getting 4K cables resolved the issue.

Thank you so much for your help.
 
But the two DisplayPort screens should be 2560x1080
Just out curiosity why are you wanting to use that resolution, if you are using 2560 the more logical choice would be to use 2560x1440 or do your monitors only support 2560x1080?
 

Members online


Top