About hal support in server-1.4-branch

Paulo Cesar Pereira de Andrade pcpa at mandriva.com.br
Thu Nov 22 06:22:02 PST 2007


  Hi,

  Recently we updated Mandriva cooker to server-1.4-branch, so, this
in is email I should give some feedback and suggestions.

  First, maybe it should not be in what one would expect, based on the
tag name, as a "bug fixes only" branch :-) But the details:

  I had some reports of people having all kinds of weird problems,
while I was not experiencing any of those. But the reason is that I
use a more customized setup, and did not have the x11-driver-input-evdev
package installed, and this single fact would basically disable the
config/hal.c code.

  But the major problem I see is that, if there is an "InputDevice" in
xorg.conf, the X Server will use it, and, the hal code will also work,
and weird things will happen, like 2 instances of an input device. At
best one would have the problem I was having that is, pressing a mouse
button would always generate a double click :-)

  I am attempting to make a patch, fix the problem without doing the
"simple" fix of disabling hal and waiting to see how it evolves..., so
I would like to know if others used some different approach, or if
there is work in progress.

  One of the major problems to make a "temporary" patch, until xorg.conf
becomes obsolete would be merge xorg.conf options and hal properties,
giving preference to xorg.conf. But the major problem is that there isn't
a mapping from hal devices to xorg.conf devices. A simple guess of
keyboard/mouse can be done, but I am not sure about other devices, or
any "xorg.conf" device that uses a driver other than "kbd" or "mouse".
I considered to do something like:
  hal:         input.x11_identifier = "Mouse1"
  xorg.conf:   Option "hal_udi" 
"/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input"
  This way, code in the X Server could know that both specify the same
hardware, and don't try to have two instances of the same (or different)
input module(s) managing the same device. But this would require some
"guessing" and asking the user for confirmation isn't an option.

  One could ignore xorg.conf "InputDevice" section (what I believe should
not be done now), but then, what to do if hal is misconfigured or
something like the proper x11_driver ins't installed? Start the X Server
without a keyboad input module?

  What would be the proper method of configuring hal? Using
hal_get_property, hal_set_property, and similar tools? i.e. using the
example above, when I run something like:
$ hal-get-property --udi 
/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input
--key input.x11_driver
I get the response:
mouse
  But this is because I am working on a patch that tries to merge
xorg.conf options with hal.
  Another option, could be to use the similar of
"hal-device --remove <udi>"
if the device exists in xorg.conf, but this just comes back to the fact
that there isn't a mapping from hal devices to xorg.conf devices.

  Any comments?

Thanks,
Paulo




More information about the xorg mailing list