How do I get a 50Hz display mode?

How do I get a 50Hz display mode in Linux? Under Windows, in order to get a 50Hz display mode, I simply do that in the NVidia control panel, where I select my wanted horizontal and vertical resolution and my wanted refresh rate. On Linux there’s no such option. Do I really need arcane wizardry xorg.conf settings for this, or is there an easy way?

I’m using KDE and the 313.30 drivers on a 560 Ti.

Change resolution from “auto” to what you want in nvidia-settings under “X Server Display Configuration” and then the box to it’s right will give you the choice of timings. For my monitor, I have “auto”, “60”, and “50” as choices - depending on what your monitor supports, what choices you get may vary.

  • Tim

I’m not seeing any such setting. This is what I get:

This is what mine looks like:

That being said mine is using a custom EDID with only one mode in it.

You could start X with -loverbose 6 and look in your xorg.log file to see what EDID modes your monitor is giving and make a modeline off that in order to force 50Hz. I am curious why you would want to run at 50Hz instead of 60Hz though.

Because of PAL videos i guess.
You could try to manually add, HorizSync, VertRefresh and
Option “ModeValidation” “NoMaxPClkCheck, NoEdidMaxPClkCheck, NoHorizSyncCheck, NoVertRefreshCheck”
to the monitor section and
Option “ExactModeTimingsDVI” “true”
to the device section in the xorg.conf

so you’ll be able to add custom out of monitor spec. modes with nv-control-dpy or xrandr starting with the latest beta driver.
For nv-control-dpy it looks like this for 1920x1200 at 75hz:
nv-control-dpy --add-modeline 0x00100000 ‘“1920x1200_75.00” 246.59 1920 2064 2272 2624 1200 1201 1204 1253’
You need to change the dpy mask to the one of your monitor, get the dpy mask with nv-control-dpy --probe-dpys

You can use the tool gtf to generate a custom modeline.

Thanks, I will try out the suggestions. I didn’t know that the “Separate X screen” option enables this. I thought this is for a second monitor (that’s what “separate screen” means in common English :-/) which I don’t have.

(And btw, I need 50Hz for my Amiga emulator. It’s not possible to get smooth scrolling in PAL games while using 60Hz. There’s frame skipping if you’re not using 50Hz.)

It may be easier than that - try enabling the device - you don’t get setting options on a screen that is disabled . . . .

  • Tim

OK, I did that but 50Hz is not offered as a choice. Only 60Hz is. I found a setting that is supposed to allow non-60Hz modes:

Option  "ModeValidation"   "AllowNon60HzDFPModes"

But it doesn’t work :-/

I don’t have an xorg.conf file, but I do have an /etc/X11/xorg.conf.d/nvidia.conf file (and it’s the only file in there). It looks like this:

Section "Device"
    Identifier "NVidia GeForce GTX 560 Ti"
    Driver  "nvidia"
    Option  "TripleBuffer"     "True"
    Option  "NoLogo"           "True"
    Option  "UseEdidDpi"       "False"
    Option  "DPI"              "96 x 96"
    Option  "DynamicTwinView"  "False"
    Option  "ModeValidation"   "AllowNon60HzDFPModes"
    Option  "Coolbits"         "4"
    Option  "RegistryDwords"   "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x2; PowerMizerDefaultAC=0x2"

I don’t have a “Monitor” or “Screen” section at all. I suppose there’s no way around defining everything manually. Why can’t this be as easy as under Windows, where I simply select 50Hz in the control panel’s custom mode configuration? :-/

Can you please follow the instructions in the sticky posts about how to generate a bug report log file with verbose mode validation enabled? It’s possible that your monitor is simply telling the driver that it doesn’t support 50 Hz. You can use the various ModeValidation overrides to force it to allow 50 Hz anyway, if that’s the case.

I know that my monitor’s EDID doesn’t report that it supports 50Hz. The whole point is how to override that easily.

You need in your xorg.conf this
Section “Monitor”
Identifier “Monitor0”
HorizSync 50.0 - 60.0
VertRefresh 50.0
ModeLine “1920x1080@50p” 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Option “ExactModeTimingsDVI” “true”
Option “UseEDID” “false”

Option “DPMS” “off”

and that
Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
SubSection “Display”
Depth 24
Modes “1920x1080@50p”

I just want to add a 50hz mode, I don’t want to replace my EDID modes.