Member
Статус: Не в сети Регистрация: 11.12.2004 Откуда: Москва
MiniHOWTO
Как изменить частоту развертки монитора в Linux?
Настройки параметров Вашего X-сервера находятся в файле /etc/X11/xorg.conf. Более старые дистрибутивы имеют Х-сервер от команды XFree и файл называется, соответственно, /etc/X11/.XF86Config (или /etc/X11/.XF86Config). Поскольку в конце 2005 года практически все наиболее популярные дистрибутивы содержат Х-сервер от команды x.org, я ограничусь рассмотрением только этого варианта.
Файл xorg.conf состоит из секций, каждая из которых определяет поведение определенного компонента видеоподсистемы. Секция состоит из заголовка (имени), и тела, представляющего собой строки вида "имя"-"значение". Нас будут интересовать две секции - "Monitor" и "Screen".
Начнем с последней секции. Она содержит в себе параметр "Modes" (в подсекции, т.е. секции, вложенной в другую секцию, "Display"), который может принимать одно или несколько значений. Вот, например, как выглядит секция "Screen" в моем файле xorg.conf:
Параметр "Modes" имеет три значения: "1024x768", "800x600", "640x480". На самом деле, эти значения ни что иное, как ссылки на специальный параметр секции "Monitor" - параметр "Modeline". "Modeline" может повторяться столько раз, сколько это нужно, определяя различные варианты работы монитора. Если он явно не указан ни разу, используются значения по умолчанию. Рассмотрим, опять-таки, пример из моего файла xorg.conf:
В моем случае, я переопределил ссылку на режим "1024x768", которая теперь имеет частоту вертикального обновления в 87 Гц, вместо 85 Гц, принятного по умолчанию (хотя это совсем не очевидно, не правда ли?). Возникает два вопроса: откуда берутся значения режимов "Mode" по умолчанию и как создать собственный вариант "Modeline"? Отвечу на них по порядку.
Значения по умолчанию берутся из базы данных мониторов самого X-сервера. Как можно видеть из значения параметров ModelName, DisplaySize, HorizSync, VertRefresh, мой инсталлятор корректно определил, что у имеется модель монитора от LG (Flatron 775 FT) и установил правильные параметры модели (размер видимой области, диапазоны частот горизонтальной синхронизации и вертикального обновления). В принципе, в 99% случаев этого достаточно.Однако я знаю, что мой монитор поддерживает и некоторые нестандартные режимы, с более высоким качеством, которые хотелось бы использовать. Здесь уместно ответить на второй вопрос: как узнать значение параметра "Modeline", отвечающего заданным величинам разрешения и частоты вертикального обновления? Проще всего для этого использовать утилиту gtf. Интересующиеся могут почитать man gtf, я же дам готовый рецепт.
gtf x y refresh где x - горизонтальное разрешение (в пикселях) y - вертикальное разрешение (в пикселях) refresh - желаемая частота вертикального обновления экрана (в Гц)
Например, я получил свою строку написав в командной строке gtf 1024 768 87
который можно напрямую вставить в секцию "Monitor" файла xorg.conf. Однако ВНИМАНИЕ! Имя ссылки на этот режим называется "1024x768_87.00"! Если Вы хотите использовать его, следует добавить ссылку в набор значений "Modes", например так
Сохранив изменения в файле конфигурации, следует рестартовать Х-сервер. Для этого в графическом режиме нажмите
Ctrl-Alt-Backspace.
ВНИМАНИЕ! Все несохраненные данные Вашей графической сессии могут быть утеряны! Будьте бдительны.
Если Ваш X-сервер корректно заработал и монитор не сигнализирует о выходе за пределы допустимого диапазона, то все в порядке. Если же монитор отключился, предохраняясь от ошибок, то перейдите на любую из виртуальных текстовых консолей (при помощи Ctrl-Alt-F{1-6}), отмените изменения в /etc/X11/xorg.conf и вернитесь в графический режим (обычно, X-сервер запущен на 7 виртуальной консоли, на которую переходят нажатием Alt-F7) . Вслепую "убейте" Х-сервер (Ctrl-Alt-Backspace).
Разрешения можно менять "на лету" (фактически, "перемещаясь" по значениям параметра "Modes") нажимая Ctrl-Alt-gray+ (или Ctrl-Alt-gray- )
P.S. Уточнения/исправления/добавления приветствуются. Пишите или в тему, или личным сообщением.
_________________ Ни один дурак не жалуется, что он такой. Значит, не так уж у них все плохо.
От себя немного добавлю, если нужно указать какую глубину цвета использовать по умолчанию, то
в том же файле в секции Screen, допишите (измените, если нужно)
строку,
DefaultColorDepth 24
а в подсекции Display, соответствующей указанной глубине цвета
SubSection "Display"
Depth 24
укажите в строке Modes первым название нужного режима (так же из вывода
gtf):
Modes "1024x768_100.00" ....
Сохраните файл и перезапустите X-сервер (alt+ctrl+bksp).
можно погуглить насчет своей модели и выяснить точные частоты вертикальной и горизонтальной развертки. тогда под заданное разрешение будет автоматом расчитываться частота обновления экрана.
В Linux есть встроенные утилиты которые редактируют файлы xorg.conf или xfree86.conf. Если у тебя сервер xorg, то запусти из консоли xorgconfig, а если XFree то xfree86conf (точно не помню, наберёшь xfree и нажмёшь tab). После запуска програмы тебе будет предложено выбрать модель карты, разрешение, частоты и т.д. и т.п.
В SuSE 10.0 точно, может еще в ранних в средстве настройки разрешения/видеокарты (SaX2) есть возможность брать настройки частотных пределов из дисков с "драйверами" для виндоус (под списками проиводителей и мониторов есть кнопка).
Member
Статус: Не в сети Регистрация: 17.08.2006 Откуда: Донецк
Можно еще воспользоваться файлом /var/log/Xorg.log.
Запускаем X сервер. Даже если он не запустился открываем /var/log/Xorg.log ищем строки:
1.
Код:
(II) VMWARE(0): monitor1: Using hsync range of 31.50-57.00 kHz (II) VMWARE(0): monitor1: Using vrefresh range of 50.00-70.00 Hz
это диапазоны частот вертикальной и горизонтальной развертки, сверяем их с документацией к монитору, если они не совпадают, значит в xorg.conf они неправильно заданы и нужно исправить на правильные:
(II) VMWARE(0): Not using mode "768x576" (vrefresh out of range) (II) VMWARE(0): Not using mode "768x576" (hsync out of range) .....
это режимы которые которые не соответсвуют установленным hsync и vsync, если вы считаете, что ваш монитор способен их поддерживать, попробуйте изменить значения hsync и vsync. Предупреждение: если вы зададите неправильные настройки, ваш монитор может выйти из строя!
3. Далее смотрим
Код:
(II) VMWARE(0): Not using default mode "1024x768" (width too large for virtual size) (II) VMWARE(0): Not using default mode "1024x768" (width too large for virtual size) ....... (**) VMWARE(0): Virtual size is 800x600 (pitch 800)
это режимы которые не соответсвуют установленным размерам виртуального экрана, если вы хотите использовать эти режимы (и если монитор это позволяет) измените размеры виртуального экрана (файл xorg.conf):
Member
Статус: Не в сети Регистрация: 22.06.2003 Откуда: Murmansk
а теперь словами чайника для чайников , по деревенски .
в xorg.conf вообще не нужно лезть пока не установиш драйвер для видеокарты , после установки драйвера и выбора своего монитора в xorg.conf появится строчка Modeline с параметрами 1280 1024 ....
после установки драйвера видеокарты и загрузки в систему
открываем терминал
vim /etc/X11/xorg.conf
далее по insert выбираем замену/редактирование
открываем второй терминал
gtf (пишем требуемое разрешение и герцовку (Вы ведь конечно знаете сколько герц держит ваш монитор при нужном разрешении ))
данные результаты копируем
и вставляем в открытом редакторе vim в xorg.conf в секцию Modeline в аналогии с той строчкой что там уже есть
esc конец редактирования
shift+:
wq (выход с сохранением)
reboot
Member
Статус: Не в сети Регистрация: 08.03.2004 Откуда: Москва
Sergej_G Позволю себе немного поправить:
Sergej_G писал(а):
в xorg.conf вообще не нужно лезть пока не установиш драйвер для видеокарты , после установки драйвера и выбора своего монитора в xorg.conf появится строчка Modeline с параметрами 1280 1024 ....
драйвер есть всегда, и наличие nvidia или fglrx совсем не обязательно, есть вменяемые открытые аналоги. Модлайн от драйвера не появляется, он появляется при реконфигурации xserver-xorg, НО! они уже фактически на грани вымирания, от них отказались и в скором времени они перестанут работать. Драйвер fglx их уже просто игнорирует, другие на подходе.
Sergej_G писал(а):
vim /etc/X11/xorg.conf
vim для новичка смерти подобен. Кстати, строку можно сделать короче, вместо vim набрать vi. Команду надо выполнять от лица суперпользователя (su, sudo). Но удобнее в этом плане будет редактор nano или редактор, входящий в mc. К тому же через gksu и kdesu можно с тем же успехом запустить gedit или kate.
Sergej_G писал(а):
gtf (пишем требуемое разрешение и герцовку (Вы ведь конечно знаете сколько герц держит ваш монитор при нужном разрешении )) данные результаты копируем
утилиту gtf из иксов уже выкинули, на современных дистрибутивах ее встретить еще можно, но уж очень редко.
_________________ Software is like a sex, it is better when it is free
Advanced member
Статус: Не в сети Регистрация: 30.08.2003 Откуда: Санкт-Петербург
У меня ситуация была сложнее. Имеется карточка радеон + элт моник. Ни виндовс, ни линукс по дефолту не смогли установить нормальную частоту развертки. При том, что монитор поддерживает необходимый режим. Система - OpenSUSE 11.3 Пришлось извращаться. 1)~> gtf 1600 1200 85 # 1600x1200 @ 85.00 Hz (GTF) hsync: 107.10 kHz; pclk: 234.76 MHz Modeline "1600x1200_85.00" 234.76 1600 1720 1896 2192 1200 1201 1204 1260 -HSync +Vsync
Получаем строчку Modeline для нужного нам режима 2)~> xrandr -q .... Смотрим текущие доступные режимы. 3)~> xrandr --newmode "1600x1200_85.00" 234.76 1600 1720 1896 2192 1200 1201 1204 1260 -HSync +Vsync добавляем новый режим. Копипаст из вывода gtf 4)~> xrandr --addmode VGA 1600x1200_85.00 добавляем новый режим к нужному нам выходу видеокарты (название выхода брать из шага 2) 5) далее я просто в графическом конфигураторе выбрал наконец-то появившуюся 85Гц развертки, после чего настройка сохранилась. До перезагрузки. Чтобы выбор сохранялся пришлось команды из шагов 3 и 4 запихать в стартовые скрипты системы.
_________________ {:€ дед в законе :-) нородный окодемег почетный пользователь OpenSuSE 11.3 Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad
Разжуйте пошагово плз для полного чайника. Имеется интернет-машинка с сочетанием Radeon HD2600 + монитор Samtron 76bdf (1024*768@100Гц). На всём этом стоит Kubuntu 12.4. Монитор верой и правдой служил 10 лет под виндой в режиме 1024*768@100Гц. Теперь под линуксом 1024*768@85Гц и больше никак. Думал - каталист поставлю и появится нужная возможность, ан нет, там тоже 85 Гц максимум. На этих 85 Гц сидеть долго невозможно, на сотне - вполне комфортно. P.S. Можно конечно поставить юзер-френдли винду и не париться, но семёрку на эту машину ставить рука не поднимается, а ХП нынче дырявая как решето
Сейчас этот форум просматривают: Google [Bot] и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения