How to change the monitor's refresh rate?

How do I change the monitor's refresh rate in Oneiric?

There is no option to do it in the Displays dialog now. By default it's 60Hz, but I need 75Hz on my monitor.

In previous releases there used to be such an option in the Displays dialog.

Edit - Half baked solution

The best I could do so far was:

xrandr -s 1280x1024 -r 75

This is perfect, but my problem is that it isn't permanent. It defaults back to 60 Hz after logging out and back in.

Perhaps this should go into some script and added to startup? I just don't know how to do that.


You should be able to use xrandr. Calculate the needed modelines for your resolution and refresh rate:

cvt 1600 900 75

(Here my example resolution is 1600x900.) Now create a new mode with xrandr:

xrandr --newmode "1600x900_75.00" 104.00 1600 -hsync +vsync

Add the new mode to xrandr:

xrandr --verbose --addmode VGA-0 "1600x900_75.00"

and activate it

xrandr --output VGA-0 --mode "1600x900_75.00"

Note that your values will be different. In particular, your monitor might not be VGA. Run the xrandr command with no arguments to find out the name of your monitor and use that instead. Running xrandr -q will display a list of available outputs.

Here's some more information on xrandr.


In 12.04 you can change the refresh rate by modifying the rate tag in ~/.config/monitors.xml after you configure your monitor(s). This works on reboot for me.

Example:

<monitors version="1">
    <configuration>
        <clone>no</clone>
        <output name="DVI-I-0"></output>
        <output name="DVI-I-1">
            <vendor>ACI</vendor>
            <product>0x24e1</product>
            <serial>0x01010101</serial>
            <width>1920</width>
            <height>1080</height>
            <rate>144</rate>
            <x>0</x>
            <y>0</y>
            <rotation>normal</rotation>
            <reflect_x>no</reflect_x>
            <reflect_y>no</reflect_y>
            <primary>yes</primary>
        </output>
        <output name="HDMI-0"></output>
        <output name="DP-0"></output>
        <output name="DVI-D-0">
            <vendor>DEL</vendor>
            <product>0xa017</product>
            <serial>0x31314553</serial>
        </output>
        <output name="DP-1"></output>
    </configuration>
</monitors>

So my solution is, which seems to work well on my system:

  1. I opened up Startup Applications

  2. I clicked Add

  3. I typed a name and the following in the command field:

    xrandr -s 1280x1024 -r 75

Using this xrandr -s 1280x1024 -r 75 is run at every sytem startup and sets the refresh rate as required. There could be a better option but right now this seems to be OK for me.

Hopefully the LTS will fix the showstopper bug of no easy, gui way to change the refresh rate.