2007-12-16, 01:47 PM
If you're using the proprietary Nvidia driver with Linux, and you have a CRT monitor that the driver won't recognise, or for some other reason the refresh rate is set incorrectly, here are the steps for overriding the refresh rate.
You need to edit the /etc/X11/xorg.conf file. Before making any changes though, back it up so you can restore it if you break anything.
Code:
# cp /etc/X11/xorg.conf /etc/X11/xorg.backup-working.conf
Now open up the file as root to edit it.
Under Section "Screen", there will be a SubSection "Display" area. On the Modes line, put your desired resolution(s) followed by an underscore and then the desired refresh rate. For example, I want to run at 1600x1200 at 75 Hz, so I put:
Code:
Modes "1600x1200_75"
Normally, though, this won't override the refresh rate if your monitor is telling the driver the wrong information. To force the driver to ignore the monitor, paste this inside Section "Screen":
Code:
Option "UseEDIDFreqs" "False"
Finally, search for VertRefresh and make sure you are not trying to set a refresh rate higher than the largest number in that field.
Save the file, restart X with Ctrl-Alt-Backspace and you should be in your desired resolution/refresh rate combination.
Always
make sure your monitor is actually capable
of the resolution and refresh rate combination you select before you override it manually or you may permanently damage it.
Only use this if the driver is detecting the wrong values and won't let you set anything above really small resolutions, for example, not to try and push your monitor over its limits.
If you need to roll back to the old configuration file in case something goes wrong, do:
Code:
# cp /etc/X11/xorg.backup-working.conf /etc/X11/xorg.conf
That's it.
For reference, here's what my xorg.conf looks like for a NVIDIA Geforce 6600 GT on a CTX VL950/EX951F 19" monitor for Ubuntu 7.10:
Code:
# xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Files"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "Device"
Identifier "nVidia Corporation NV43 [GeForce 6600 GT]"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
Section "Monitor"
Identifier "CTX EX951F"
Option "DPMS"
HorizSync 30-94
VertRefresh 75
EndSection
Section "Screen"
Identifier "Default Screen"
Device "nVidia Corporation NV43 [GeForce 6600 GT]"
Monitor "CTX EX951F"
DefaultDepth 24
Option "UseEDIDFreqs" "False"
SubSection "Display"
Modes "1600x1200_75" "1280x1024_75" "1024x768_75" "800x600_75" "640x480_75"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
# Uncomment if you have a wacom tablet
# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"
EndSection