The modeline (there are a lot of "built-in" ones, so you see only non-standard ones in the config) that gets selected selects the refresh rate. You have an entry in the config specifying the resolution (eg 1280x1024); the server picks the highest refresh rate it finds supported (other constraints come in; max v and h frequency ranges etc)
Look at the /var/log/XFree86.0.log file to see which one gets selected - here's from my file:
Code:
(II) NV(0): Not using default mode "960x720" (hsync out of range)
(--) NV(0): Virtual size is 1280x1024 (pitch 1280)
(**) NV(0): Mode "1280x1024C": 157.5 MHz, 93.1 kHz, 86.2 Hz
(II) NV(0): Modeline "1280x1024C" 157.50 1280 1364 1524 1692 1024 1041 1044 1080 +hsync +vsync
ok, so I get 86.2 Hz.
Note the "1280x1024C". That is not any of the built-in ones. I usually tweak the display just the way I like it with xvidtune, make it bigger, better centered, whatever. xvidtune lets you output the modeline that you adjusted ("show"). Grab that line and add it to the XF86config-4 file, giving it a new name (with the "C" in my case).
Then, in the same file,
Code:
Section "Screen"
Identifier "Screen0"
Device "RIVA TNT2"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024C"
EndSubsection
EndSection
to make it use your custom modeline. If you get a lot of your day's light from the tube like I do, that extra bit of work is well worth it.
Hope it helps,
Martin