Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] Opentabletdriver on Artix with OpenRC (Read 1629 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

[SOLVED] Opentabletdriver on Artix with OpenRC

Hello, I'm trying to install Opentabletdriver in order to use my Gaomon S620 tablet, but I can't seem to get it up and running.
When I installed the package 'opentabletdriver' from the AUR, I was greeted with this text:

Quote
Welcome to OpenTabletDriver!
In order to start using this driver, there are certain things that have to be configured manually.

Replug your tablet if it is connected. This will re-trigger the udev rules accordingly.

The daemon can be started with:
  $ otd
You can fork it to the background and use output redirection to a log file if desired.
A systemd user service is also provided and can be used instead:
  $ systemctl --user enable --now opentabletdriver.service

You will have to manually disable built-in kernel modules in order for this driver to work properly.
This can be done by blacklisting the kernel module by creating a file in /etc/modprobe.d/blacklist.conf with a single line:
    blacklist <module>
Where <module> is 'wacom' if you own a wacom tablet, and 'hid_uclogic' otherwise.
To unload the module immediately, run:
  # rmmod <module>

In the case that you still have issues after following these instructions, the FAQ at https://opentabletdriver.net/Wiki/FAQ/Linux may help.

I started otd with "otd", which came up with this error:

Code: [Select]
[Evdev:Error]	Failed to initialize virtual tablet. (error code EACCES)
[Gaomon S620:Info] Output mode: Absolute Mode
[Gaomon S620:Info] Display area: [1920x1080@<2640, 539.99994>:0°],
[Gaomon S620:Info] Tablet area: [100x100@<50, 50>:0°],
[Gaomon S620:Info] Clipping: Enabled
[Gaomon S620:Info] Ignoring reports outside area: Disabled
[Gaomon S620:Info] Express Key Bindings: Mouse Button Binding: Left, Mouse Button Binding: Right, ,
[Settings:Info] Driver is enabled.

I also blacklisted the hid_uclogic module as was instructed in the message above. I then went to the FAQ page and ran these commands:

Code: [Select]
sudo udevadm control --reload-rules
sudo udevadm trigger

But I'm running OpenRC and not systemd, so I searched for the 'opentabletdriver-git.git' and found this init script:

Code: [Select]
[Unit]
Description=OpenTabletDriver Daemon
StartLimitIntervalSec=300
StartLimitBurst=5

[Service]
ExecStart=/usr/bin/otd
Restart=on-failure
RestartSec=8s

[Install]
WantedBy=default.target

I used the this site to convert it to this script:

Code: [Select]
#!/sbin/openrc-run

name=$RC_SVCNAME
description="OpenTabletDriver Daemon"
supervisor="supervise-daemon"
command=""
command_args="/usr/bin/otd"

But I switched the command and command args, because it wouldn't start without a command. Saved it to /etc/init.d/opentabletdriver and 'doas /etc/init.d/opentabletdriver start'. but when I do 'doas /etc/init.d/opentabletdriver status', it shows: ' * status: stopped'.
After opening otd-gui . It seems like the daemon still isn't started.
I could not find any init script from Gentoo that also uses OpenRC.
How do I get this up and running? I'll post relevant logs if asked.

Re: Opentabletdriver on Artix with OpenRC

Reply #1
The script is wrong; change it to
Code: [Select]
#!/sbin/openrc-run
description="OpenTabletDriver Daemon"
supervisor="supervise-daemon"
command="/usr/bin/otd"

Re: Opentabletdriver on Artix with OpenRC

Reply #2
Code: [Select]
$ cat /etc/init.d/opentabletdriver
#!/sbin/openrc-run

description="OpenTabletDriver Daemon"
supervisor="supervise-daemon"
command="/usr/bin/otd"
$ doas /etc/init.d/opentabletdriver start
 * Starting opentabletdriver ...                                                                                [ ok ]
$ doas /etc/init.d/opentabletdriver status
 * status: stopped

Still acting the same.

Re: Opentabletdriver on Artix with OpenRC

Reply #3
I'm trying to install Opentabletdriver in order to use my Gaomon S620 tablet, but I can't seem to get it up and running.

Note: If building for the first time, run the included generate-rules.sh script. ( src/OpenTabletDriver-0.6.0.4/generate-rules.sh )
This will generate a set of udev rules in OpenTabletDriver/bin, called '99-opentabletdriver.rules'.
This file should then be moved to /etc/udev/rules.d/:

Code: [Select]
sudo mv ./bin/99-opentabletdriver.rules /etc/udev/rules.d/

https://github.com/OpenTabletDriver/OpenTabletDriver#linux
"Wer alles kann, macht nichts richtig"

Artix USE="runit openrc slim openbox lxde gtk2 qt4 qt5 qt6 conky
-gtk3 -gtk4 -adwaita{cursors,themes,icons} -gnome3 -kde -plasma -wayland "

Re: Opentabletdriver on Artix with OpenRC

Reply #4
I know, I already did that and it didn't change the behaviour.
Code: [Select]
$ ls -la /etc/udev/rules.d
...
-rwxr-xr-x 1 root root 63984 Apr  6 13:42 99-opentabletdriver.rules
$ doas /etc/init.d/opentabletdriver restart
 * Starting opentabletdriver ...                                                                                                                                                                                                        [ ok ]
$ doas /etc/init.d/opentabletdriver status
 * status: stopped

Re: Opentabletdriver on Artix with OpenRC

Reply #5
I know, I already did that and it didn't change the behaviour.
Code: [Select]
$ ls -la /etc/udev/rules.d
...
-rwxr-xr-x 1 root root 63984 Apr  6 13:42 99-opentabletdriver.rules

How about the output of:

Code: [Select]
cat /etc/udev/rules.d/99-opentabletdriver.rules
"Wer alles kann, macht nichts richtig"

Artix USE="runit openrc slim openbox lxde gtk2 qt4 qt5 qt6 conky
-gtk3 -gtk4 -adwaita{cursors,themes,icons} -gnome3 -kde -plasma -wayland "

Re: Opentabletdriver on Artix with OpenRC

Reply #6
I know, I already did that and it didn't change the behaviour.
Code: [Select]
$ ls -la /etc/udev/rules.d
...
-rwxr-xr-x 1 root root 63984 Apr  6 13:42 99-opentabletdriver.rules

How about the output of:

Code: [Select]
cat /etc/udev/rules.d/99-opentabletdriver.rules

Output is what one would expect.
Code: [Select]
$ cat /etc/udev/rules.d/99-opentabletdriver.rules

# Dynamically generated with the OpenTabletDriver.udev tool. https://github.com/OpenTabletDriver/OpenTabletDriver
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput"
# UGEE U1600
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="093c", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="093c", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="093c", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# UGEE S640
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0937", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0937", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="28bd", ATTRS{idProduct}=="0937", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# 10moon 1060N
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="08f2", ATTRS{idProduct}=="6811", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="08f2", ATTRS{idProduct}=="6811", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="08f2", ATTRS{idProduct}=="6811", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Genius i405x
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5010", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5010", MODE="0666"
# Genius G-Pen 560
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5003", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5003", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="5003", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Genius i608x
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="501a", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="501a", MODE="0666"
# Acepen AP 1060
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0082", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="5543", ATTRS{idProduct}=="0082", MODE="0666"
# Huion HS610
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Q11K
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H610 Pro V2
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas 16 (2021)
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H420
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas Pro 12
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion GT-221 Pro
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion HS95
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion G930L
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0061", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0061", MODE="0666"
# Huion Kamvas Pro 13
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H950P
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion GT-220 V2
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas 13
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H610X
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H430P
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H610 Pro
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H610 Pro V3
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion HC16
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H580X
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas 12
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion New 1060 Plus (2048)
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H420X
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion G10T
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion WH1409 V2
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Q11K V2
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H642
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas Pro 16 (2.5k)
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
# Huion Kamvas 20
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion 420
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H1161
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion HS64
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H690
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas Pro 24
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H320M
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion H1060P
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006e", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="0064", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Huion Kamvas 22 Plus
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
# Gaomon S620
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", MODE="0666"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006d", ENV{LIBINPUT_IGNORE_DEVICE}="1"
SUBSYSTEM=="input", ATTRS{idVendor}=="256c", ATTRS{idProduct}=="006f", ENV{LIBINPUT_IGNORE_DEVICE}="1"
... (continues in the same manner, had to cut it because of post char limit)

Re: Opentabletdriver on Artix with OpenRC

Reply #7
Code: [Select]
man lsusb
man udev
man modprobe

https://www.tecmint.com/udev-for-device-detection-management-in-linux/
https://stackoverflow.com/questions/31055611/how-do-i-use-udev-to-run-a-shell-script-when-a-usb-device-is-removed
https://bbs.archlinux.org/viewtopic.php?id=92896

https://wiki.archlinux.org/title/Graphics_tablet
https://wiki.archlinux.org/title/Graphics_tablet#Troubleshooting

(... , had to cut it because of post char limit)  :o
"Wer alles kann, macht nichts richtig"

Artix USE="runit openrc slim openbox lxde gtk2 qt4 qt5 qt6 conky
-gtk3 -gtk4 -adwaita{cursors,themes,icons} -gnome3 -kde -plasma -wayland "

Re: Opentabletdriver on Artix with OpenRC

Reply #8
Code: [Select]
doas chmod 0666 /dev/uinput
Made the tablet work and be recognized by otd. But I still don't know how to make an init script for the daemon for OpenRC. I still get:
Code: [Select]
$ doas /etc/init.d/opentabletdriver status
 * status: stopped

Re: Opentabletdriver on Artix with OpenRC

Reply #9
I thought otd was the real daemon, turns out was a wrapper which runs .net of all evils... Try this.

Code: [Select]
#!/sbin/openrc-run

description="OpenTabletDriver Daemon"
supervisor="supervise-daemon"
command="/usr/bin/otd"

start_pre() {
    export DISPLAY=:0
}

stop_post() {
    pkill -9 dotnet
}

Re: Opentabletdriver on Artix with OpenRC

Reply #10
I thought otd was the real daemon, turns out was a wrapper which runs .net of all evils... Try this.

Code: [Select]
#!/sbin/openrc-run

description="OpenTabletDriver Daemon"
supervisor="supervise-daemon"
command="/usr/bin/otd"

start_pre() {
    export DISPLAY=:0
}

stop_post() {
    pkill -9 dotnet
}

That works, thanks.

Re: [SOLVED] Opentabletdriver on Artix with OpenRC

Reply #11
Thanks for sharing, it aalso solve my problem, now my gaomon tablet works well in Arixlinux.