Guide to X11/Define new resolution

Due to buggy hardware or drivers, your monitor's correct resolutions may not always be detected by xrandr. For example, the EDID data block queried from the monitor may be incorrect. However, we can add the desired resolutions to xrandr. Also, this same procedure can be used to add refresh rates you know are supported, but not enabled by your driver.

First we run `gtf' or `cvt' to get the Modeline for the resolution we want:

$ cvt -v 1280 720 Modeline "1280x720_60.00"  74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync
 * 1) 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz

Then we create a new xrandr mode. Note that the Modeline keyword needs to be ommited.

$ xrandr --newmode "1280x720_60.00"  74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync

The finale step is to add the new resolution to OUTPUT. Use just the name of the mode, since the parameters have been set previously.

$ xrandr --addmode "OUTPUT" 1280x720_60.00

Now it is possible to change the resolution of the OUTPUT to the one has been defined:

$ xrandr --output VGA1 --mode 1280x720_60.00

Note that these settings only take effect during current session, to make it permanent do following:

1. create the directory "/etc/X11/xorg.conf.d/"


 * 1) mkdir -v "/etc/X11/xorg.conf.d/"

2. create the file "10-monitor.conf"


 * 1) touch "10-monitor.conf"

3. edit "/etc/X11/xorg.conf.d/10-monitor.conf" and add following:

Section "Monitor" Identifier "your output" Modeline "1280x720_60.00"  74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync EndSection