This is very frustraiting…
Trying to force a display to only have one 1680x1050 @120 Hz mode as the display does not have a scaler. I am running into an issue where when the login manager (lightdm/gdm/etc) keep reverting to a 800x600 mode which is a nvidia predefined mode instead of using the correct mode causing a corrupted display until the machine can be logged into and fixed.
Here is the problem. All auto-generated modes should be disabled:
[ 6025.380] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 6025.380] (**) NVIDIA(0): device ViewSonic VX2265wm (DFP-3) (Using EDID frequencies
[ 6025.380] (**) NVIDIA(0): has been enabled on all display devices.)
[ 6025.380] (II) NVIDIA(0): Mode Validation Overrides for ViewSonic VX2265wm (DFP-3):
[ 6025.380] (II) NVIDIA(0): NoMaxPClkCheck
[ 6025.381] (II) NVIDIA(0): NoEdidMaxPClkCheck
[ 6025.381] (II) NVIDIA(0): NoMaxSizeCheck
[ 6025.381] (II) NVIDIA(0): NoHorizSyncCheck
[ 6025.381] (II) NVIDIA(0): NoVertRefreshCheck
[ 6025.381] (II) NVIDIA(0): NoVesaModes
[ 6025.381] (II) NVIDIA(0): NoEdidModes
[ 6025.381] (II) NVIDIA(0): NoXServerModes
[ 6025.381] (II) NVIDIA(0): NoPredefinedModes
[ 6025.381] (II) NVIDIA(0): NoDFPNativeResolutionCheck
[ 6025.381] (II) NVIDIA(0): AllowNonEdidModes
[ 6025.381] (II) NVIDIA(0): Frequency information for ViewSonic VX2265wm (DFP-3):
Yet when the mode pool is generated I see an 800x600 mode that is still making its way in:
[ 6025.395] (II) NVIDIA(GPU-0): --- Modes in ModePool for ViewSonic VX2265wm (DFP-3) ---
[ 6025.395] (II) NVIDIA(GPU-0): "nvidia-auto-select" : 800 x 600 @ 60.3 Hz (from: NVIDIA Predefined)
[ 6025.395] (II) NVIDIA(GPU-0): "1680x1050" : 1680 x 1050 @ 120.0 Hz (from: X Configuration file ModeLine)
[ 6025.395] (II) NVIDIA(GPU-0): "1680x1050_120" : 1680 x 1050 @ 120.0 Hz (from: X Configuration file ModeLine)
[ 6025.395] (II) NVIDIA(GPU-0): --- End of ModePool for ViewSonic VX2265wm (DFP-3): ---
Looks like nvidia-auto-select simply refuses to use a custom mode and there is no way to disable this nvidia-auto-select so this 800x600 mode which things are defaulting to keeps making its way back in…
This seems like a bug to me is how is an nvidia predefined mode making its way back even with modevalidation NoPreDefinedmodes being set?
Seems like a lot of this is also due to xrandr aware login managers that are trying to figure out what to use instead of using what X is set to but there should be a way to force the driver to only allow a custom mode and not generates any pre-defined modes that the hardware can’t do (which is happening here).