I work in an office full of people using various Linux distributions. The number of people who are using X with unoptimised vertical refresh rates amazes me. So many people are staring at a screen all day long which is refreshing at 60Hz when with a bit of work they could configure their system to refresh at a much higher rate.
In general, the higher refresh rate you can get, the less eye strain it will give you.
1. Find out your current refresh rate.
There are various ways of doing this. Most modern monitors will tell you on the OSD (On Screen Display) if you go into the monitor's menu system. If your monitor does not have this feature, you may find out by running xvidtune from the command line
Code: Select all
xvidtune
If your vertical refresh rate is less than 70Hz, you could probably do with optimising your X configuration. This will involve you manually editing your X configuration file. This is less scary that it sounds, if you've never done it before. When I optimised my refresh rate, I got it from 75Hz up to 88Hz. The image is so much crisper and clearer and I recommend doing this.
2. Find out the specifications of your monitor.
Indeed, your monitor may already be running as high as it can go. You need the exact model number and manufacturer of your monitor. The model number is invariably found at the back of your monitor somewhere. You may have a manual for the monitor which tells you the specifications. You are looking for the the horizontal frequency range in KHz, and the vertical frequency range in Hz. Remember, "Google is your Friend" (tm), so a search string of "[manufacturer] [model number] refresh" will probably yield the results you need.
Look at the monitor specifications that you find. Look at your desired resolution and find out the maximum vertical refresh rate your monitor supports.
3. Back up your existing X configuration file
It's easy to break things, so have a copy of your old config before you mess with it.
Code: Select all
cp /etc/X11/XF86Config /etc/X11/XF86Config.thisworks
Visit http://xtiming.sourceforge.net/cgi-bin/xtiming.pl and enter in your monitor specifications. Attempt to push the vertical refresh rate as high as your monitor will go for your desired resolution. If you do it correctly, it will give you a Modeline. Copy that into your X buffer for later use. It may take a couple of attempts to configure it so that your monitor does not attempt to sync too high and switch itself off.
Now, most monitors go into standby whenever they are asked to attempt to sync at a refresh rate that is too high. However, some monitors will stupidly still attempt to display an image. The symptoms are a scrambled display and a high pitched whistling sound. If this happens, immediately switch to a text mode console (CTRL-ALT-F1), or power your monitor off, otherwise your monitor may be damaged.
5. Configure your Monitor
Edit /etc/X11/XF86Config and find the section titled Section "Monitor". Now change the entire section, use your common sense. Mine reads like this and notice that I have put my custom Modeline that I got from the X Timing website in.
Code: Select all
Section "Monitor"
Identifier "Belinea"
HorizSync 30-86
VertRefresh 50-150
Option "DPMS"
Modeline "1152x864@88" 135.02 1152 1184 1696 1700 864 868 880 900
EndSection
6. Configure your Resolution and Refresh Rate
Still editing your XF86Config file...
Go to Section "Screen". If you changed the name of your Monitor earlier, ensure that your change is reflected here. Now find out how many bitplanes you are running in. In the config file, this is called the DefaultDepth. This is usually a value, maybe 8, 16 or 24. There are SubSections referrring to your Depth as well. For example
Code: Select all
Section "Screen"
Identifier "Screen 1"
Device "Matrox Millennium G200 8MB"
Monitor "Belinea"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1152x864@88"
ViewPort 0 0
EndSubsection
EndSection
7. Restart X
At this stage, you should restart X. This involves more than just logging out! If there is not a menu option on your display manager to restart the X server, you may do so from the command line (/etc/init.d/xdm restart) or more quickly by using CTRL-ALT-Backspace.
Hopefully your screen will now display a nice crisp image at an optimum refresh rate. Obviously if you have gone too far with your refresh rates, you'll have to switch to a text console and look at backing out your change. If this happens, revisit the X timings web site and try with a lower vert refresh rate.
8. Optimising your Display
Well now you've got a nice higher refresh rate. Well done! It may not be very central on your screen though. Verify your vertical refresh rate by using the "xvidtune" utility again. Whilst in here, you could also move the image around, resize it etc. The "Show" button in xvidtune prints the new Modeline for any changes you make, if you care to make it permanent, you could modify your current Modeline (in /etc/X11/XF86Config) to reflect your changes (remember to restart X)
Or alternatively, you could muck around with your monitor controls to centralise your image. Whatever, I hope this has worked for you, and that your eye strain has been reduced.
9. It didn't work - how to restore your original config
It is entirely possible to get into nightmares with your X configuration. If you need to revert to your configuration before you started messing, you should
Code: Select all
cp /etc/X11/XF86Config.thisworks /etc/X11/XF86Config
If you can't get it to work at all, I do recommend the Scitech SNAP graphics drivers. Take a look at these, at http://www.scitechsoft.com/
These drivers perform quite well, and the installation procedure automatically configures your X server to display at the optimum refresh rate. It even offers a utlity to change your refresh rates on the fly, and this auto-configures your XF86Config file for you. These drivers run on a 21 day evaluation period, so take a look at them.




