4

I have two monitors with different max. resolutions (2560x1440 and 1920x1080). In windows I am able to configure the max resolution for both monitors but in linux (manjaro, proprietary nvidia drivers and xrandr 1.5) is the resolution of the bigger one limited to 2048x1152. I read several questions/threads/articles how to add custom resolution via xrandr but none of these work for me. Here is my problem:

Output of xrandr:

Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
   1920x1080     60.00*+
   ... skipped few lines .... 
   640x480       75.00    72.81    59.94  
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
   2048x1152     60.00*+
   ... skipped few lines ...                                                                              
   640x480       75.00    59.94    59.93                                                                      
DVI-I-3 disconnected (normal left inverted right x axis y axis)

I generate new custom resolution with cvt:

$ cvt 2560 1440 60
# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00"  312.25  2560 2752 3024 3488  1440 1443 1448 1493 -hsync +vsync

Now I want to create new resulution:

xrandr --newmode 2560x1440_60.00 312.25  2560 2752 3024 3488  1440 1443 1448 1493 -hsync +vsync

Output of xrandr looks now like this:

Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384                                           
DVI-I-0 disconnected (normal left inverted right x axis y axis)                                               
DVI-I-1 disconnected (normal left inverted right x axis y axis)                                               
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm                   
   1920x1080     60.00*+                                                                                      
   ... skipped few lines ...                                                             
   640x480       75.00    72.81    59.94                                                                      
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm               
   2048x1152     60.00*+                                                                                      
   ... skipped few lines ...  
   640x480       75.00    59.94    59.93  
DVI-I-3 disconnected (normal left inverted right x axis y axis)
  2560x1440_60.00 (0x313) 312.250MHz -HSync +VSync
        h: width  2560 start 2752 end 3024 total 3488 skew    0 clock  89.52KHz
        v: height 1440 start 1443 end 1448 total 1493           clock  59.96Hz

If I want now to add this resolution to output HDMI-0 I get following error:

$ xrandr --addmode HDMI-0 2560x1440_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:  33
  Current serial number in output stream:  34

In the past I was able successfully use this method to setup my monitors as needed without any problem on different pc (notebook + ext. monitor, both with the same resolution). I would really appreciate any suggestions.

  • Might be a limitation of HDMI, it seems like many components can be the limiting factor if I understood the comments here correctly: superuser.com/questions/119755/… – Jakob Lenfers Nov 1 '16 at 16:59
  • I checked the link but I don't think so. As I write at the beginning, I have dualboot with windows and in windows it is possible to switch to 2560x1440. – Marek Kordík Nov 1 '16 at 18:05
  • My bad, missed that part. – Jakob Lenfers Nov 1 '16 at 19:02
0

nVidia driver have a strict policy following EDID even they are buggy.

  • It have an xorg options to ignore EDID and choose from all supported resolution by graphic adapter. Using one of:

    Option "UseEDID" "boolean"
    Option "ModeValidation" "NoEdidModes"
    

    May ignore partial features with:

    Option "UseEDIDFreqs" "FALSE"
    Option "IgnoreEDIDChecksum" "<con-1>, <con-2>"
    

    Or more advanced tweathing of EDID validation, see reference for supported values:

    Option "ModeValidation" "string"
    
  • Also it has option to inject a corrected/modified copy of EDID. WARNING: It is dangerous, not all monitors are made robust.

    Option "CustomEDID" "<con-1>:</pathto/edid1.bin>; <con-2>:</pathto/edid2.bin>"
    

Reference:

Note:

By the way, verify if it has even retrieved EDID data using:

xrandr --verbose

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.