Contents
Как настроить нормальную частоту и разрешение? Как рассчитать modeline?
Вообще в век ЖК мониторов и ноутбуков проблема с разрешениями и частотой развертки экрана должна уже исчезнуть. Но на всякий случай на ней следует остановиться поподробнее. Для начала можно попробовать добавить в /etc/X11/xorg.conf нечто такое:
Section "Monitor" Identifier "Monitor0" HorizSync 31.5 - 79.0 VertRefresh 50-90 EndSection
Значения ?HorizSync и ?VertRefresh нужно взять из книжки к монитору. Если это способ по каким-либо причинам не устраивает, можно вычислить нужную modeline и прописать ее. Узнать нужную modeline можно с помощью стандартной утилиты gtf или онлайн калькулятора. В любом случае результат должен быть таким:
$ gtf 1024 768 100 Modeline "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync
Его и вписываем в в xorg.conf в раздел Monitor, чтобы получилось примерно так:
Section "Monitor" Identifier "Monitor0" HorizSync 31.5 - 79.0 VertRefresh 50-90 Modeline "1024x768" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync Option "dpms" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Depth 32 Modes "1024x768" "800x600" EndSubSection EndSection
После перезапуска X-сервера можно провести тонкую настройку (чтобы края не вылезали и т.п.) программой xvidtune - открываем терминал, запускаем в нем xvidtune, когда нам все понравится, жмем apply и получаем в консоли исправленную строчку для modeline. Ее записываем вместо первоначальной.
Что делать, если частоты прописал, а частота обновления экрана по прежнему 60 герц?
Х-сервер перезапустили? Если да, читаем дальше. Есть очень простой, хотя и неочевидный метод, который поможет нам решить данную проблему. Нужно прописать modline под каждое разрешение. Как рассчитывать modeline - смотрите соответствующий вопрос. Метод поможет, например, любителям HoMM-III. Разделы, ответственные за развертку, выглядят так:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "CTX5378" DisplaySize 330 250 HorizSync 30.0 - 72.0 VertRefresh 50.0 - 130.0 ModeLine "1152x864" 108.0 1152 1200 1328 1528 864 865 868 904 +hsync +vsync ModeLine "1024x768" 94.5 1024 1076 1172 1372 768 769 772 812 +hsync +vsync ModeLine "800x600" 56.3 800 832 896 1032 600 601 604 619 +hsync +vsync ModeLine "640x480" 36.0 640 712 768 808 480 485 488 525 -hsync -vsync ModeLine "400x300" 28.1 400 412 444 508 300 304 306 327 +hsync +vsync doublescan ModeLine "320x200" 15.8 320 360 392 396 200 204 206 222 -hsync +vsync doublescan Option "dpms" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 8 Modes "1152x864" "1024x768" "800x600" "640x480" "400x300" "320x200" EndSubSection SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" "640x480" "400x300" "360x200" EndSubSection SubSection "Display" Depth 24 Modes "1152x864" "1024x768" "800x600" "640x480" "400x300" "360x200" EndSubSection EndSection
Частота вне диапазона
Это значит, что Xorg некорректно определяет рабочие частоты монитора. Можно воспользоваться modelline, прощитав и прописав его для всех нужных частот. А можно указать (что значительно проще) в /etc/X11/xorg.conf нужные частоты (или же максимальную) для всех рабочих разрешений. Пример:
Section "Monitor" Identifier "Monitor0" VendorName "LG" ModelName "LG L1719S" HorizSync 30.0 - 83.0 VertRefresh 56.0 - 75.0 Option "DPMS" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 Option "TwinView" "0" Option "TwinViewXineramaInfoOrder" "CRT-0" Option "metamodes" "1280x1024_75 +0+0; 1152x864_75 +0+0; 1024x768_75 +0+0; 832x624_75 +0+0; 800x600_75 +0+0; 640x480_75 +0+0" SubSection "Display" Depth 24 EndSubSection EndSection
Почему не выставляется 32-битная палитра?
Зато есть 24-битная, по восемь бит на каждый канал из RGB, а больше всё равно ваш монитор не умеет. И четвёртый канал для значения прозрачности не поможет вашему дисплею отобразить кусок стенки за ним. 32-битная адресация включается на уровне драйверов автоматически.
Где взять драйвер для монитора?
Нигде. Если вы не в курсе, в "драйверах для монитора" для Windows обычно пишутся его рабочие частоты (которые современные мониторы и так отдают операционной системе с помощью EDID) иногда рабочую температуру цвета, цветовые профили. Кстати, если вы думаете, что у вас нельзя поставить 100Гц вместо 85Гц из-за того, что у вас отсутствуют данные драйверы, то вы ошибаетесь. Виноват драйвер видеокарты (например, такое наблюдается на картах S3).