libinput is a library to handle input devices in Wayland compositors and to provide a generic X.Org input driver. It provides device detection, device handling, input device event processing and abstraction so minimize the amount of custom input code compositors need to provide the common set of functionality that users expect.

This wiki page provides only basic information, please see the libinput documentation for details.


WARNING: Future releses will not be listed here.

As of 1.20.0 libinput now uses GitLab releases and all future releases will be available there.

Earlier releases

As of the 0.12 release, the API/ABI is stable.

0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.14.1, 0.15.0, 0.16.0, 0.17.0, 0.18.0, 0.19.0, 0.20.0, 0.21.0, 0.99.1

git Repository



Source tarballs are available


See the Documentation for details.

Reporting Bugs

libinput bugs are tracked in the gitlab instance

Note that in almost all cases we require extra information to be able to triage and fix the bug correctly. Please read the Reporting Bugs section.

X.Org libinput driver

The X.Org libinput driver is a thin wrapper around libinput and allows for libinput to be used for input devices in X. This driver can be used as as drop-in replacement for evdev and synaptics. Simply build and install in your $PREFIX, then install the config file in /etc/X11/xorg.conf.d/. Restart X and the libinput driver will take over your devices.