[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Call for testers: X with devd backend



On 04/02/2014 22:50, Christoph Egger wrote:
> [    18.389] (II) config/devd: Adding input device Keyboard ()
> [    18.389] (**) Keyboard: Applying InputClass "kbd catchall"
> [    18.389] (II) LoadModule: "kbd"
> [    18.389] (II) Loading /usr/lib/xorg/modules/input/kbd_drv.so
> [    18.390] (II) Module kbd: vendor="X.Org Foundation"
> [    18.390] 	compiled for 1.14.5, module version = 1.8.0
> [    18.390] 	Module class: X.Org XInput Driver
> [    18.390] 	ABI class: X.Org XInput driver, version 19.1
> [    18.390] (II) Using input driver 'kbd' for 'Keyboard'
> [    18.390] (**) Keyboard: always reports core events
> [    18.390] (**) Keyboard: always reports core events
> [    18.390] (**) Option "Protocol" "standard"
> [    18.390] (WW) Option "Device" requires a string value
> [    18.390] (**) Option "XkbRules" "base"
> [    18.390] (**) Option "XkbModel" "pc105"
> [    18.390] (**) Option "XkbLayout" "us"
> [    18.390] (**) Option "config_info" "devd:atkbd0"
> [    18.390] (II) XINPUT: Adding extended input device "Keyboard" (type: KEYBOARD, id 6)

Here your AT keyboard is detected. devd tells X, and X decides that kbd_drv module is to be loaded.

> [   137.035] (II) config/devd: Adding input device 0x1241 USB Keyboard ()
> [   137.036] (**) 0x1241 USB Keyboard: Applying InputClass "kbd catchall"
> [   137.036] (II) Using input driver 'kbd' for '0x1241 USB Keyboard'
> [   137.036] (**) 0x1241 USB Keyboard: always reports core events
> [   137.036] (**) 0x1241 USB Keyboard: always reports core events
> [   137.037] (**) Option "Protocol" "standard"
> [   137.037] (WW) Option "Device" requires a string value
> [   137.037] (**) Option "XkbRules" "base"
> [   137.037] (**) Option "XkbModel" "pc105"
> [   137.038] (**) Option "XkbLayout" "us"
> [   137.038] (**) Option "config_info" "devd:ukbd0"
> [   137.038] (II) XINPUT: Adding extended input device "0x1241 USB Keyboard" (type: KEYBOARD, id 8)

Now your USB keyboard is detected. kbd_drv is already loaded so nothing happens.

> [   158.904] (II) config/dev: removing device 0x1241 USB Keyboard
> [   158.908] (II) UnloadModule: "kbd"

Finally USB keyboard is unloaded, and X decides that kbd_drv must be unloaded :-(

I'm not sure whose fault is this. The devd backend sends the same information HAL did
(please can you verify you had the same problem with HAL?). Apparently X is expected
to keep track of things and only unload the keyboard module when the last keyboard
has been unplugged?

I'm not sure if this expectation is right. This is what the config backend code (in
both HAL and devd extensions) suggests, but the code might be making the wrong assumptions.

Can someone with more knowledge of X tell if the core server code is behaving correctly?

-- 
Robert Millan


Reply to: