CoreSystem/Xorg

Материал из ALT Linux Wiki


Sisyphus Core — X.org

Поддержка в актуальном состоянии драйверов (сделано)

От версии к версии xorg-server X.Org Video Driver ABI/X.Org XInput Driver ABI частенько меняется. Для более простого отслеживания изменения ABI в xorg-server добавлены:

Provides: XORG_ABI_VIDEODRV = X.X
Provides: XORG_ABI_XINPUT = X.X

в xorg-sdk сделаны rpm макросы %get_xorg_abi_xinput, %get_xorg_abi_videodrv.

Использование в xorg-drv-XXX:

Requires: XORG_ABI_XINPUT = %get_xorg_abi_xinput

или

Requires: XORG_ABI_VIDEODRV = %get_xorg_abi_videodrv

соответственно для драйвера устройства ввода и видео драйвера.

Перевод устройств ввода на input-hotplug (сделано)

Начиная с версии 1.4.2 xorg-server собран с поддержкой input-hotplug. По умолчанию input-hotplug выключен, для его включения в xorg.conf в секцию ServerFlags необходимо добавить:

Option  "AutoAddDevices" "true"

и убрать все упоминания InputDevice.

Для клавиатур используется драйвер kbd, для мышей — evdev. Для остальных устройств ввода поддержка input-hotplug не реализована ввиду их отсутствия. Драйвер wacom (текущая версия 0.8.0) не поддерживает input-hotplug.

Все настройки/изменения умолчаний прописываются в /etc/hal/fdi/policy/10-x11-input.fdi.

Документированные грабли

  • при остановке hal’a устройства ввода не удаляются, при запуске hal’а они добавятся заново
  • в некоторых случаях при переключении в консоль и обратно могут наблюдаться странности из-за драйвера evdev

Alterator-X11

Поиск видео драйвера в /usr/share/hwdatabase/videoaliases/*.xinf пора уже считать ересью. Видео драйвер запрашивается одной командой у hal:

$ hal-get-property --udi $(hal-find-by-capability --capability vga) --key video.x11_driver

Для конвертации xinf в fdi существует скрипт xinf2fdi, взять его можно в git (например в драйвере intel, использование есть в спекфайле). Кроме того, туда же можно засунуть опции для конкретных чипов, по аналогии с

$ hal-device $(hal-find-by-capability --capability input.keyboard) | \
 sed -ne "s|^[[:space:]]*input.x11_options.\(.*\)[[:space:]]=[[:space:]]'\(.*\)'[[:space:]].*|Options \"\1\" \"\2\"|p"

Обновление Xorg до версии 7.4