Базовая настройка Xorg

Статья последний раз была обновлена 16.05.2023

Подготовительные процедуры

Предполагается, что Xorg установлен. Менеджер графических окружений отключён или не установлен. Опционально можно установить аппаратные драйвера на видеокарту.

Для резервного варианта, если вдруг случится так, что клавиатура и монитор будут заблокированы, советуем установить пакет ssh для удалённого управления по сети, чтобы можно было зайдя с другого компьютера, продиагностировать проблемы. Ещё можно установить файловый менеджер Midnight Commander для удобного редактирования конфигов и просмотра логов:

# apt-get install ssh mc

Также советуем сделать резервную копию xorg.conf, чтобы быстро можно восстановить изначальный вариант настроек:

# cd /etc/X11
# cp xorg.conf xorg.conf.bak

Если менеджер графических окружений работает, то его надо отключить на время производства настроек:
1. Переходим в соседнюю консоль по Ctrl + Alt + F1, Ctrl + Alt + F2 и тд.

Пароль root`а

В некоторых дистрибутивах учётная запись root`а по умолчанию заблокирована. Для разблокировки, следует зайти под зарегистрированным пользователем и выполнить:
$ sudo passwd
, на что система попросит ввести новый пароль root`а и повторить его ввод.

2. Входим в систему под учётной записью root`а и выполняем:

# /etc/init.d/gdm3 stop

Возможно что сессия в этой консоли завершится. Следует снова сделать вход. Теперь временно отключаем менеджер графических окружений из автозапуска, поскольку возможен вариант несколько раз перезагрузить машину, а менеджер будет только мешаться. Для отключения, выполняем:
для Debian:

# insserv -r -v gdm3

3. После проведения всех настроек Xorg, и восстановления работоспособности менеджера выполняем:
для Debian:

# insserv -v gdm3

Xorg без применения аппаратных драйверов

Это может быть базовый графический режим или framebuffer. Если установлены аппаратные драйвера, то создание базового конфигурационного файла для Xorg производится собственными средствами в составе пакетов с драйверами.

По умолчанию, файла конфигурации находится здесь: /etc/X11/xorg.conf , и отдельные секции могут быть разделены в отдельные файлы (вспомнить каталог). Также по умолчанию, в большинстве современных дистрибутивов xorg.conf не создаётся автоматически, а процесс конфигурирования полностью автоматизирован: X-сервер подбирает модули\драйверы на основе данных о мониторе и выставляет самые качественные параметры. Но достаточно часто бывает так, что автоматика не срабатывает и приходится самому создавать xorg.conf. Если файл xorg.conf существует в /etc/X11/ , то автоматика отключается и все настройки берутся из него.

Шаг 1. Создание базового xorg.conf

Для создания базового конфига, переходим в какой-нибудь каталог и выполняем команду:

# Xorg -configure

В процессе выполнения Xorg просканирует оборудование, с которым будет работать, опробует модули, и создаст в текущем каталоге файл xorg.conf.new с настройками по умолчанию для текущей версии Xorg и рабочей комбинацией оборудования.

Шаг 2. Опробование конфигурации

Теперь опробуем текущую конфигурацию — запустим иксы с этим конфигом:

# Xorg -config xorg.conf.new

После ввода, запустится Xorg-сервер с параметрами из файла конфига. Если всё нормально, то текстовая консоль должна смениться чёрным экраном. Нажимаем комбинацию Ctrl + Alt + BackSpace и возвращаемся в консоль. Возможен вариант, что машина зависнет — пробуем перейти в соседнюю локальную консоль Alt + F1 или Alt + F2 и тд. и завершить работу X-сервера.

Если применить ключ -retro, то вместо пустого экрана появится курсор мыши и экранная заставка:

# Xorg -retro -config xorg.conf.new

Выход из режима по Ctrl + Alt + BackSpace , либо через переход в ту текстовую консоль, откуда был сделан запуск через Alt + F1 или Alt + F2 и тд., и нажатие на Ctrl + C.

Шаг 3. Правка конфигурации и опробование вместе с графической средой

Если тестовое опробование прошло успешно, можно скопировать xorg.conf.new в /etc/X11/xorg.conf и опробовать с запуском графической среды.

Инсталлируем какую-нибудь графическую среду: GNOME, KDE, Xfce, twm и тд. В домашнем каталоге пользователя создаём файл .xinitrc . В зависимости от среды добавляем одну из таких команд (не забудьте раскомментировать нужную):

# exec lxsession
# exec twm
# exec ck-launch-session gnome-session
# exec gnome-session
# exec xfce4-session
# exec enlightenment
# exec e16
# exec jwm
# exec icewm
# exex fluxbox
# exec wmii
# exec fvwm

и из консоли стартуем сессию:

$ startx

Если всё нормально — должна запуститься графическая среда. Для завершения работы, через меню серды переходим по «Logout» или «Завершить сессию«. Можно также воспользоваться комбинацией: Ctrl + Alt + BackSpace.

С применением драйверов nVidia

После установки драйвера, необходимо поставить nvidia-xconfig и запустить без параметров. В текущем каталоге (или в /etc/X11/XF86Config ) будет создан базовый конфиг. В дальнейшем, для настройки видеокарты нужно доустановить пакет nvidia-settings и настраивать адаптер в Gnome через: Приложения > Системные > NVIDIA XServer Settings. Эти программы будут сами редактировать /etc/X11/xorg.conf

С применением драйверов ATI

Создание базового конфига для xorg.conf

# aticonfig --initial

Если в системе работает «двухголовая» видеокарта и подключено 2 монитора, то базовый xorg.conf создаётся так:

# aticonfig --initial=dual-head

В дальнейшем, процесс аналогичен как и с базовой конфигурацией. Настройка параметров адаптера производится собственной программой.

С применением драйверов для VIA

К сожалению, для интегрированных видеоадаптеров на чипах VIA, нет аппаратных драйверов в ядре версии 2.6.23. В режиме совместимости и без аппаратного ускорения можно запустить другие модули и драйвера в составе Xorg и ядер 2.6. Процедура настройки аналогична как и для работы без аппаратных драйверов — X-сервер выберет оптимальную конфигурацию, после чего нужно будет её опробовать. Достаточно часто бывает проблема с этими адаптерами, котороя заключается в несоответствии частот и разрешений для монитора. Для настройки читайте материал ниже.

Дополнительная настройка

Режимы, частоты и разрешения

В некоторых случаях не совсем корректно отрабатывает автонастройка параметров X-сервера и монитор выходит за пределы своих рабочих параметров. Чтобы выставить X-серверу конкретные параметры работы монитора, существует секции Monitor и Screen. Пример:

# Section "Monitor"
#Identifier "Monitor0"
#VendorName "Monitor Vendor"
#ModelName "Monitor Model"
#EndSection
Section "Monitor"
 Identifier "Benq_FP91G+"
 HorizSync 31-81
 VertRefresh 56-76
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
DefaultDepth 24
# Monitor "Monitor0"
 Monitor "Benq_FP91G+"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x600" "1024x768" "1280x1024"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "800x600" "1024x768" "1280x1024"
EndSubSection
EndSection

Разберём по порядку.
Секция Monitor
Обратите внимание, что стандартная секция Monitor заремарена и создана секция ниже, где указано имя монитора и его параметры. Имя монитора должно быть уникальным и не обязательно должно совпадать с названием и моделью. Это же имя применяется в секции Screen для привязки монитора к разрешению. Параметры монитора (его частоты) нужно смотреть в инструкции по эксплуатации по монитору (или на сайтах производителей).

 HorizSync 31-81 # Частота горизонтальной развёртки (частота строк) в килогерцах
 VertRefresh 56-76 # Частота вертикальной развёртки (частота кадров) в герцах.

Секция Screen
В этой секции идёт привязка «экрана» к видеоадаптеру и монитору.

Identifier "Screen0"
Device "Card0" # Видеокарта номер ноль
DefaultDepth 24 # Глубина цвета по умолчанию - 24 бит
 Monitor "Benq_FP91G+" # Название монитора должно совпадать с названием в секции Monitor
...
 SubSection "Display" # Здесь указываются рабочие параметры для глубины цвета 24 бит
Viewport 0 0
Depth 24
Modes "800x600" "1024x768" "1280x1024"
EndSubSection
....

Посмотрите на конфиги — если кратно то здесь выполнена такая установка: описан монитор с именем Benq_FP91G+ и параметрами его работы, определена глубина цвета по умолчанию и описаны возможные режимы работы монитора на этой глубине цвета: «800×600» «1024×768» «1280×1024». Всё это привязано к видеокарте Card0.

После запуска, X-сервер прочитает конфиг и выберет самые максимальные переметры. Если разрешения «1280×1024» многовато, то этот режим можно исправить в настройках дисплея в графическом окружении, либо, если графическое окружение не позволяет это сделать, нужно подкорректировать xorg.conf и убрать упоминание об этом режиме на этой глубине цвета.

В секции Monitor параметры также можно описать с помощью строки ModeLine, но её нужно вычислять и также, исходя из параметров монитора. Пример:

Section "Monitor"
 Identifier "Benq_FP91G+"
 HorizSync 31-81
 VertRefresh 56-76
 ModeLine "1280x1024" 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +HSync +VSync
EndSection

Ресурсы, где можно взять информацию или готовые строки ModeLine:

Если нет драйвера

В крайнем случае, никак ничего не работает, можно попробовать драйвер Vesa. Открываем на редактирование xorg.conf. Находим секцию Device и изменяем опцию Driver:

Section "Device"
 ...
Identifier "Card0"
Driver "openchrome"
VendorName "VIA Technologies, Inc."
BoardName "CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro]"
BusID "PCI:1:0:0"
EndSection
Section "Device"
 ...
Identifier "Card0"
Driver "vesa"
VendorName "VIA Technologies, Inc."
BoardName "CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro]"
BusID "PCI:1:0:0"
EndSection

Возможно придётся подкорректировать частоты и режимы для монитора.

Разрешение проблем

Если возникли проблемы в работе X-сервера, первым делом нужно обратиться к его логам: /var/log/Xorg.0.log (где 0 здесь — это номер сессии), и просмотреть его на предмет ошибок.

Если информации недостаточно, можно запускать X-сервер в режиме подробного логгирования:

$ Xorg --verbose

, и снова проанализировать лог.

В некоторых случаях, бывает проблема с идентификацией модели видеокарты. Здесь поможет команда lspci, которая выводит информацию о периферии.

Губарь Маргарита Александровна

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *