My external monitor VGA-0 is a 16:10 screen, so is my laptop LCD LVDS, but for some reason, the external one doesn’t have 16:9 resolutions available like 1280x720 as the laptop’s screen has:

Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
VGA-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
   1680x1050      60.0*+
   1280x1024      75.0     60.0
   1280x960       60.0
   1152x864       75.0
   1024x768       75.1     75.0     70.1     60.0
   [snip]
LVDS connected (normal left inverted right x axis y axis)
   1680x1050      60.0 +
   1400x1050      60.0
   1280x1024      59.9
   1440x900       59.9
   1280x960       59.9
   1280x854       59.9
   1280x800       59.8
   1280x720       59.9
   [snip]
S-video disconnected (normal left inverted right x axis y axis)

I found this answer helps a lot, I never thought it’s possible to have new resolution. Now I have the following steps, first step is to get the modeline using cvt:

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

Add the new modeline to server, you probably could use some shell work, but simply copy-and-pasting is enough:

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

I tried to change the name, removing the frequency part, but it seems to have strict format, I’d get an X error like if I do:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  139 (RANDR)
  Minor opcode of failed request:  16 (RRCreateMode)
  Serial number of failed request:  27
  Current serial number in output stream:  27

I guess some friendly mode name is not possible. Next is to check the result, I don’t know why, but it seems to be listed in strange place, don’t think it’s under S-Video:

$ xrandr
[snip]
S-video disconnected (normal left inverted right x axis y axis)
  1280x720_60.00 (0x296)   74.5MHz
        h: width  1280 start 1344 end 1472 total 1664 skew    0 clock   44.8KHz
        v: height  720 start  723 end  728 total  748           clock   59.9Hz

Now, add the mode to the output and check to see if it’s listed:

$ xrandr --addmode VGA-0 1280x720_60.00
$ xrandr
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
VGA-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
   1680x1050      60.0*+
   [snip]
   1280x720_60.00   59.9
LVDS connected (normal left inverted right x axis y axis)
   [snip]
S-video disconnected (normal left inverted right x axis y axis)

Switch to the mode:

$ xrandr --output VGA-0 --mode 1280x720_60.00

I need this 16:9 resolution for recording the screen. I could do with native 1680x1050, but I don’t think it would look goo on YouTube since it’s different aspect ratio and resolutions. For normal video, in real life, it’s fine, but for computer screen, it is destined to look horrible.