CoreSystem/Xorg
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"