Xorg Input Drivers

Introduction to Xorg Input Drivers

The Xorg Input Drivers page contains the instructions for building Xorg input drivers that are necessary in order for Xorg Server to respond user inputs.

libevdev 1.13.3

Introduction to libevdev

The libevdev package contains common functions for Xorg input drivers.

Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

Device Drivers --->
  Input device support --->
    -*-   Generic input layer (needed for keyboard, mouse, ...)          [INPUT]
    <*/M>   Event interface                                        [INPUT_EVDEV]

Installation of libevdev

Install libevdev by running the following commands:

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=/usr            \
      --buildtype=release      \
      -D documentation=disabled &&

ninja

The regression tests can be run as the root user with ninja test, in a graphical session. You need to have enabled the CONFIG_INPUT_UINPUT setting in the kernel for full test coverage. If it is enabled as a module, the module is named uinput and needs to be loaded before running the tests. Note that on some systems, the tests may cause a hard lockup and require a reboot. On laptops, the system will go into Sleep and need to be woken up to finish the test suites.

Now, as the root user:

ninja install

Contents

Installed Xorg Programs: libevdev-tweak-device, mouse-dpi-tool, and touchpad-edge-detector
Installed Xorg Library: libevdev.so
Installed Xorg Directory: /usr/include/libevdev-1.0

Short Descriptions

libevdev-tweak-device

is a tool to change some kernel device properties

mouse-dpi-tool

is a tool to estimate the resolution of a mouse

touchpad-edge-detector

touchpad-edge-detector is a tool that reads the touchpad events from the kernel and calculates the minimum and maximum for the x and y coordinates, respectively

libevdev.so

is a library of Xorg driver input functions

Xorg Evdev Driver-2.11.0

Introduction to Xorg Evdev Driver

The Xorg Evdev Driver package contains a Generic Linux input driver for the Xorg X server. It handles keyboard, mouse, touchpads and wacom devices, though for touchpad and wacom advanced handling, additional drivers are required.

Xorg Evdev Driver Dependencies

Required

libevdev-1.13.3, mtdev-1.1.7, and Xorg-Server-21.1.14

Installation of Xorg Evdev Driver

Install Xorg Evdev Driver by running the following commands:

./configure $XORG_CONFIG &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Xorg Driver: evdev_drv.so

Short Descriptions

evdev_drv.so

is an Xorg input driver for Linux generic event devices

libinput-1.26.2

Introduction to Libinput

libinput is a library that handles input devices for display servers and other applications that need to directly deal with input devices.

libinput Dependencies

Required

libevdev-1.13.3 and mtdev-1.1.7

Installation of Libinput

Install libinput by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr             \
            --buildtype=release       \
            -D debug-gui=false        \
            -D tests=false            \
            -D libwacom=false         \
            .. &&

ninja

Now, as the root user:

ninja install

If you have passed -D documentation=true to meson, you can install the generated documentation by running the following commands as the root user:

install -v -dm755      /usr/share/doc/libinput-1.26.2/html &&
cp -rv Documentation/* /usr/share/doc/libinput-1.26.2/html

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-D debug-gui=false: This switch disables creation of a visual debug helper for libinput. Remove if you want it, and you have GTK3 installed.

-D libwacom=false: Remove this option if you have libwacom installed, or if you are installing GNOME.

Contents

Installed Programs: libinput
Installed Libraries: libinput.so
Installed Directories: /etc/libinput, /usr/libexec/libinput, /usr/share/libinput, and (optionally) /usr/share/doc/libinput-1.26.2

Short Descriptions

libinput

is a set of tools to interface with the libinput library

libinput.so

contains API functions for handling input devices

Xorg Libinput Driver-1.5.0

Introduction to Xorg 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 drop-in replacement for evdev and synaptics.

Xorg Libinput Driver Dependencies

Required

libinput-1.26.2 and Xorg-Server-21.1.14

Installation of Xorg Libinput Driver

Install Xorg Libinput Driver by running the following commands:

./configure $XORG_CONFIG &&
make

To test the results, issue make check.

Now, as the root user:

make install

Contents

Installed Xorg Driver: libinput_drv.so

Short Descriptions

libinput_drv.so

is an Xorg input driver for mouse, keyboard, touchpad, touchscreen, and tablet devices

Xorg Synaptics Driver-1.9.2

Introduction to Xorg Synaptics Driver

The Xorg Synaptics Driver package contains the X.Org Input Driver, support programs and SDK for Synaptics touchpads. Even though the evdev driver can handle touchpads very well, this driver is required if you want to use advanced features like multi tapping, scrolling with touchpad, turning the touchpad off while typing, etc.

Xorg Synaptics Driver Dependencies

Required

libevdev-1.13.3 and Xorg-Server-21.1.14

Installation of Xorg Synaptics Driver

Install Xorg Synaptics Driver by running the following commands:

./configure $XORG_CONFIG &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: synclient and syndaemon
Installed Xorg Driver: synaptics_drv.so

Short Descriptions

synclient

is a command line utility used to query and modify Synaptics driver options

syndaemon

is a program that monitors keyboard activity and disables the touchpad when the keyboard is being used

synaptics_drv.so

is an Xorg input driver for touchpads

Xorg Wacom Driver-1.2.3

Introduction to Xorg Wacom Driver

The Xorg Wacom Driver package contains the X.Org X11 driver and SDK for Wacom and Wacom-like tablets. It is not required to use a Wacom tablet, the xf86-input-evdev driver can handle these devices without problems.

Xorg Wacom Drivers Dependencies

Required

Xorg-Server-21.1.14

Kernel Configuration

To use a Wacom tablet with USB interface, enable the following options in your kernel configuration and recompile. Note that other configuration options could be required for tablet with a serial or bluetooth interface:

Device Drivers --->
  [*] HID bus support --->                                         [HID_SUPPORT]
    {*/M} HID bus core support                                             [HID]
      Special HID drivers --->
      <*/M>   Wacom Intuos/Graphire tablet support (USB)             [HID_WACOM]
    USB HID support --->
      <*/M> USB HID transport layer                                    [USB_HID]
  [*] USB support --->                                             [USB_SUPPORT]
    <*/M> Support for Host-side USB                                        [USB]

Installation of Xorg Wacom Driver

Install Xorg Wacom Driver by running the following commands:

./configure $XORG_CONFIG --with-systemd-unit-dir=no &&
make

To test the results, issue: make check.

Now, as the root user:

make install

Contents

Installed Programs: isdv4-serial-debugger, isdv4-serial-inputattach, and xsetwacom
Installed Xorg Driver: wacom_drv.so

Short Descriptions

xsetwacom

is a commandline utility used to query and modify wacom driver settings

wacom_drv.so

is an Xorg input driver for Wacom devices