Автор Тема: Как поставить разрешение экрана, отсутствующее в списке доступных режимов  (Прочитано 18746 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн greg

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 214
  • восемь бед, один ресет...
    • ТРЦ Жигалово
Итак обо всем по порядку...

XRandR — расширение X сервера, позволяющее производить настройки режимов работы мониторов. Например, можно изменить разрешение, вывести изображение на внешний монитор, повернуть изображение и тому подобное. Утилита часто полезна для настройки корректного разрешения при подключении к внешнему монитору или телевизору.

шаг 1
user@user-desktop:~/Рабочий стол$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096
VGA1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0*+   75.0     72.0 
   1152x864       75.0 
   1024x768       75.1     70.1     60.0 
   832x624        74.6 
   800x600        72.2     75.0     60.3 
   640x480        72.8     75.0     66.7     60.0 
   720x400        70.1 
   640x350        70.1 
   1600x900_60.00   59.8 
user@user-desktop:~/Рабочий стол$


Смотрим...
Видим список интерфейсов по которым могут быть подключены мониторы и доступные режимы работы монитора (разрешение и частота смена кадров в герцах).
   
Действительно нашего 1280х720 нет

Вообще это нам надо посмотреть чтобы потом знать куда лепить новый режим будем...

Здесь тока 1 интерфейс VGA1

шаг2

Добавляем режим с разрешением 1280х720  и 60 Гц (сами потом определитесь я 60 сделаю) частотой для монитора, подключённого по VGA1.
 
Режима ещё не существует, сначала вызываем утилиту CVT (Coordinated Video Timing) с необходимым разрешением и частотой кадров в качестве параметров (в качестве примера добавим режим 1280х720 при 60Гц):

user@user-desktop:~/Рабочий стол$ 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

шаг 3

Далее мы скопируем всё, что после Modeline при вызове xrandr с ключём создания нового режима:

user@user-desktop:~/Рабочий стол$ xrandr --newmode "1280x720_60.00"   74.50  1280 1344 1472 1664  720 723 728 748 -hsync +vsync


 "1280x720_60.00"  - это типа имя нового режима можно хоть редькой назвать, потом просто по нему и обращаться

шаг 4

Теперь "лепим" созданный режим к нужному интерфейсу (в нашем примере к VGA1):

user@user-desktop:~/Рабочий стол$ xrandr --addmode VGA1 1280x720_60.00

шаг 5

Наконец, мы можем выбрать нужное нам разрешение для монитора:

user@user-desktop:~/Рабочий стол$ xrandr --output VGA1 --mode 1280x720_60.00


красотиша (особенно у меня на квадратном мониторе)

ну и автоматизация
это все типа на одну сессию работат

поэтому делаем скрипт и "лепим" его в автозагрузку

#!/bin/bash
xrandr --newmode  "11280x720_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
xrandr --addmode VGA1 11280x720_60.00
xrandr --output VGA1 --mode 11280x720_60.00

для остальных фейсов все аналогично....


 
« Последнее редактирование: Февраль 07, 2013, 06:13:26 от greg »
«Железо»: та часть компьютера, которую можно пнуть, в отличие от программного обеспечения, которое можно только обматерить.

Оффлайн calambus

  • Местный
  • *****
  • Сообщений: 1465
  • calambus@jabber.ru
Коллега greg , у меня имеется в наличии ЖК монитор SAMSUNG 17" 4:5 , модедель не известна , отсутствует лицевая панель с кнопками управления , но в рабочем состоянии ...
Система его определить не может и выставляет максимальное разрешение 1024x768 .

Цитировать (выделенное)
user@runtu-desktop:~$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096
DVI-I-1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0  
   800x600        60.3     56.2  
   848x480        60.0  
   640x480        59.9  
TV-1 disconnected (normal left inverted right x axis y axis)
После последовательного выполнения следующих команд :
Цитировать (выделенное)

 user@runtu-desktop:~$ cvt 1280 1024 60  # Вычисление Modeline (CVT)
  # 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz
  Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync

$ xrandr --newmode  "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
$ xrandr --addmode DVI-I-1 1280x1024_60.00
$ xrandr --output DVI-I-1 --mode 1280x1024_60.00
выставляется разрешение : 1280x1024_60.00
Цитировать (выделенное)
user@runtu-desktop:~$ inxi -G
           Graphics:  Card: NVIDIA NV44A [GeForce 6200]
           X.Org: 1.11.3 drivers: nouveau (unloaded: fbdev,vesa) Resolution: 1280x1024@59.9hz
           GLX Renderer: Gallium 0.4 on NV4A GLX Version: 2.1 Mesa 8.0.4
Существует ещё одна утилита для расчёта Modeline - GTF , но её вывод немного отличается :
Цитировать (выделенное)
user@runtu-desktop:~$ gtf 1280 1024 60 # Вычисление Modeline (GTF)
  # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
  Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync

В связи с этим вопрос : каким образом и куда конкретно прописать скрипт в автозагрузку
или оформить это разрешение в файле xorg.conf ?
« Последнее редактирование: Февраль 07, 2013, 23:25:17 от calambus »
опыт увеличивается пропорционально количеству выведенных из строя Систем и оборудования...
Руководство по добавлению изображений на Форум

Оффлайн greg

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 214
  • восемь бед, один ресет...
    • ТРЦ Жигалово
cvt так же как и gtf - графические калькуляторы modeline. Можно пользоваться и тем и другим (перегружать менуал не стал это вообще ответ вот сюда http://forum.runtu.org/index.php/topic,3529.0.html)

Бывает cvt так же как и gtf генерируют не правильные modeline. Правильный modeline находится например в powerstrip – такая утилитка но для windows...

Я обычно с этим сильно не замаорачиваюсь (при эксперементах) даю в консоли сначала комманду xrandr --output VGA1 --mode 1152x864 (разрешение со списка явно поддерживаемых) консоль запомнила. Далее пробую проверить то, что навысчитывали... Если но суппорт частота и монитор черный в слепую стрелку вверх и повторяю комманду из памяти консоли (и снова картинка на месте) Но это очень редко бывает...  

А далее явно помогает частоту на 59 например сдвинуть и пересчитать...

Ещё такая пьянка если все это дело работает например через проектор если сразу без задержки в автозагрузке выполнить скрипт  (то проектор или ... знает чего не успевает перестроится и разрешение не то что было с консоли...) Тогда задержку ставлю в автозагрузке секунд на 5...





Про  xorg.conf  вписывать сам не пробывал (скрипт проще мне сделать - эффект тот же). Вообще изначально когда в организациях dvd не было делал сборку так - брал дистр на cd и на флешку делал локальную репу и скрипт автодоустаноки по (с отключением нета выбором по)...

Ещё слышал про ~/.xprofile может кто уже имел практику настройки того или другого и с нами поделится опытом...

--------------------------------------------------------------------------------------------------------------------
можно ещё дополнить верх

Режимы работы с несколькими мониторами

Отключение дисплея

 Отключить не нужный в данный момент дисплей можно с помощью опции --off:

xrandr --output LVDS1 --off
 
— отключаем монитор ноутбука.

Расположение мониторов относительно друг-друга

xrandr --output VGA1 --right-of LVDS1

 — монитор, подключённый по VGA1 будет располагаться "справа" от монитора ноутбука (переходить на внешний монитор
необходимо будет через правый угол монитора ноутбука).
 Аналогично используется опция --left-of
xrandr --output LVDS1 --primary
 — монитор ноутбука становится основным.
 
Чтобы сделать виртуальный экран большего разрешения, чем физический (в таком режиме, чтобы увидеть всё изображение необходимо будет передвигать курсор за границы) применяем команду:
xrandr --output LVDS1 --mode 1024x600 --fb 1280x720 --panning 1280x720

 После этого у вас будет виртуальное разрешение 1280x720 при 1024x600 физическом.

Поворот

 Используйте следующие опции применительно к нужному интерфейсу:

--rotate normal

--rotate left

--rotate right

--rotate inverted (поворот на Пи радиан)




« Последнее редактирование: Февраль 08, 2013, 04:45:03 от greg »
«Железо»: та часть компьютера, которую можно пнуть, в отличие от программного обеспечения, которое можно только обматерить.

Оффлайн calambus

  • Местный
  • *****
  • Сообщений: 1465
  • calambus@jabber.ru
Ссылка по теме : Xrandr и работа с экраном и мониторами

Попрбовал ещё и такой способ : Запуск иксов на Debian/Ubuntu без физически подключенного монитора ,
в этом варианте выставляется нужное разрешение 1280x1024 , но выставляется драйвер vesa :
/etc/X11/xorg.conf

Section "Device"
Identifier "VNC Device"
Driver "vesa"
EndSection

Section "Screen"
Identifier "VNC Screen"
Device "VNC Device"
Monitor "VNC Monitor"
SubSection "Display"
Modes "1280x1024"
EndSubSection
EndSection

Section "Monitor"
Identifier "VNC Monitor"
HorizSync 30-70
VertRefresh 50-75
EndSection

$ inxi -G
Graphics:  Card: NVIDIA NV18 [GeForce4 MX 4000] X.Org: 1.12.4 driver: vesa Resolution: 1280x1024@61.0hz
   GLX Renderer: Gallium 0.4 on llvmpipe (LLVM 0x209) GLX Version: 2.1 Mesa 8.0.5

$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 320 x 400, current 1280 x 1024, maximum 1280 x 1024
default connected 1280x1024+0+0 0mm x 0mm
   1280x1024      61.0*
   1024x768       76.0  
   800x600        73.0  
   640x480        73.0  
   640x400         0.0  
   320x400         0.0  

и получается небольшой сдвиг в левую сторону изображения на экране монитора .
« Последнее редактирование: Февраль 10, 2013, 16:10:57 от calambus »
опыт увеличивается пропорционально количеству выведенных из строя Систем и оборудования...
Руководство по добавлению изображений на Форум