XorgHalsectomy

Summary

In our vendetta to move away from hal, handling X.org input devices is one of the last items.

Release Note

TODO when spec is beta.

Rationale

Hal is being deprecated and is not maintained upstream any more. It has a lot of design and maintenance problems, takes extra time on boot, and most things in Ubuntu's default installation do not use it any more. Applications should use udev directly nowadays, which also has all the information about devices, and similar customization mechanisms (through udev rules).

Design

  • Switch X.org to detect input devices from udev instead of hal.
  • Create udev rules to set proper attributes (driver, keyboard layout, touchpad quirks, etc.) to input devices, corresponding to the current hal fdi files.
  • Upgrade to new wacom tablet driver which does not rely on faking multi-device devices in hal

  • Test other less common input devices (like touch screens); drivers which rely on an one-to-one correspondence to physical input/eventX devices should just require fdi → udev rules adaptions
  • If there are insurmountable regressions, make the call before beta-1 whether to keep this, or revert to hal

Implementation

X.org

Julian Cristau, an X.org Debian maintainer, created a branch for using udev for input device detection, and discussed it upstream. It now became an official 1.8 goal, and the branch was generally well received.

Dan Nicholson proposed and posted patches for a new device input configuration system that does not rely on hal fdi files or udev rules http://lists.x.org/pipermail/xorg-devel/2009-October/002484.html

We need to backport this branch to 1.7, which is the planned X.org server version for Lucid.

udev rules

  • Keyboards: The main thing that needs to be configured here is the keyboard layout/model/variant/options. This was previously done with /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi and /usr/lib/hal/debian-setup-keyboard. MartinPitt wrote an udev rule to replace those and use -evdev by default for all input devices and apply the configured system keyboard layout. Later udev rules can then overwrite the driver for particular devices (similar to what happened with hal).

  • Mice: Real mice do not generally need configuration and should work with -evdev without any special udev rules. There were no specific hal fdi rules either.

  • synaptics touchpads:: These need to be identified as such, and switched to use the synaptics driver. On some models they also need particular quirks applied. MartinPitt wrote udev rules for those which correspond to the hal fdi files.

  • wacom: The latest upstream version dropped the requirement for faking multiple devices in hal with fdi files and instead does the detection all by itself. We need to upgrade to that version, and test it.

Test/Demo Plan

TODO when spec is beta.


CategorySpec

DesktopTeam/Specs/Lucid/XorgHalsectomy (last edited 2009-11-26 14:14:01 by mbiebl)