Linux FAQ


Contents

    Teleporting cursor position

    This occurs because another program is reading the tablet at the same time as OpenTabletDriver. #68

    1. Perform the following commands in a terminal
      echo "blacklist wacom" | sudo tee -a /etc/modprobe.d/blacklist.conf
      sudo rmmod wacom
      


    Device is currently in use

    This occurs typically due to the hid_uclogic kernel module taking priority over OpenTabletDriver.

    1. Run the following commands, then replug your tablet
      echo "blacklist hid_uclogic" | sudo tee -a /etc/modprobe.d/blacklist.conf
      sudo rmmod hid_uclogic
      

    The modules reload after rebooting?

    The solution to this is to rebuild the initramfs. This process varies distro to distro.

    Arch

      sudo mkinitcpio -P
      

    Debian / Ubuntu

      sudo update-initramfs -u
      

    Failed to open device streams

    This occurs due to a lack of permissions to open a device stream. It is resolved by creating udev rules that give these permissions.
    If you installed OpenTabletDriver via your package manager, you may need to run the following command then replug your tablet.

    sudo udevadm control --reload-rules
    

    If this does not work, run the following commands

    # Clone the repository, change current directory to the repository
    git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git
    cd ./OpenTabletDriver
    # Generate rules, moves them to the udev rules directory
    ./generate-rules.sh
    sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/99-opentabletdriver.rules
    # Reload udev rules
    sudo udevadm control --reload-rules
    # Clean up leftovers
    cd ..
    rm -rf OpenTabletDriver
    

    Failed to initialize virtual device

    EACCESS

    This occurs usually when the udev rules are not correct, or haven't been reloaded. Make sure your rules are correct by heading here.

    sudo udevadm control --reload-rules
    # Skips the step requiring a replug of the tablet.
    sudo udevadm trigger
    # Helps ensure that OpenTabletDriver uses the tablet correctly.
    systemctl --user restart opentabletdriver
    

    If the commands above do not resolve your issue, reboot.

    ENODEV

    Rebooting is the only option here. Your kernel was very likely updated, or some component of uinput was modified which requires a reboot to resolve.

    ENOENT

    This error occurs when the CONFIG_INPUT_UINPUT kernel option is disabled. Make sure it is activated in your kernel config.

    Gentoo

    Check the option CONFIG_INPUT_UINPUT in /usr/src/linux.config. If it is not enabled, use the following steps

    cd /usr/src/linux
    sudo make menuconfig
    

    Having done that, select y (for always active) or m (for building as a module) for the option in "Device Drivers ---> Input Device Support ---> Miscellaneous devices ---> User level driver support" and rebuild the kernel.

    Other Distros

    Refer to your distribution's documentation regarding kernel configuration to enable this option.


    This doesn't work after rebooting?

    This is probably due to your kernel not having uinput built in, either build your kernel with uinput support or use a different kernel.


    Poor performance with NVIDIA

    1. Disable Force full composition pipeline in the NVIDIA settings panel.

    Stuck cursor in osu!lazer (Wayland)

    1. Make sure you set the SDL_VIDEODRIVER to wayland.
    # Export the environment variable
    export SDL_VIDEODRIVER=wayland
    # Start osu! lazer via the AppImage assuming its in the working directory
    ./osu.AppImage
    

    CTL-x100 is not detected

    CTL-x100 tablets boots in Android mode instead of PC mode in some rare cases. To fix this, press the outer 2 express keys for 3-4 seconds until the LEDs change brightness. This toggles the tablet's operating mode between PC (high LED brightness) and Android mode (low LED brightness).


    X11/Wayland Session not detected

    X11 (systemd)

    Your .xinitrc is likely configured improperly and the DISPLAY environment variable isn't set for systemd.
    Proper configuration for the .xinitrc file can be found here.
    Note: The fix below is just a quick and dirty fix to get OpenTabletDriver running and should instead be resolved as above.

    1. Create an override file
      # Opens with whatever program is set to $EDITOR
      systemctl --user edit opentabletdriver.service
      
    2. Add this block below the first 2 lines of the file, then save and exit
      [Service]
      Environment=DISPLAY=:0
      
    3. Finally, run the following commands
      # Reload the systemd user daemon
      systemctl --user daemon-reload
      # Start the OpenTabletDriver daemon service (restarts if already running)
      systemctl --user restart opentabletdriver.service
      

    Wayland (systemd)

    1. Create an override file
      # Opens with whatever program is set to $EDITOR
      systemctl --user edit opentabletdriver.service
      
    2. Add this block below the first 2 lines of the file, then save and exit
      [Service]
      Environment=WAYLAND_DISPLAY=:0
      
    3. Finally, run the following commands
      # Reload the systemd user daemon
      systemctl --user daemon-reload
      # Start the OpenTabletDriver daemon service (restarts if already running)
      systemctl --user restart opentabletdriver.service
      

    Enabling pressure using Artist Mode

    Pressure support is available by changing the output mode of OpenTabletDriver to Artist Mode. To do this, follow below.

    1. Change output mode (at the bottom left of OpenTabletDriver) to Artist Mode.
    2. Remove the Tip Binding in the Pen Settings panel by clicking the 3 dots, then pressing clear.
    3. Save your settings and try drawing in an applicantion that supports pressure.