DIGImend / digimend-kernel-drivers

DIGImend graphics tablet drivers for the Linux kernel
GNU General Public License v2.0
1.16k stars 172 forks source link

Huion H950P not working correctly: area incorrect and Pad not detected #668

Closed squeaktoy closed 8 months ago

squeaktoy commented 9 months ago

I'm running Gentoo, got libwacom 2.7.0, and INPUT_DEVICES="libinput wacom" My Linux version is 6.1.53 and I got xf86-input-wacom 1.2.0 as well

I have this custom config in /etc/X11/xorg.conf.d/50-tablet.conf

#
# InputClass sections for some tablets supported by the DIGImend kernel
# drivers. Organized into separate InputClass sections based on (one of) the
# advertised brands. Mostly because the MatchUSBID options would become too
# long otherwise.
#
Section "InputClass"
        Identifier "Huion tablets with Wacom driver"
        MatchUSBID "5543:006e|256c:006e|256c:006d"
        MatchDevicePath "/dev/input/event*"
#       MatchIsKeyboard "false"
        MatchIsTablet "true"
        Driver "wacom"
EndSection

Section "InputClass"
        Identifier "Tablet low-res touch controls with Wacom driver"
        MatchUSBID "256c:*"
        MatchDevicePath "/dev/input/event*"
        MatchTag "low_res_touch"
        Driver "wacom"
        Option "Suppress" "0"
EndSection

Section "InputClass"
        Identifier "Ugee/XP-Pen tablets with Wacom driver"
        MatchUSBID "28bd:007[1458]|28bd:0094|28bd:0042|5543:004[57]|5543:0081|5543:0004|5543:3031"
        MatchDevicePath "/dev/input/event*"
        Driver "wacom"
EndSection

Section "InputClass"
        Identifier "Ugtizer tablets with Wacom driver"
        MatchUSBID "2179:0053"
        MatchDevicePath "/dev/input/event*"
        Driver "wacom"
EndSection

Section "InputClass"
        Identifier "Yiynova tablets with Wacom driver"
        MatchUSBID "5543:004d"
        MatchDevicePath "/dev/input/event*"
        Driver "wacom"
EndSection

The tablet works, except the area is totally incorrect. The second vertical half of the tablet doesn't work, even though it does register events, the X never goes higher than 1349 in Krita somehow. This happens when I do xsetwacom list:

HID 256c:006d stylus                    id: 9   type: STYLUS
HID 256c:006d eraser                    id: 14  type: ERASER

Where is HID 256c:006d pad? Is it trying to gaslight me into thinking it was never there? Something is totally wrong here.

And when I do libinput list-devices I get this weird error:

event7  - HID 256c:006d: libinput bug: missing tablet capabilities: resolution. Ignoring this device.

Why is this happening? On Linux 5.15 the Huion H950P worked perfectly, and now it is ruined. Now I can't draw for Halloween :(

squeaktoy commented 8 months ago

I FOUND THE FIX! You have to modprobe hid-uclogic! As it turns out, udev may not automatically load this module. eudev does automatically load this module, but after being forced to switch to udev by gentoo, some modules just do not load despite my hardware requiring them.

Anyone with the same issue, consider making the file /etc/modules-load.d/drawing-tablet.conf with the contents:

hid-uclogic

and then udev should load it at boot.