Launchpad Entry: desktop-lucid-xorg-halsectomy
In our vendetta to move away from hal, handling X.org input devices is one of the last items.
TODO when spec is beta.
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).
- 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
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.
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.
TODO when spec is beta.