Как написать файл конфигурации для X11 – раздел макета для выбора экрана

Вопрос или проблема

Согласно этому выводу из /var/log/Xorg.0.log, когда я хочу запустить X, вводя

startx

Вывод показывает следующее.

X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
[  1198.198] Текущая операционная система: Linux stm32-os 6.1.82 #1 PREEMPT Tue Sep 10 21:04:28 CEST 2024 armv7l
[  1198.199] Командная строка ядра: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw   console=ttySTM0,115200
[  1198.199] xorg-server 2:21.1.12-1ubuntu1 (для технической поддержки смотрите http://www.ubuntu.com/support) 
[  1198.199] Текущая версия pixman: 0.42.2
[  1198.199]    Прежде чем сообщать о проблемах, проверьте http://wiki.x.org
    чтобы убедиться, что у вас последняя версия.
[  1198.199] Маркеры: (--) исследуется, (**) из файла конфигурации, (==) настройки по умолчанию,
    (++) из командной строки, (!!) уведомление, (II) информационное,
    (WW) предупреждение, (EE) ошибка, (NI) не реализовано, (??) неизвестно.
[  1198.200] (==) Файл журнала: "/var/log/Xorg.0.log", Время: Пт апр 19 14:44:17 2024
[  1198.202] (==) Используется каталог конфигурации: "/etc/X11/xorg.conf.d"
[  1198.202] (==) Используется системный каталог конфигурации "/usr/share/X11/xorg.conf.d"
[  1198.204] (==) Нет секции Layout.  Используется первая секция Screen.
[  1198.205] (**) |-->Screen "DefaultScreen" (0)
[  1198.205] (**) |   |-->Monitor "<default monitor>"
[  1198.206] (**) |   |-->Device "Mali FBDEV"
[  1198.206] (==) Монитор для экрана "DefaultScreen" не задан.
    Используется конфигурация монитора по умолчанию.
[  1198.206] (**) Разрешение для клиентов с изменённым порядком байтов
[  1198.206] (==) Автоматически добавляются устройства
[  1198.206] (==) Автоматически включаются устройства
[  1198.207] (==) Автоматически добавляются устройства GPU
[  1198.207] (==) Автоматически связываются устройства GPU
[  1198.207] (==) Максимальное количество клиентов: 256, маска ресурсов: 0x1fffff
[  1198.207] (WW) Каталог "/usr/share/fonts/X11/cyrillic" не существует.
[  1198.207]    Запись удалена из пути шрифтов.
[  1198.207] (WW) Каталог "/usr/share/fonts/X11/100dpi/" не существует.
[  1198.207]    Запись удалена из пути шрифтов.
[  1198.207] (WW) Каталог "/usr/share/fonts/X11/75dpi/" не существует.
[  1198.207]    Запись удалена из пути шрифтов.
[  1198.207] (WW) Каталог "/usr/share/fonts/X11/100dpi" не существует.
[  1198.207]    Запись удалена из пути шрифтов.
[  1198.207] (WW) Каталог "/usr/share/fonts/X11/75dpi" не существует.
[  1198.207]    Запись удалена из пути шрифтов.
[  1198.208] (==) Путь шрифтов установлен в:
    /usr/share/fonts/X11/misc,
    /usr/share/fonts/X11/Type1,
    встроенные
[  1198.208] (==) Путь к модулям установлен в "/usr/lib/xorg/modules"
[  1198.208] (II) Сервер полагается на udev для предоставления списка устройств ввода.
    Если устройства недоступны, перенастройте udev или отключите AutoAddDevices.
[  1198.208] (II) Магия загрузчика: 0x5a9008
[  1198.208] (II) Версии ABI модулей:
[  1198.208]    Эмуляция ANSI C X.Org: 0.4
[  1198.208]    Видеодрайвер X.Org: 25.2
[  1198.208]    Драйвер X.Org XInput : 24.4
[  1198.208]    Расширение сервера X.Org : 10.0
[  1198.213] (--) используется номер VT 2

[  1198.213] (II) systemd-logind: Интеграция logind требует -keeptty, и -keeptty не было предоставлено, интеграция logind отключена
[  1198.219] (II) xfree86: Добавление устройства drm (/dev/dri/card0)
[  1198.220] (II) Платформенный опрос для /sys/devices/platform/soc/5a001000.display-controller/drm/card0
[  1198.221] (II) первичный шина или устройство не найдено
[  1198.221]    переходит на /sys/devices/platform/soc/5a001000.display-controller/drm/card0
[  1198.221] (II) LoadModule: "glx"
[  1198.223] (II) Загружается /usr/lib/xorg/modules/extensions/libglx.so
[  1198.232] (II) Модуль glx: поставщик="X.Org Foundation"
[  1198.232]    скомпилирован для 1.21.1.11, версия модуля = 1.0.0
[  1198.232]    ABI класс: Расширение сервера X.Org, версия 10.0
[  1198.232] (II) LoadModule: "armsoc"
[  1198.233] (II) Загружается /usr/lib/xorg/modules/drivers/armsoc_drv.so
[  1198.234] (II) Модуль armsoc: поставщик="X.Org Foundation"
[  1198.234]    скомпилирован для 1.21.1.3, версия модуля = 1.4.1
[  1198.235]    Класс модуля: Видеодрайвер X.Org
[  1198.235]    ABI класс: Видеодрайвер X.Org, версия 25.2
[  1198.235] (II) ARMSOC: Драйвер для чипсетов, совместимых с ARM Mali
[  1198.237] (WW) Повернено к старому методу опроса для armsoc
[  1198.237] (II) Идентификатор BusID или DriverName не указан - открытие /dev/dri/card0
[  1198.237] (II) Получен BusID 5a001000.display-controller
[  1198.238] (II) Открыт DRM
[  1198.238] (II)    Название устройства [/dev/dri/card0]
[  1198.238] (II)    bus_id [5a001000.display-controller]
[  1198.238] (II)    DriverName [stm]
[  1198.238] (II)    версия [1.0.0]
[  1198.238] (II) Экран:0,  CRTC:-1
[  1198.238] (WW) VGA арбитр: не удалось открыть арбитр ядра, поддержка нескольких карт отсутствует
[  1198.239] (II) ARMSOC(0): Создание подпункта отображения по умолчанию в секции экрана
    "DefaultScreen" для глубины/fbbpp 24/32
[  1198.239] (**) ARMSOC(0): Глубина 24, (--) framebuffer bpp 32
[  1198.239] (==) ARMSOC(0): RGB вес 888
[  1198.239] (==) ARMSOC(0): Использование коррекции гаммы (1.0, 1.0, 1.0)
[  1198.239] (==) ARMSOC(0): Визуализация по умолчанию - TrueColor
[  1198.239] (II) Идентификатор BusID или DriverName не указан - открытие /dev/dri/card0
[  1198.239] (II) Получен BusID 5a001000.display-controller
[  1198.239] (II) Открыт DRM
[  1198.239] (II)    Название устройства [/dev/dri/card0]
[  1198.240] (II)    bus_id [5a001000.display-controller]
[  1198.240] (II)    DriverName [stm]
[  1198.240] (II)    версия [1.0.0]
[  1198.240] (II) UnloadModule: "armsoc"
[  1198.240] (EE) Экран(ы) найдены, но ни один из них не имеет подходящей конфигурации.
[  1198.241] (EE) Фатальная ошибка сервера:
[  1198.241] (EE) экраны не найдены(EE) 
[  1198.241] (EE) Пожалуйста, обратитесь в поддержку Фонда X.Org по адресу http://wiki.x.org за помощью. 
[  1198.241] (EE) Также проверьте файл журнала по адресу "/var/log/Xorg.0.log" для получения дополнительной информации.
[  1198.241] (EE) 
[  1198.243] (EE) Сервер завершён с ошибкой (1). Закрытие файла журнала.

Проблема в том, что не удаётся найти секцию Layout. Вместо этого используется экран по умолчанию, который, похоже, не работает, потому что у него нет подходящей конфигурации.

[  1198.202] (==) Используется каталог конфигурации: "/etc/X11/xorg.conf.d"
[  1198.202] (==) Используется системный каталог конфигурации "/usr/share/X11/xorg.conf.d"
[  1198.204] (==) Нет секции Layout.  Используется первая секция Screen.
[  1198.205] (**) |-->Screen "DefaultScreen" (0)
[  1198.205] (**) |   |-->Monitor "<default monitor>"
[  1198.206] (**) |   |-->Device "Mali FBDEV"
[  1198.206] (==) Монитор для экрана "DefaultScreen" не задан. Используется конфигурация монитора по умолчанию.

Вопрос:

Как мне создать файл конфигурации, который мой ядро linux или другое должно прочитать, когда я ввожу startx, чтобы загрузить графический экран?

  1. Как должен выглядеть файл?
  2. Где его следует разместить?
  3. Что должен содержать файл?

Редактировать:

Это происходит на Ubuntu 24.04 LTS armhf

Ответ или решение

Чтобы создать конфигурационный файл для X11, который нормально загрузит графический интерфейс при вводе команды startx, необходимо определить раздел конфигурации Layout, а также другие секции (Screen, Monitor и Device). Ниже приведены пошаговые инструкции по созданию такого файла.

1. Как должен выглядеть файл

Файл конфигурации для X11 обычно называется xorg.conf. Он может содержать следующие секции: Section "Monitor", Section "Device", Section "Screen" и Section "Layout". Приведем пример конфигурационного файла:

Section "Monitor"
    Identifier "DefaultMonitor"
    Option "DPMS"
EndSection

Section "Device"
    Identifier "Mali FBDEV"
    Driver "armsoc"
EndSection

Section "Screen"
    Identifier "DefaultScreen"
    Monitor "DefaultMonitor"
    Device "Mali FBDEV"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080"
    EndSubSection
EndSection

Section "Layout"
    Identifier "DefaultLayout"
    Screen "DefaultScreen"
    Option "DontVTSwitch" "true"
EndSection

2. Где разместить файл

Файл xorg.conf обычно размещается в каталоге /etc/X11/. Вы также можете создать подкаталог /etc/X11/xorg.conf.d/ и добавить файл с конфигурацией в него с расширением .conf. Например, файл можно назвать 10-monitor.conf.

Чтобы использовать основной файл, создайте или редактируйте файл:

sudo nano /etc/X11/xorg.conf

Или для подкаталога:

sudo mkdir -p /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/10-monitor.conf

3. Что должно содержать содержимое файла

В файле должны быть прописаны все необходимые секции:

  • Monitor: Определяет монитор и его параметры. Здесь можно указать опцию DPMS для управления энергосбережением.
  • Device: Указывает на графическую карту и используемый драйвер (в данном случае armsoc для ARM Mali).
  • Screen: Соединяет монитор и устройство, а также задает глубину цвета и режимы.
  • Layout: Определяет используемый экран и систему компоновки.

Пример конфигурационного файла в действии

Вот пример команды, чтобы создать файл конфигурации:

sudo nano /etc/X11/xorg.conf

Затем вставьте вышеуказанный код и сохраните файл.

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

После редактирования конфигурационного файла вы можете перезагрузить X-сервер. Обычно это делается через reboot или через команду:

startx

Если после этих действий графический интерфейс по-прежнему не загружается, желательно проверить логи X-сервера в файле /var/log/Xorg.0.log на наличие ошибок.

Заключение

Если у вас есть проблемы при запуске X11, убедитесь, что ваш графический драйвер и поддерживаемые режимы отображения корректно указаны в файле конфигурации. Неправильные настройки в секции Screen или Device могут привести к ошибкам, таким как «no screens found». Если возникнут дополнительные вопросы, не стесняйтесь обращаться за поддержкой.

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

Капча загружается...