REPLACING UDEV

As of the 2020-01-20, it is now possible to replace eudev with the device manager of your choosing. This Wiki page will cover replacing eudev with busybox mdev, however the steps are more or less the same for all other device managers (smdev, vdev, …).

Caveats

Benefits

Preparation

  1. Make note of your current XKB rules, model and layout.

    Xorg compiled without eudev may require manual configuration to correctly set the keyboard’s layout and other settings. The following command can be used to detect the current configuration from a working machine.

    $ setxkbmap -query
      rules:      evdev
      model:      pc105
      layout:     us
    
  2. Make note of your keyboard and mouse’s /dev/input/event* entries.

    We also need to point Xorg to the input device’s device entries in /dev/input. The following command lists all current input devices.

    $ xinput
    | Virtual core pointer                id=2    [master pointer  (3)]
    |   | Virtual core XTEST pointer      id=4    [slave  pointer  (2)]
    |   | touchpad0                       id=6    [slave  pointer  (2)]
    | Virtual core keyboard               id=3    [master keyboard (2)]
        | Virtual core XTEST keyboard     id=5    [slave  keyboard (3)]
        | keyboard0                       id=7    [slave  keyboard (3)]
    

    My keyboard has the ID ‘7’. The following command prints its information including the needed device node location.

    $ xinput --list-props 7
    Device 'keyboard0':
    Device Enabled (169):   1
    libinput Send Events Modes Available (316):     1, 0
    libinput Send Events Mode Enabled (317):        0, 0
    libinput Send Events Mode Enabled Default (318):        0, 0
    Device Node (319):      "/dev/input/event4"
    Device Product ID (320):        1, 1
    

    The “Device Node (XXX):” line displays the location in /dev/ of my keyboard and is the value we will use when configuring Xorg. My keyboard is located at /dev/input/event4. This command should be repeated for any other input devices.

Configuring Xorg

When Xorg is built without eudev, Xorg will be unable to automatically find and use input devices. This requires the use of a “static” configuration using .conf files.

NOTE: For this example I am configuring a touchpad alongside the keyboard. The 10-touchpad.conf file should be 1:1 transferable to a mouse’s configuration.

NOTE: The below files should live in /etc/X11/xorg.conf.d/.

Purging EUDEV

Changing Device Managers

Reboot

If all went well, you should now be using mdev as your device manager while retaining a fully working graphical environment. If input doesn’t work under Xorg, refer to the Xorg log file for information.