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, для мышей и touchscreen — evdev, для touchpad - synaptics. Для остальных устройств ввода поддержка input-hotplug не реализована ввиду их отсутствия.

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

Переход на /etc/X11/xorg.conf.d/

Предыдущий пункт уже устарел (кроме AutoAddDevices). Теперь конфигурацию нужно описывать в /etc/X11/xorg.conf.d/

Пример для трекоблла marblemouse. Взято, с изменениями, отсюда. Прокрутка перенесена под большой палец, начинает работать если нажать и удерживать левую маленькую кнопку. Горизонтальная прокрутка закомментирована.

/etc/X11/xorg.conf.d/50-marblemouse.conf

Section "InputClass"
    Identifier      "Marble Mouse"
    MatchProduct    "Logitech USB Trackball"
    MatchIsPointer  "on"
    MatchDevicePath "/dev/input/event*"
    Driver          "evdev"
    Option          "SendCoreEvents" "true"

    #  Physical buttons come from the mouse as:
    #     Big:   1 3
    #     Small: 8 9
    #
    # This makes left small button (8) into the middle, and puts
    #  scrolling on the button after short timeout.
    #
    Option "Buttons"            "9"
    Option "ButtonMapping"      "1 8 3 4 5 6 7 2 9"
    Option "EmulateWheel"       "true"
    Option "EmulateWheelTimeout" "300"
    Option "EmulateWheelButton" "8"
    Option "YAxisMapping"       "4 5"
    #Option "XAxisMapping"       "6 7"

EndSection

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 (сделано)