On Fri, Dec 15, 2017 at 11:48:51AM -0800, Jason Gerecke wrote: > The HAL daemon used by RHEL6/CentOS6 does not play nicely with input > devices that advertise unsupported EV_SW events. Devices with such > an event will fail in the middle of the probe process, preventing > the X server from being able to hotplug the device. The SW_MUTE_DEVICE > event used by the Cintiq Pro touchscreen is such an event. > > To work around this limitation, we can define an fdi configuration file > which resets the "button.has_state" property prior to probe. Because > HAL only runs the failing code when this property is true, the device > is able to finish the probe process just as though it never had the > unsupported switch in the first place. Resetting this property does > prevent HAL from being able to monitor the switch state, but that is > not considered a problem. > > Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
This makes me incredibly sad but given that hal is dead there isn't really another option. I do recommend that distros that ship HAL patch the hal package instead of applying this patch though. Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> Cheers, Peter > --- > conf/Makefile.am | 2 ++ > conf/wacom-preprobe.fdi | 17 +++++++++++++++++ > 2 files changed, 19 insertions(+) > create mode 100644 conf/wacom-preprobe.fdi > > diff --git a/conf/Makefile.am b/conf/Makefile.am > index 5db206e..1fd7988 100644 > --- a/conf/Makefile.am > +++ b/conf/Makefile.am > @@ -6,7 +6,9 @@ endif > > if USE_HAL_FDI > fdipolicydir = $(datadir)/hal/fdi/policy/20thirdparty > +fdipreprobedir = $(datadir)/hal/fdi/preprobe/20thirdparty > dist_fdipolicy_DATA = wacom.fdi > +dist_fdipreprobe_DATA = wacom-preprobe.fdi > endif > > if HAVE_SYSTEMD_UNIT_DIR > diff --git a/conf/wacom-preprobe.fdi b/conf/wacom-preprobe.fdi > new file mode 100644 > index 0000000..b23f452 > --- /dev/null > +++ b/conf/wacom-preprobe.fdi > @@ -0,0 +1,17 @@ > +<?xml version="1.0" encoding="UTF-8"?> > + > +<deviceinfo version="0.2"> > + <device> > + > + <!-- Some Wacom devicees (e.g. Cintiq Pro) have an EV_SW event which is > + unsupported by HAL. To prevent the input prober from failing > + on this event (hal/hald/linux/probing/probe-input.c:79) we > + should pretend that it doesn't exist. --> > + <match key="info.capabilities" contains="button"> > + <match key="info.product" contains_outof="Wacom;WACOM"> > + <merge key="button.has_state" type="bool">false</merge> > + </match> > + </match> > + > + </device> > +</deviceinfo> > -- > 2.15.1 > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel