20

I have 3 monitors, one of which is a CRT, and I need to bump up it's refresh rate to 75/80 to get rid of the flicker, I've used it with my Raspberry Pi and it fully supports up to 100Hz. When I use xrandr it tries to change my 1st monitor, I want my 2nd one changed.

xrandr confirms that I can do this,

HDMI1 connected 1280x1024+2646+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024     60.02*+  75.02  
   1920x1080     60.00    59.94  
   1152x864      75.00  
   1280x720      60.00    59.94  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08

I have Intel HD Graphics 4400. Ubuntu 16.04.

  • 1
    See http://askubuntu.com/questions/189246/how-set-my-monitor-resolution . If the graphical tools do NOT have the resolution and refresh rate you want you have to write a custom resolution, which is also covered in that link. You can then call xrandr when you log in, see https://wiki.ubuntu.com/X/Config/Resolution – Panther Dec 16 '16 at 20:31

2 Answers2

32

Method 1

With the following command

xrandr --output HDMI1 --rate 75

Where the string after --output is the name of the monitor and the number after --rate is the new refresh rate

Or, if you want to make sure the resolution is correct too in the same command

xrandr --output HDMI1 --mode 1280x1024 --rate 75

See man xrandr and the following link to learn more

https://wiki.ubuntu.com/X/Config/Resolution

Method 2

You should have a file monitors.xml (~/.config/monitors.xml)

Edit the file with your favorite text editor

vim ~/.config/monitors.xml

You will see monitors available, and you should recognize them by name.

Here's some example information you will see about a monitor

<vendor>AUO</vendor>
      <product>0x38ed</product>
      <serial>0x00000000</serial>
      <width>1920</width>
      <height>1080</height>
      <rate>60</rate>
      <x>0</x>
      <y>0</y>
      <rotation>normal</rotation>
      <reflect_x>no</reflect_x>
      <reflect_y>no</reflect_y>
      <primary>yes</primary>

There's the line

<rate>60</rate>

Replace the current refresh rate with a new one. For example

<rate>75</rate>

Save the file and reboot, and the new refresh rate will take place.

NOTE: Make sure that monitor's resolution supports the refresh rate you are going to change

jiipeezz
  • 1,256
  • Although you can do this probably not such a good idea to simply set a rate this way as not all the resolutions support 60 hz. – Panther Dec 16 '16 at 20:21
  • 1
    Worked! My eyes don't bleed anymore. Thanks! – CadenGamez Dec 16 '16 at 20:32
  • @bodhi.zazen Yeah right, added it to the answer – jiipeezz Dec 16 '16 at 20:59
  • 1
    There is no monitors.xml file anywhere in my .config folder. How can I initialize it? EDIT: Adjusting just a single setting under Settings -> Display and hitting 'save' will produce an initial monitors.xml file in .config which you can then edit. But Ubuntu picked my refresh rate correctly the first time around! 75hz! I was convinced I'd have to alter it myself to get the extra 15hz. – fIwJlxSzApHEZIl Aug 29 '17 at 17:57
  • Does xrandr require rebooting? I keep changing the setting and it keeps reverting. I know my displays can support it so I think my HDMI cable is too long (10 feet). – fIwJlxSzApHEZIl Sep 27 '18 at 16:49
  • Note, you may need the mode as well as rate in option 1. At least mine did not switch rate with just --output and --rate, but when I added --mode (the same it already was) it applied it. – otus Dec 22 '18 at 15:50
0

Well if you want an intuitive GUI tool that shows the refresh rate and resolutions you may want the lubuntu default resolution tool lxrandr as it allows changing refresh rates and resolution by each other not installed by default ubuntu though. Install lxrandr and then open it and click on the advanced tab to change refresh rates. In a drop down option for each column.

ianorlin
  • 757
  • 4
  • 12