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

Материал из ALT Linux Wiki
 
(не показано 15 промежуточных версий 6 участников)
Строка 1: Строка 1:
[[Category:Sisyphus]]
== Sisyphus Core — X.org ==
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/CoreSystem/Xorg}}


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


=== <s>Поддержка в актуальном состоянии драйверов</s> ===
=== Поддержка в актуальном состоянии драйверов (сделано) ===
От версии к версии xorg-server X.Org Video Driver ABI/X.Org XInput Driver ABI частенько меняется. Для более простого отслеживания изменения ABI в xorg-server добавлены:
От версии к версии xorg-server X.Org Video Driver ABI/X.Org XInput Driver ABI частенько меняется. Для более простого отслеживания изменения ABI в xorg-server добавлены:
'''Provides: XORG_ABI_VIDEODRV = X.X'''
Provides: XORG_ABI_VIDEODRV = X.X
'''Provides: XORG_ABI_XINPUT = 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'''
в xorg-sdk сделаны rpm макросы <tt>%get_xorg_abi_xinput</tt>, <tt>%get_xorg_abi_videodrv</tt>.
 
Использование в xorg-drv-XXX:
Requires: XORG_ABI_XINPUT = %get_xorg_abi_xinput
или
или
'''Requires: XORG_ABI_VIDEODRV = %get_xorg_abi_videodrv'''
Requires: XORG_ABI_VIDEODRV = %get_xorg_abi_videodrv
соответственно для драйвера устройства ввода и видео драйвера
соответственно для драйвера устройства ввода и видео драйвера.
 
=== Перевод устройств ввода на input-hotplug (сделано) ===


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


=== <s>Перевод устройств ввода на input-hotplug</s> ===
Для клавиатур используется драйвер <tt>kbd</tt>, для мышей и touchscreen — <tt>evdev</tt>, для touchpad - <tt>synaptics</tt>.
Начиная с версии 1.4.2 xorg-server собран с поддержкой input-hotplug. По умолчанию input-hotplug выключен, для его включения в xorg.conf в секцию '''ServerFlags''' необходимо добавить:
'''Option  &quot;AutoAddDevices&quot; "true"'''
и убрать все упоминания '''InputDevice'''.
Для клавиатур используется драйвер '''kbd''', для мышей - '''evdev'''.
Для остальных устройств ввода поддержка input-hotplug не реализована ввиду их отсутствия.
Для остальных устройств ввода поддержка input-hotplug не реализована ввиду их отсутствия.
Драйвер '''wacom''' (текущая версия 0.8.0) не поддерживает input-hotplug.
 
Все настройки/изменения умолчаний прописываются в '''/etc/hal/fdi/policy/10-x11-input.fdi'''
Все настройки/изменения умолчаний для клавиатуры прописываются в <tt>/etc/hal/fdi/policy/10-x11-input.fdi</tt>.
<div style="display: inline; color: red;">Документированные грабли:</div>
 
1. при остановке hal'a устройства ввода не удаляются, при запуске hal'а они добавятся заново
=== Переход на /etc/X11/xorg.conf.d/ ===
2. в некоторых случаях при переключении в консоль и обратно могут наблюдаться странности из-за драйвера evdev
 
Предыдущий пункт уже устарел (кроме AutoAddDevices). Теперь конфигурацию нужно описывать в /etc/X11/xorg.conf.d/
 
Пример для трекоблла marblemouse. Взято, с изменениями, [https://help.ubuntu.com/community/Logitech_Marblemouse_USB  отсюда]. Прокрутка перенесена под большой палец, начинает работать если нажать и удерживать левую маленькую кнопку. Горизонтальная прокрутка закомментирована.
 
/etc/X11/xorg.conf.d/50-marblemouse.conf
 
<pre>
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
</pre>


=== Alterator-X11 ===
=== Alterator-X11 ===
Поиск видео драйвера в '''/usr/share/hwdatabase/videoaliases/*.xinf''' пора уже считать ересью. Видео драйвер запрашивается одной командой у 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
Для конвертации xinf в fdi существует скрипт '''xinf2fdi''', взять его можно в git (например в драйвере intel, использование есть в спекфайле)
Для конвертации <tt>xinf</tt> в <tt>fdi</tt> существует скрипт <tt>xinf2fdi</tt>, взять его можно в git (например в драйвере intel, использование есть в спекфайле).
Кроме того, туда же можно засунуть опции для конкретных чипов, по аналогии с '''<nowiki>$ hal-device $(hal-find-by-capability --capability input.keyboard) | sed -ne "s|^[[:space:]]*input.x11_options.\(.*\)[[:space:]]=[[:space:]]'\(.*\)'[[:space:]].*|Options \"\1\" \"\2\"|p"</nowiki>'''
Кроме того, туда же можно засунуть опции для конкретных чипов, по аналогии с
<nowiki>$ hal-device $(hal-find-by-capability --capability input.keyboard) | \
sed -ne "s|^[[:space:]]*input.x11_options.\(.*\)[[:space:]]=[[:space:]]'\(.*\)'[[:space:]].*|Options \"\1\" \"\2\"|p"</nowiki>
 
=== Обновление Xorg до версии 7.4 (сделано) ===
 
* [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]
 


=== Обновление Xorg до версии 7.4 ===
{{CoreSystem-nav}}
[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]

Текущая версия от 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 (сделано)