После апгрейда видеокарты до GF670 пришлось подключить второй монитор через переходник DVI->VGA. В результате отвалилось разрешение 1600x900, осталось из максимального только 1024x768, что, конечно же, неприемлемо.
xrandr умеет принимать хендмейд моделайны и привязывать их к видеовыходам.
Однако ни cvt ни онлайн генераторы не смогли сгенерировать для меня моделайн который бы работал. Причем либо моделайн принимается xrandr-ом но выключается монитор с табличкой «Выход из диапазона», либо не принимался xrandr-ом вовсе.
Хорошо, возвращаю старую видеокарту и переписываю моделайн режима, когда монитор работает правильно:
xrandr --verbose
1600x900 (0x47e) 97.8MHz +HSync -VSync *current
h: width 1600 start 1648 end 1680 total 1760 skew 0 clock 55.5KHz
v: height 900 start 903 end 908 total 926 clock 60.0Hz
Возвращаю новую видеокарту и переходник на место. Пробую скормить xrandr-у моделайн:
xrandr --newmode "1600x900" 97.8 1600 1648 1680 1760 900 903 908 926 +hsync -vsync
xrandr --addmode DVI-I-0 1600x900
Моделайн создается но добавляться на видеовыход не желает - ошибка xrandr:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 41
Current serial number in output stream: 42
После часа экспериментов замечательно сработал моделайн:
xrandr --newmode «1600x900» 97.75 1600 1648 1680 1760 900 903 908 926 +hsync -vsync
Все работает, счастье есть.
Однако при этом xrandr --verbose продолжает обманывать утверждая что мы теперь имеем свежий моделайн с 97.8MHz (см. вывод команды выше).
Это баг или фича? Стоит ли по этому поводу писать багрепорт?