Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 22 • Страница 1 из 21  2  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

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:
Код:
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes     "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Параметр "Modes" имеет три значения: "1024x768", "800x600", "640x480". На самом деле, эти значения ни что иное, как ссылки на специальный параметр секции "Monitor" - параметр "Modeline". "Modeline" может повторяться столько раз, сколько это нужно, определяя различные варианты работы монитора. Если он явно не указан ни разу, используются значения по умолчанию. Рассмотрим, опять-таки, пример из моего файла xorg.conf:
Код:
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "FLATRON 775F"
        DisplaySize  330        250
        HorizSync    30.0 - 70.0
        VertRefresh  50.0 - 160.0
        Option      "dpms"
        Modeline "1024x768"  96.73  1024 1088 1200 1376  768 769 772 808  -HSync +Vsync
EndSection

В моем случае, я переопределил ссылку на режим "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

Утилита выдаст ответ
Код:
# 1024x768 @ 87.00 Hz (GTF) hsync: 70.30 kHz; pclk: 96.73 MHz
   Modeline "1024x768_87.00"  96.73  1024 1088 1200 1376  768 769 772 808  -HSync +Vsync

который можно напрямую вставить в секцию "Monitor" файла xorg.conf.
Однако ВНИМАНИЕ! Имя ссылки на этот режим называется "1024x768_87.00"! Если Вы хотите использовать его, следует добавить ссылку в набор значений "Modes", например так
Код:
   Modes     "1024x768_87.00" "1024x768" "800x600" "640x480"

Сохранив изменения в файле конфигурации, следует рестартовать Х-сервер. Для этого в графическом режиме нажмите
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. Уточнения/исправления/добавления приветствуются. Пишите или в тему, или личным сообщением.

_________________
Ни один дурак не жалуется, что он такой. Значит, не так уж у них все плохо.



Партнер
 

Member
Статус: Не в сети
Регистрация: 09.04.2004
От себя немного добавлю, если нужно указать какую глубину цвета использовать по умолчанию, то
в том же файле в секции Screen, допишите (измените, если нужно)
строку,
DefaultColorDepth 24

а в подсекции Display, соответствующей указанной глубине цвета
SubSection "Display"
Depth 24

укажите в строке Modes первым название нужного режима (так же из вывода
gtf):
Modes "1024x768_100.00" ....

Сохраните файл и перезапустите X-сервер (alt+ctrl+bksp).


 

Member
Статус: Не в сети
Регистрация: 11.12.2004
Откуда: Москва
Уважаемые участники!
Просьба не задавать вопросы в этой теме, а добавлять только комментарии/исправления.


Done. Daemon

_________________
Ни один дурак не жалуется, что он такой. Значит, не так уж у них все плохо.


 

Member
Статус: Не в сети
Регистрация: 31.03.2005
Откуда: То там, то сям.
А ещё удобно использовать утилитку vidtune. :)

_________________
Относительность относительна.
"Сами Вы, сэр, - осётр!" (с) -=КД=- http://dedov.clan.su


 

Section "Monitor"
Identifier "iiyama"
Option "DPMS"
HorizSync 27-110
VertRefresh 50-160
EndSection

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


 

В Linux есть встроенные утилиты которые редактируют файлы xorg.conf или xfree86.conf. Если у тебя сервер xorg, то запусти из консоли xorgconfig, а если XFree то xfree86conf (точно не помню, наберёшь xfree и нажмёшь tab). После запуска програмы тебе будет предложено выбрать модель карты, разрешение, частоты и т.д. и т.п.


 

в последних fedora/rhel/centos/asplinux в зависимости от версии они называются redhat-config-display и system-config-display


 

Member
Статус: Не в сети
Регистрация: 06.04.2005
В 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 они неправильно заданы и нужно исправить на правильные:
Код:
Section "Monitor"
  ...
  HorizSync 31.5-57.0
  VertRefresh 50-70
EndSection


2. Далее ищем строки
Код:
(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):
Код:
Section "Screen"
  .....
  Subsection "Display"
     ......
     Virtual 800 600
  EndSubsection

EndSection


4. И последнее
Код:
(**) VMWARE(0): *Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
(II) VMWARE(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync
....

Это режимы которые X сервер успешно инициализировал. Выберайте тот который вам больше нравится и прописывайте Modeline в 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

_________________
Thermaltake W0150RE 550W
Asus P5K-E/Wi-Fi-AP\E5300@4.0\ KINGSTON 4*2G .\ Palit 8800GT 1024mb\Samsung 226CW


 

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


 

Member
Статус: Не в сети
Регистрация: 08.03.2004
Откуда: Москва
mrspb писал(а):
[с пингвинами я знаком на уровне... хз... знаю, что hda - это первый неэкстендед раздел Довольный и беззубый ]

не знаешь. hda - это физическое устройство, а первый раздел hda1 и он может быть как экстендед, так и праймари.

_________________
Software is like a sex, it is better when it is free


 

Member
Статус: Не в сети
Регистрация: 11.10.2003
Откуда: Москва, ЮВАО
Пользуюсь FreeBSD, но тем не менее....
Сегодня была подобная проблем и решил довольно просто:
В файле /etc/X11/xorg.conf

VertRefresh 85
#вместо 85 можно поставить нужную частоту развёртки экрана

где Modes необходимое разрешение

P.S. Железо старое, поэтому все параметры определились автоматически (только разрешение ставило по умолчанию 60 Hz:insane:).


 

Также есть куча в интернете генераторов moduline -> гуглить.


 

Member
Статус: Не в сети
Регистрация: 08.03.2004
Откуда: Москва
Lsib_123 писал(а):
Также есть куча в интернете генераторов moduline -> гуглить.

нафига, если есть gtf 1280 960 100

_________________
Software is like a sex, it is better when it is free


 

Member
Статус: Не в сети
Регистрация: 06.05.2004
Откуда: Подмосковье
Пора уже удалить это HOWTO, последние X'ы отказались от xorg.conf.


 

Member
Статус: Не в сети
Регистрация: 09.01.2007
Откуда: Ижевск
Иногда нужно бывает.


 

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


 

Member
Статус: Не в сети
Регистрация: 25.08.2006
Разжуйте пошагово плз для полного чайника. Имеется интернет-машинка с сочетанием Radeon HD2600 + монитор Samtron 76bdf (1024*768@100Гц). На всём этом стоит Kubuntu 12.4. Монитор верой и правдой служил 10 лет под виндой в режиме 1024*768@100Гц. Теперь под линуксом 1024*768@85Гц и больше никак. Думал - каталист поставлю и появится нужная возможность, ан нет, там тоже 85 Гц максимум. На этих 85 Гц сидеть долго невозможно, на сотне - вполне комфортно.
P.S. Можно конечно поставить юзер-френдли винду и не париться, но семёрку на эту машину ставить рука не поднимается, а ХП нынче дырявая как решето :(


 

Member
Статус: Не в сети
Регистрация: 25.08.2006
Тьма помогающих, прям не знаю кого слушать :(


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 22 • Страница 1 из 21  2  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan