all in all front-end back-end linux web-services

Кастомное разрешение второго экрана BENQ G2020HDA

После обновления до Ubuntu 16.04 пропали проприетарные дрова и на втором мониторе разрешение экрана снизилось до 1024x768. Сначала был дико зол, что из Ubuntu убрали поддержку ATI Catalyst, но потом узнал, что в скором времени поддержку моего Radeon 5770 всё равно бы прекратили и решил не откатываться на 15.10.

На втором экране до этого использовал разрешение 1440x900. Его и установил в итоге.

Для начала нужно с помощью команды cvt получить так называемый modeline:

  1. cvt 1440 900

При написании статьи заметил, что не указывал третий параметр частоты обновления экрана. Но, как ни странно, работает и без него. Результат выполнения команды один и тот же:

  1. # 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

Теперь нужно добавить новый режим экрана командой xrandr:

  1. xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

У меня в таком виде с командой возникли проблемы. Решилось изменением названия режима:

  1. xrandr --newmode "1440p" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

Далее нужно получить названия выхода в системе, к которому подключен монитор. Это можно сделать всё той же коммандой xrandr без параметров. В моём случае монитор подключен к разъёму DVI-0 и следующими двумя командами соответственно добавляется и назначается новый режим:

  1. xrandr --addmode DVI-0 1440p
  2. xrandr --output DVI-0 --mode 1440p

И эти команды нужно выполнять при каждом запуске, по-этому лучше собрать их в bash-скрипт:

  1. #!/bin/bash
  2. xrandr --newmode "1440p" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
  3. xrandr --addmode DVI-0 1440p
  4. xrandr --output DVI-0 --mode 1440p

И в конце нужно добавить скрипт в автозапуск (startup applications)

Если скрипт будет запускаться слишком рано, возможно понадовиться добавить задержку коммандой sleep (5 - количество секунд):

  1. sleep 5

У меня всё работает и без задержки.

UPDATE: если при загрузке выходит окно с ошибкой о том, что режим не может быть применён для экрана, то нужно сделать следующее:

1. Установить стандартное разрешение для экрана.

2. Установить для файла /home/{user}/.config/monitors.xml права только на чтение.

05.05.2016

Комментарии

Переход на Linux

«Подниматель пингвинов»