Иногда случается, что приложение (чаще всего игра) меняет разрешение на нестандартное, а потом забывает его менять обратно. В этом случае поможет чудесная команда:
xrandr -s 0
Но возможности этой утилиты гораздо шире.
Для сервера X11 у большинства современных видеодрайверов (в том числе и для злополучного fglrx) существует расширение Randr (rotate and resize). Текущая версия 1.2 обладает широкими возможностями.
Выполним xrandr без параметров и посмотрим на результат:
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 2048 x 2048
LCD connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
1280x800 59.9*+
1280x768 59.9
1280x720 59.9
1024x768 59.9
800x600 59.9
720x480 59.9
640x480 59.9
640x400 59.9
512x384 59.9
400x300 59.9
320x240 59.9
320x200 59.9
DFP1 disconnected (normal left inverted right x axis y axis)
CRT1 disconnected (normal left inverted right x axis y axis)
TV disconnected (normal left inverted right x axis y axis)
Сейчас к моему ноутбуку не подключено ни одно внешнее устройство вывода изображения. Однако допустим, что я подключил по VGA монитор меньшего разрешения чем матрица ноутбука (в моём случае это телевизор, умеющий 1280×768). Тогда, возможно, я захочу продублировать изображение. Однако amdcccle и другие утилиты умеют дублирование видео только для одинаковых по разрешению мониторов.
А в случае с xrandr можно выполнить следующее:
xrandr --output CRT1 --mode 1280x768 --pos 0x16
Теперь экран дублируется на оба устройства вывода, но на меньшем отсекается 16 пикселей сверху и снизу. Это удобно например для игр на большом экране, потому что не надо шаманить с настройками видеорежимов в самой игре.
Однако чаще возникает другая ситуация, необходимость расширить рабочий стол. Тут не обойдётся без правки xorg.conf
Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device "aticonfig-Device[0]-0"
Monitor "aticonfig-Monitor[0]-0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Virtual 2048 2048
EndSubSection
EndSection
Строка Virtual задаёт размер виртуального пространства экрана, в котором можно будет размещать устройства вывода. В моём случае (1280×800 и 1280×768) будет логичнее всего будет разместить вертикально, потому что разрешение по горизонтали совпадает:
xrandr --fb 1280x1568 --output CRT1 --mode 1280x768 --pos 0x800
Мы меняем размер «холста» и указываем, где находится crt1. Ман говорит, что можно использовать такие опции как --above-of, --same-as и --left-of, но ручное задание координат гибче.
Отключить CRT1 можно командой:
xrandr --output CRT1 --off
Комментарии (2)
RSS свернуть / развернутьMagi-max
deniska
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.