If you are not able to run your resolutions at higher refresh rates you will have to manually specify a new modeline within your X configuration. Moreover, it might be nescessary to add a monitor configuration which is able to display the desired mode in case the automatically retrieved information from the monitor is wrong.
As a first step, what resolutions does xrandr present to you, assumed that you are running the GL client? For instance, the following dump shows me that I am able to set my resolution to at most 1024x768 @ 85Hz and can also switch to 400x300 @ 60 Hz, which was manually added.
x40:~$ xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1024 x 1024
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 49.6*+ 85.0 75.0 70.1 60.0
832x624 74.6
800x600 85.1 72.2 75.0 60.3 56.2
640x480 85.0 72.8 75.0 59.9
720x400 85.0
640x400 85.1
640x350 85.1
400x300_60.00 60.0
A new modeline can be created by using the tool gtf. The command below will create a modeline for the resolution 640x480 with a refresh rate of 150Hz:
x40:~$ gtf 640 480 150
# 640x480 @ 150.00 Hz (GTF) hsync: 78.60 kHz; pclk: 67.91 MHz
Modeline "640x480_150.00" 67.91 640 680 752 864 480 481 484 524 -HSync +Vsync
This modeline must now made available in X. For that to happen, copy /etc/X11/xorg.conf to /etc/X11/xorg.conf.orig and edit /etc/X11/xorg.conf. In the section Monitor, add the modeline.
Section "Monitor"
Identifier "Monitor0"
Option "DPMS"
Modeline "640x480_150.00" 67.91 640 680 752 864 480 481 484 524 -HSync +Vsync
EndSection
Further it might be nescessary to tell the graphics hardware that it should disable auto detection and use the timings which are defined by monitor Monitor0. The string LVDS below must match the output identification which you want to alter and is shown by xrandr, e.g., if xrandr tells you that the screen is named VGA then instead of monitor-LVDS you would write monitor-VGA.
Section "Device"
Identifier "Intel Corporation 82852/855GM Integrated Graphics Device"
Driver "i810"
Option "monitor-LVDS" "Monitor0"
BusID "PCI:0:2:0"
EndSection
Now restart X and see if the new mode is shown by xrandr. You can switch to the new mode and test it out:
x40:~$ xrandr -s 640x480 --rate 150
Maybe my solution is a little bit complicated, but that's how I forced my GL ezquake to run at 400x300 today.
Regards,
bitfaust