### Install OpenTabletDriver on Bazzite Source: https://opentabletdriver.net/Wiki/Install/Linux Use the ujust utility to install the driver. ```bash ujust install-opentabletdriver ``` -------------------------------- ### Install OpenTabletDriver on openSUSE Source: https://opentabletdriver.net/Wiki/Install/Linux Refresh repositories and install the RPM package using zypper. ```bash # Update the package list sudo zypper refresh # Install the package sudo zypper --no-gpg-checks install ./OpenTabletDriver.rpm ``` -------------------------------- ### Install OpenTabletDriver on Fedora Source: https://opentabletdriver.net/Wiki/Install/Linux Install the RPM package using dnf and regenerate the initramfs. ```bash sudo dnf install ./opentabletdriver-0.6.6.2-1.x86_64.rpm ``` ```bash sudo dracut --regenerate-all --force ``` -------------------------------- ### Install OpenTabletDriver on Ubuntu/Debian Source: https://opentabletdriver.net/Wiki/Install/Linux Use apt to install the downloaded .deb package after updating the package list. ```bash # Update the package list sudo apt update # Install the package sudo apt install ./opentabletdriver-0.6.6.2-1-x64.deb ``` -------------------------------- ### Start OpenTabletDriver Daemon (Systemd) Source: https://opentabletdriver.net/Wiki/FAQ/Linux Use this command to start the OpenTabletDriver daemon as a user service if it's not running. This is typically done after installation or if the GUI reports connection timeouts. ```bash systemctl --user start opentabletdriver ``` -------------------------------- ### Install OpenTabletDriver on Gentoo Source: https://opentabletdriver.net/Wiki/Install/Linux Enable the Guru repository, accept keywords, and emerge the package. ```bash # Enable guru repository sudo eselect repository enable guru sudo emerge --sync guru ``` ```bash x11-drivers/OpenTabletDriver ~amd64 ``` ```bash sudo emerge OpenTabletDriver ``` -------------------------------- ### Install OpenTabletDriver on EndeavourOS Source: https://opentabletdriver.net/Wiki/Install/Linux Install via yay and perform necessary post-install cleanup of kernel modules. ```bash yay -S opentabletdriver ``` ```bash # Regenerate initramfs sudo dracut-rebuild # Unload kernel modules sudo rmmod wacom hid_uclogic ``` -------------------------------- ### Start OpenTabletDriver Daemon (Direct) Source: https://opentabletdriver.net/Wiki/FAQ/Linux Run this command to start the OpenTabletDriver daemon directly. This can be used as an alternative to the systemd service, especially if troubleshooting connection issues. ```bash otd-daemon ``` -------------------------------- ### Install OpenTabletDriver via makepkg on Arch Linux Source: https://opentabletdriver.net/Wiki/Install/Linux Manually clone and build the package from the AUR. ```bash # Downloads the pkgbuild from the AUR. git clone https://aur.archlinux.org/opentabletdriver.git # Changes into the correct directory, pulls needed dependencies, then installs OpenTabletDriver cd opentabletdriver && makepkg -si # Clean up leftovers cd .. rm -rf opentabletdriver # Regenerate initramfs sudo mkinitcpio -P # Unload kernel modules sudo rmmod wacom hid_uclogic ``` -------------------------------- ### Install legacy package rules on FHS distros Source: https://opentabletdriver.net/Wiki/Documentation/RequiredPermissions Cleans up old rules and manually installs configuration files for versions below 0.6.3.0. ```bash echo "Finding old udev rules..." for c in /etc/udev/rules.d/9{0,9}-opentabletdriver.rules; do if [ -f "${c}" ]; then echo "Deleting ${c}" sudo rm "${c}" fi done echo "Finding old kernel module blacklist rules..." if [ -f /etc/modprobe.d/blacklist.conf ]; then echo "Deleting /etc/modprobe.d/blacklist.conf" sudo rm /etc/modprobe.d/blacklist.conf fi git clone https://github.com/OpenTabletDriver/OpenTabletDriver.git cd OpenTabletDriver ./generate-rules.sh | sudo tee /etc/udev/rules.d/70-opentabletdriver.rules sudo cp ./eng/linux/Generic/usr/lib/modprobe.d/99-opentabletdriver.conf /etc/modprobe.d/99-opentabletdriver.conf sudo cp ./eng/linux/Generic/usr/lib/modules-load.d/opentabletdriver.conf /etc/modules-load.d/opentabletdriver.conf cd .. rm -rf OpenTabletDriver sudo modprobe uinput sudo rmmod wacom hid_uclogic > /dev/null 2>&1 sudo udevadm control --reload-rules && sudo udevadm trigger ``` -------------------------------- ### Example Attribute Dictionary Source: https://opentabletdriver.net/Wiki/Development/Configurations The standard format for defining device attributes as a dictionary of strings. ```json { "FeatureInitDelayMs": "150", "libinputoverride": "1" } ``` -------------------------------- ### Interface Attribute Example Source: https://opentabletdriver.net/Wiki/Development/Configurations Specifies the USB device interface to use when identifiers are ambiguous. ```text "0" ``` -------------------------------- ### Autostart OpenTabletDriver daemon on login Source: https://opentabletdriver.net/Wiki/FAQ/Linux This command is used to start the OpenTabletDriver daemon. It should be run as a user, not as root, and is typically used with init systems other than systemd. ```bash otd-daemon ``` -------------------------------- ### WinUsage Attribute Example Source: https://opentabletdriver.net/Wiki/Development/Configurations Specifies the HID usage collection on Windows, requiring exactly two digits. ```text "01" ``` -------------------------------- ### Enable systemd service for OpenTabletDriver Source: https://opentabletdriver.net/Wiki/FAQ/Linux Use this command to enable and start the OpenTabletDriver systemd user service for automatic startup on boot. Ensure your desktop environment is configured to integrate with systemd for reliable autostart. ```bash systemctl --user enable opentabletdriver.service --now ``` -------------------------------- ### Configure Initramfs on Arch Linux Source: https://opentabletdriver.net/Wiki/Install/Linux Regenerate initramfs and unload conflicting kernel modules after AUR installation. ```bash # Regenerate initramfs sudo mkinitcpio -P # Unload kernel modules sudo rmmod wacom hid_uclogic ``` -------------------------------- ### Configure Udev Rules for Linux Source: https://opentabletdriver.net/Wiki/Documentation/ConfigurationGuide Manually define udev rules for accessing raw devices on Linux. Ensure idVendor and idProduct match your device's hexadecimal values. This example uses systemd udev syntax. ```bash KERNEL=="hidraw*", ATTRS{idVendor}=="b33f", ATTRS{idProduct}=="c4k3", TAG+="uaccess", TAG+="udev-acl" SUBSYSTEM=="usb", ATTRS{idVendor}=="b33f", ATTRS{idProduct}=="c4k3", TAG+="uaccess", TAG+="udev-acl" ``` -------------------------------- ### Set SDL_VIDEODRIVER for osu!Lazer Source: https://opentabletdriver.net/Wiki/FAQ/LinuxAppSpecific Environment variable configuration to resolve cursor issues on Wayland. ```bash env SDL_VIDEODRIVER=wayland ./osu.AppImage ``` ```bash env SDL_VIDEODRIVER=wayland osu-lazer ``` -------------------------------- ### Configure OpenTabletDriver on NixOS Source: https://opentabletdriver.net/Wiki/Install/Linux Enable the driver in the system configuration file. ```nix # Enable OpenTabletDriver hardware.opentabletdriver.enable = true; ``` -------------------------------- ### Update initramfs for Arch Linux Source: https://opentabletdriver.net/Wiki/Documentation/RequiredPermissions Updates the initial RAM filesystem for Arch Linux systems. ```bash sudo mkinitcpio -P ``` -------------------------------- ### Unload Linux Tablet Drivers Source: https://opentabletdriver.net/Wiki/Documentation/ConfigurationGuide Run this command on Linux to ensure upstream tablet drivers are unloaded before proceeding. Redirects errors to /dev/null. ```bash sudo rmmod hid_uclogic wacom 2>/dev/null ``` -------------------------------- ### Update initramfs for Debian/Ubuntu Source: https://opentabletdriver.net/Wiki/Documentation/RequiredPermissions Updates the initial RAM filesystem for Debian or Ubuntu-based distributions. ```bash sudo update-initramfs -u ``` -------------------------------- ### View Daemon Logs on Linux Source: https://opentabletdriver.net/Wiki/Documentation/Logs Use this command to retrieve logs recorded by the systemd service on Linux systems. ```bash journalctl --user-unit opentabletdriver.service ``` -------------------------------- ### Define kernel module blacklist Source: https://opentabletdriver.net/Wiki/Documentation/RequiredPermissions Content for a blacklist configuration file to prevent specific modules from loading. ```text blacklist wacom blacklist hid_uclogic ``` -------------------------------- ### Configure Photoshop CC for Windows Ink Source: https://opentabletdriver.net/Wiki/FAQ/WindowsAppSpecific Add these lines to the PSUserConfig.txt file in the Photoshop settings directory to enable Windows Ink support. ```text # Use Windows Ink for tablet input UseSystemStylus 1 ``` -------------------------------- ### Clean up legacy udev and blacklist rules on FHS distros Source: https://opentabletdriver.net/Wiki/Documentation/RequiredPermissions Removes obsolete udev rules and blacklist configurations, reloads udev, and unloads conflicting modules. ```bash echo "Finding old udev rules..." for c in /etc/udev/rules.d/9{0,9}-opentabletdriver.rules; do if [ -f "${c}" ]; then echo "Deleting ${c}" sudo rm "${c}" fi done echo "Finding old kernel module blacklist rules..." if [ -f /etc/modprobe.d/blacklist.conf ]; then echo "Deleting /etc/modprobe.d/blacklist.conf" sudo rm /etc/modprobe.d/blacklist.conf fi sudo modprobe uinput sudo rmmod wacom hid_uclogic > /dev/null 2>&1 sudo udevadm control --reload-rules && sudo udevadm trigger ``` -------------------------------- ### Wacom and Veikk Area Conversion Formula Source: https://opentabletdriver.net/Wiki/FAQ/General Use this formula to convert Wacom and Veikk driver area settings to OpenTabletDriver's format. Ensure you have the correct LPI and tablet dimensions. ```plaintext Width = (Right - Left) / LPI * 25.4 Height = (Bottom - Top) / LPI * 25.4 XOffset = (Width / 2) + (Left / LPI * 25.4) YOffset = (Height / 2) + (Top / LPI * 25.4) ``` -------------------------------- ### Verify OpenTabletDriver Device Status Source: https://opentabletdriver.net/Wiki/FAQ/LinuxAppSpecific Command to confirm that the driver is active and the output mode is correctly applied. ```bash libinput list-devices | grep -i OpenTabletDriver ``` -------------------------------- ### libinputoverride Attribute Value Source: https://opentabletdriver.net/Wiki/Development/Configurations Used on Linux to determine if the generic tablet interface should be ignored by libinput. ```text 1 ``` -------------------------------- ### Huion and Gaomon Area Conversion Formula Source: https://opentabletdriver.net/Wiki/FAQ/General This formula converts Huion and older Gaomon driver area settings to OpenTabletDriver. It uses percentages of the tablet's dimensions. ```plaintext Width = (Right - Left) * TWidth Height = (Bottom - Top) * THeight XOffset = (Width / 2) + (Left * TWidth) YOffset = (Height / 2) + (Top * THeight) ``` -------------------------------- ### XP-Pen Area Conversion Formula Source: https://opentabletdriver.net/Wiki/FAQ/General Convert XP-Pen driver area settings to OpenTabletDriver using this formula. Note that XP-Pen units are converted to millimeters. ```plaintext Width = XPW / 3.937 Height = XPH / 3.937 XOffset = (Width / 2) + (XPX / 3.937) YOffset = (Height / 2) + (XPY / 3.937) ``` -------------------------------- ### Calculate Tablet Dimensions Source: https://opentabletdriver.net/Wiki/Documentation/ConfigurationGuide Use these formulas to determine the physical width and height of the tablet's active area based on maximum reported values and lines per millimeter. ```text Width = MaxX / Horizontal_LPMM Height = MaxY / Vertical_LPMM ``` -------------------------------- ### Disable OpenTabletDriver Smoothing (Older Versions) Source: https://opentabletdriver.net/Wiki/FAQ/Linux Add this configuration to `/etc/libinput/local-overrides.quirks` to disable smoothing on virtual tablets with OpenTabletDriver versions 0.6.4.0 and earlier. Restart the OpenTabletDriver daemon after applying changes. ```ini [OpenTabletDriver Virtual Tablet] MatchName=OpenTabletDriver* AttrTabletSmoothing=0 ``` -------------------------------- ### Gaomon 2024 and up Area Conversion Formula Source: https://opentabletdriver.net/Wiki/FAQ/General Use this formula for Gaomon drivers from 2024 onwards. It converts Gaomon's line-based settings to OpenTabletDriver's millimeter-based system. ```plaintext Width = (GaomonWidth / THorizontal) * TWidth Height = (GaomonHeight / TVertical) * THeight XOffset = (GaomonX / THorizontal) * TWidth + (Width / 2) YOffset = (GaomonY / TVertical) * THeight + (Height / 2) ``` -------------------------------- ### Unload conflicting kernel modules Source: https://opentabletdriver.net/Wiki/Documentation/RequiredPermissions Unloads the wacom and hid_uclogic kernel modules to prevent interference with OpenTabletDriver. ```bash sudo rmmod wacom hid_uclogic ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.