Linux FAQ
Teleporting cursor position
This occurs because another program is reading the tablet at the same time as OpenTabletDriver. #68
-
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.
-
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
- Disable
Force full composition pipeline
in the NVIDIA settings panel.
Stuck cursor in osu!lazer (Wayland)
- Make sure you set the
SDL_VIDEODRIVER
towayland
.
# 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.
-
Create an override file
# Opens with whatever program is set to $EDITOR systemctl --user edit opentabletdriver.service
-
Add this block below the first 2 lines of the file, then save and exit
[Service] Environment=DISPLAY=:0
-
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)
-
Create an override file
# Opens with whatever program is set to $EDITOR systemctl --user edit opentabletdriver.service
-
Add this block below the first 2 lines of the file, then save and exit
[Service] Environment=WAYLAND_DISPLAY=:0
-
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.
- Change output mode (at the bottom left of OpenTabletDriver) to Artist Mode.
- Remove the Tip Binding in the Pen Settings panel by clicking the 3 dots, then pressing clear.
- Save your settings and try drawing in an applicantion that supports pressure.