Поиск по этому блогу

понедельник, 24 ноября 2014 г.

XRandR: Добавление своего разрешения монитора в Linux / Ubuntu

http://www.linuxrussia.com/2013/08/xrandr-linux-ubuntu.html

Вывод доступных мониторов и режимов 

Введя в терминале xrandr вы увидите список интерфейсов, по которым могут быть подключены мониторы и доступные режимы работы монитора (разрешение и частота смена кадров в герцах).
Вот пример вывода этой команды:


Возможные названия интерфейсов:
  • LVDS1 — экран ноутбука;

  • VGA1 — экран, подключаемый через VGA;

  • DVI1 — экран, подключаемый через DVI;

  • HDMI — экран, подключенный через HDMI;
Названия интерфейсов могут отличаться в зависимости от используемой видеокарты. Для последующей работы с конкретным интерфейсом, необходимо запомнить его название (например, VGA1 если мы работам на видео от Intel и подключаем монитор по VGA). 

Изменение разрешения экрана.

В предыдущем пункте мы выполнили вывод существующих режимов разрешений экрана:
   1366x768       60.0 +
   1360x768       59.8     60.0 
   1024x768       60.0 
   800x600        60.3*    56.2 
   640x480        59.9 

Чтобы установить любое из этих разрешений, выполняется следующая команда:
xrandr --output LVDS1 --mode 
и вписываем после нее одно из названий существующих разрешений, например:
xrandr --output LVDS1 --mode 640x480 После этого установится нужное Вам разрешение.
И хочу заметить, что после опции output мы вписываем название своего интерфейса, в примере LVDS1.

Добавление нового режима.

И теперь приступим к самому важному.
Например мы подключаем 1080p монитор, а в программах настройки экрана доступно лишь намного меньшее разрешение.
Также могут быть проблемы и просто с неверным разрешением, из-за чего могут быть размытости и прочее.
Для начала воспользуемся очень полезной утилитой CVT (Coordinated Video Timing) в параметр ей добавим необходимое нам разрешение и частоту кадров. (В качестве параметров в примере добавим режим 1920x1080 при 60Гц):
cvt 1920 1080 60 Вот что выводит данная утилита:


Нам нужна строка, которая находится после Modeline.
И теперь создаем новый режим, он создается командой xrandr --newmode и добавляется строчка после modeline из предыдущей команды, то есть выполняем:
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Теперь осталось "привязать" созданный режим к нужному интерфейсу (Выше я уже объяснял об интерфейсе, в примере я возьму интерфейс DVI1):
xrandr --addmode DVI1 1920x1080_60.00
И теперь мы может установить созданное нами разрешение:
xrandr --output DVI1 --mode 1600x900_60.00
Вот и всё.

Добавление новой конфигурации в автозагрузку.

Добавленный новый режим разрешения экрана у нас сохранится до тех пор, пока не будет перезагружен компьютер.
Поэтому создадим скрипт sh с нашими командами. И добавим его в конфигурации lightdm.conf.
1. Создаем sh скрипт и проверяем его.
Ничего сложного нет в этом. Советую создать папку ".bin" в домашнем каталоге, куда будете складывать скрипты. Туда удобно складывать скрипты.
Итак создаем теперь новый документ, называем его как захочется, к примеру screen.sh. В текстовым редакторе добавляем туда наши все команды (полученные вышепо порядку:
#!/bin/bash
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode DVI1 1920x1080_60.00
xrandr --output DVI1 --mode 1920x1080_60.00
То есть должно получиться так:


Сохраняем, закрываем, жмем правой кнопкой мыши по файлу и на вкладке "Права" ставим галочку "Разрешить выполнение как программы".
2. Теперь этот скрипт надо добавить в автозагрузку.
Здесь инструкция разделяется.
Для Ubuntu c 12.04 до 13.10 надо править следующий файл: sudo gedit /etc/lightdm/lightdm.conf Для Ubuntu 14.04 и выше надо править следующий файл: sudo gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
Добавляем в конец файла строчку:
display-setup-script=/home/edward/.bin/screen.sh
Естественно меняем путь до вашего скрипта после "=" на свой.
В итоге должно получиться так:


Сохраняем и перезагружаемся для проверки.

Комментариев нет:

Отправить комментарий