Download and compile cvt_modeline_calculator_12 which will give access to CVT v.1.2 reduced blanking timings not supported by standard xorg tools.
# cd ~/ && wget https://raw.githubusercontent.com/kevinlekiller/cvt_modeline_calculator_12/master/cvt12.c && gcc cvt12.c -O2 -o cvt12 -lm -Wall
Example for 110Hz:
# ./cvt12 2560 1440 110 -b
# 2560x1440 @ 110.000 Hz Reduced Blank (CVT) field rate 110.000 Hz; hsync: 166.870 kHz; pclk: 453.89 MHz
Modeline "2560x1440_110.00_rb" 453.89 2560 2608 2640 2720 1440 1463 1468 1517 +hsync -vsync
Add the new modeline under the "Monitor" section, but remove the .00_rb
part (2560x1440_110.00_rb
-> 2560x1440_110
):
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 28.0 - 55.0
VertRefresh 43.0 - 72.0
Modeline "2560x1440_110" 453.89 2560 2608 2640 2720 1440 1463 1468 1517 +hsync -vsync
Option "DPMS"
EndSection
Also update the "Screen" section:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "NoBandWidthTest" "true"
Option "IgnoreEDIDChecksum" "DVI-I-1"
Option "UseEDID" "False"
Option "UseEDIDDPI" "False"
Option "UseEDIDFreqs" "False"
Option "ExactModeTimingsDVI" "True"
Option "ModeValidation" "NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck, NoEDIDModes, NoEdidMaxPClkCheck, NoXServerModes, NoVesaModes"
Option "Stereo" "0"
Option "metamodes" "2560x1440_110 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
What is important here are the options for ignoring EDID and the ModeValidation options for ignoring Pixel Clock limitations.
The options for ModeValidation NoXServerModes, NoVesaModes
was needed in order to get GDM working properly, as GDM chose 1024x768 as resolution as it was listed first by xrandr. Thus resulting in a black screen in GDM.