CoreSystem/Xorg: различия между версиями

Материал из ALT Linux Wiki
м (<s> - "сделано". <s> конфузит)
 
(не показано 12 промежуточных версий 6 участников)
Строка 1: Строка 1:
[[Category:Sisyphus]]
== Sisyphus Core — X.org ==


== Sisyphus Core — X.org ==
<!-- Краткое содержание планов, для вставки в CoreSystem -->
<onlyinclude>
</onlyinclude>


=== Поддержка в актуальном состоянии драйверов (сделано) ===
=== Поддержка в актуальном состоянии драйверов (сделано) ===
Строка 8: Строка 10:
  Provides: XORG_ABI_XINPUT = X.X
  Provides: XORG_ABI_XINPUT = X.X


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


Использование в xorg-drv-XXX:
Использование в xorg-drv-XXX:
Строка 22: Строка 24:
и убрать все упоминания <tt>InputDevice</tt>.
и убрать все упоминания <tt>InputDevice</tt>.


Для клавиатур используется драйвер <tt>kbd</tt>, для мышей — <tt>evdev</tt>.  
Для клавиатур используется драйвер <tt>kbd</tt>, для мышей и touchscreen — <tt>evdev</tt>, для touchpad - <tt>synaptics</tt>.
Для остальных устройств ввода поддержка input-hotplug не реализована ввиду их отсутствия. Драйвер <tt>wacom</tt> (текущая версия 0.8.0) не поддерживает input-hotplug.
Для остальных устройств ввода поддержка input-hotplug не реализована ввиду их отсутствия.
 
Все настройки/изменения умолчаний для клавиатуры прописываются в <tt>/etc/hal/fdi/policy/10-x11-input.fdi</tt>.
 
=== Переход на /etc/X11/xorg.conf.d/ ===
 
Предыдущий пункт уже устарел (кроме AutoAddDevices). Теперь конфигурацию нужно описывать в /etc/X11/xorg.conf.d/
 
Пример для трекоблла marblemouse. Взято, с изменениями, [https://help.ubuntu.com/community/Logitech_Marblemouse_USB  отсюда]. Прокрутка перенесена под большой палец, начинает работать если нажать и удерживать левую маленькую кнопку. Горизонтальная прокрутка закомментирована.


Все настройки/изменения умолчаний прописываются в <tt>/etc/hal/fdi/policy/10-x11-input.fdi</tt>.
/etc/X11/xorg.conf.d/50-marblemouse.conf


==== Документированные грабли ====
<pre>
* при остановке hal’a устройства ввода не удаляются, при запуске hal’а они добавятся заново
Section "InputClass"
* в некоторых случаях при переключении в консоль и обратно могут наблюдаться странности из-за драйвера evdev
    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
</pre>


=== Alterator-X11 ===
=== Alterator-X11 ===
Поиск видео драйвера в <tt>/usr/share/hwdatabase/videoaliases/*.xinf</tt> пора уже считать ересью. Видео драйвер запрашивается одной командой у hal:
Поиск видео драйвера в <tt>/usr/share/hwdatabase/videoaliases/*.xinf</tt> пора уже считать ересью. Видео драйвер запрашивается одной командой у hal (который уже тоже признан ересью):
  $ hal-get-property --udi $(hal-find-by-capability --capability vga) --key video.x11_driver
  $ hal-get-property --udi $(hal-find-by-capability --capability vga) --key video.x11_driver
Для конвертации <tt>xinf</tt> в <tt>fdi</tt> существует скрипт <tt>xinf2fdi</tt>, взять его можно в git (например в драйвере intel, использование есть в спекфайле).
Для конвертации <tt>xinf</tt> в <tt>fdi</tt> существует скрипт <tt>xinf2fdi</tt>, взять его можно в git (например в драйвере intel, использование есть в спекфайле).
Строка 39: Строка 72:
  sed -ne "s|^[[:space:]]*input.x11_options.\(.*\)[[:space:]]=[[:space:]]'\(.*\)'[[:space:]].*|Options \"\1\" \"\2\"|p"</nowiki>
  sed -ne "s|^[[:space:]]*input.x11_options.\(.*\)[[:space:]]=[[:space:]]'\(.*\)'[[:space:]].*|Options \"\1\" \"\2\"|p"</nowiki>


=== Обновление Xorg до версии 7.4 ===
=== Обновление Xorg до версии 7.4 (сделано) ===


* [http://xorg.freedesktop.org/wiki/ReleaseSchedule http://xorg.freedesktop.org/wiki/ReleaseSchedule]
* [http://xorg.freedesktop.org/wiki/ReleaseSchedule http://xorg.freedesktop.org/wiki/ReleaseSchedule]
* X.Org 7.4 tracker [http://bugs.freedesktop.org/show_bug.cgi?id=10101 http://bugs.freedesktop.org/show_bug.cgi?id=10101]
* X.Org 7.4 tracker [http://bugs.freedesktop.org/show_bug.cgi?id=10101 http://bugs.freedesktop.org/show_bug.cgi?id=10101]
{{CoreSystem-nav}}

Текущая версия от 19:46, 7 февраля 2011

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