• Peter Hutterer's avatar
    Allow compile-time selection of a fallback input driver · a3922cf7
    Peter Hutterer authored
    A new --with-fallback-input-driver=foo option allows selecting a
    fallback driver for the server if the driver configured for the device
    is not found.  Note that this only applies when the device has a driver
    assigned and that module fails to load, devices without a driver are
    ignored as usual.
    
    This avoids the situation where a configuration assigns e.g. the
    synaptics driver but that driver is not available on the system,
    resulting in a dead device. A fallback driver can at least provides some
    functionality.
    
    This becomes more important as we move towards making other driver true
    leaf nodes that can be installed/uninstalled as requested. Specifically,
    wacom and synaptics, a config that assigns either driver should be
    viable even when the driver itself is not (yet) installed on the system.
    
    It is up to the distributions to make sure that the fallback driver is
    always installed. The fallback driver can be disabled with
    --without-fallback-input-driver and is disabled by default on non-Linux
    systems because we don't have generic drivers on those platforms.
    Default driver on Linux is libinput, evdev is the only other serious
    candidate here.
    
    Sample log output:
    [  3274.421] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event4)
    [  3274.421] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad weird driver"
    [  3274.421] (II) LoadModule: "banana"
    [  3274.422] (WW) Warning, couldn't open module banana
    [  3274.422] (II) UnloadModule: "banana"
    [  3274.422] (II) Unloading banana
    [  3274.422] (EE) Failed to load module "banana" (module does not exist, 0)
    [  3274.422] (EE) No input driver matching `banana'
    [  3274.422] (II) Falling back to input driver `libinput'
    .. server proceeds to assign libinput, init the device, world peace and rainbows
    everywhere, truly what a sight. Shame about the banana though.
    Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
    Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
    (cherry picked from commit c69bd15e)
    a3922cf7
Name
Last commit
Last update
Xext Loading commit data...
Xi Loading commit data...
composite Loading commit data...
config Loading commit data...
damageext Loading commit data...
dbe Loading commit data...
dix Loading commit data...
doc Loading commit data...
dri3 Loading commit data...
exa Loading commit data...
fb Loading commit data...
glamor Loading commit data...
glx Loading commit data...
hw Loading commit data...
include Loading commit data...
m4 Loading commit data...
man Loading commit data...
mi Loading commit data...
miext Loading commit data...
os Loading commit data...
present Loading commit data...
pseudoramiX Loading commit data...
randr Loading commit data...
record Loading commit data...
render Loading commit data...
test Loading commit data...
xfixes Loading commit data...
xkb Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
README Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
devbook.am Loading commit data...
docbook.am Loading commit data...
fix-miregion Loading commit data...
fix-miregion-private Loading commit data...
fix-patch-whitespace Loading commit data...
fix-region Loading commit data...
manpages.am Loading commit data...
xorg-server.m4 Loading commit data...
xorg-server.pc.in Loading commit data...
xserver.ent.in Loading commit data...