HUION Kamvas Pro 22 drivers not available on DIGImend list


from the sound of it, it will log and you’ll be able to see errors in real time as they occur right on the tablet screen, what kind, how often and whats causing them


Thanks @bogdancovaciu and @dglt. I have made

xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=13	[slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse              	id=11	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ Chicony USB2.0 Camera: Chicony          	id=10	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]

I cannot see any difference in the results of xinput --list when the screen of my tablet displays what I can see on the screen of my laptop and when it displays nothing. Furtheremore, it changes also nothing (on xinput --list) if I use the HDMI connexion or the video connexion (DVI? I am not sure it is called like this), whereas the image can still be seen on the screen with these two options.


did you open krita and press ctrl+shift+t ?
btw, this is where i got that direction set


In the meantime, I have made it. When I press ctrl+shift+t , a small windows appears telling “enregistrement des évènements de la tablette activé” but it changes nothing. The stylus is not recognized and the xinput --list lets appear still the same list…


is that window showing debugging info as you use the pad? buttons and such?


I don’t understand what I happened! I close and reopen Krita and it works, the stylus is recognized and I can draw in Krita and in Gimp!! :partying_face: Thanks very much @dglt and @bogdancovaciu !! It is nevertheless a pity to not understanding what debugged it… But thanks anyway!!
edit : now the xinput --list contains the kamvas pen:

xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=13	[slave  pointer  (2)]
⎜   ↳ kamvas-pen                              	id=14	[slave  pointer  (2)]
⎜   ↳ kamvas-pen                              	id=15	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
    ↳ Chicony USB2.0 Camera: Chicony          	id=10	[slave  keyboard (3)]
    ↳ Video Bus  

edit#2: since I am using Inkscape and Gimp, I have tried to desinstall Krita from Pamac and tested the graphic tablet afterwards. Now it does not work at all. :tired_face: Why should the functionality of this graphic tablet should be apparently linked with the presence/absence of Krita? Now I will try to reboot, open/close Krita. to make it functions once again.

edit#3: I have rebooted, opened/closed Krita, made ctrl+shift+t and the pen is not recognized anymore! What a pity! It worked! Now it does not work! What a fool I am :hot_face:! Does someone has an idea what I should make? Just a remark, everytime that I open Krita if I make ctrl+shift+t it tells me the same message “enregistrement des évènements de la tablette activé” even if I do not do a second time to have the message “enregistrement des évènements de la tablette désactivé” (i.e. to deactivate). Maybe it can help someone or it is not the right direction at all to make the pen be also recognized ?

Would Ugee 2150 and a Wacom tablet conflict?

Now that it works, I had another display problem since the beginning when I have connected this graphic tablet on my laptop. Normally I am using (I don’t remember which one exactly - maybe 1280x720 - and I have tested the different resolutions and noone - except the biggest i.e. 1920x1080 - allows me to see since then the xfce panel at the bottom of my normal screen). When I have connected the graphic tablet, I should choice for the biggest one 1920x1080 instead of my medium one to see all the part of my screen on the screen of my laptop. But now, after disconnecting the graphic tablet, if I choice “smaller” resolutions I can just see on my lapytop’s the top left part of my total screen… What is the solution to have my normal resolution working again and at the same time have the possibility to work with the graphic tablet?
Thanks once again
edit: disconnecting completely by removing the usb connection with the graphic tablet apparently makes a difference a allows me to see all my screen in 1280x720. Nevertheless, the problem is not completely solved, since when I use a video projector, it creates the same kind of problem (and making a mess on the different links on my desktop)…


@dglt and @bogdancovaciu have you an idea why I does not work anymore, cf.edit#2
To help you here is the lsmod

hid_uclogic            16384  0
rfcomm                 86016  4
fuse                  118784  3
snd_hda_codec_hdmi     57344  1
snd_hda_codec_realtek   114688  1
snd_hda_codec_generic    86016  1 snd_hda_codec_realtek
joydev                 24576  0
arc4                   16384  2
bnep                   24576  2
iTCO_wdt               16384  0
intel_rapl             24576  0
uvcvideo              118784  0
iwlmvm                442368  0
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
i915                 2097152  11
coretemp               16384  0
mac80211              929792  1 iwlmvm
kvm_intel             245760  0
iTCO_vendor_support    16384  1 iTCO_wdt
btusb                  53248  0
kvmgt                  28672  0
btrtl                  16384  1 btusb
crct10dif_pclmul       16384  0
crc32_pclmul           16384  0
videobuf2_vmalloc      16384  1 uvcvideo
vfio_mdev              16384  0
btbcm                  16384  1 btusb
ghash_clmulni_intel    16384  0
mdev                   20480  2 kvmgt,vfio_mdev
videobuf2_memops       16384  1 videobuf2_vmalloc
vfio_iommu_type1       28672  0
videobuf2_v4l2         28672  1 uvcvideo
btintel                24576  1 btusb
pcbc                   16384  0
videobuf2_common       53248  2 videobuf2_v4l2,uvcvideo
vfio                   32768  3 kvmgt,vfio_mdev,vfio_iommu_type1
mousedev               24576  0
bluetooth             655360  31 btrtl,btintel,btbcm,bnep,btusb,rfcomm
videodev              217088  3 videobuf2_v4l2,uvcvideo,videobuf2_common
kvm                   737280  2 kvmgt,kvm_intel
iwlwifi               344064  1 iwlmvm
snd_hda_intel          45056  3
media                  45056  2 videodev,uvcvideo
ecdh_generic           24576  1 bluetooth
snd_hda_codec         151552  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
aesni_intel           200704  0
irqbypass              16384  1 kvm
i2c_algo_bit           16384  1 i915
aes_x86_64             20480  1 aesni_intel
snd_hda_core           94208  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
crypto_simd            16384  1 aesni_intel
cryptd                 28672  3 crypto_simd,ghash_clmulni_intel,aesni_intel
drm_kms_helper        208896  1 i915
glue_helper            16384  1 aesni_intel
intel_cstate           16384  0
intel_uncore          135168  0
nls_iso8859_1          16384  1
nls_cp437              20480  1
snd_hwdep              16384  1 snd_hda_codec
drm                   495616  6 drm_kms_helper,i915
intel_rapl_perf        16384  0
vfat                   24576  1
cfg80211              778240  3 iwlmvm,iwlwifi,mac80211
fat                    81920  1 vfat
pcspkr                 16384  0
snd_pcm               131072  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
psmouse               172032  0
nf_log_ipv6            16384  5
input_leds             16384  0
ip6t_REJECT            16384  1
nf_reject_ipv6         16384  1 ip6t_REJECT
snd_timer              36864  1 snd_pcm
mei_me                 45056  0
intel_gtt              24576  1 i915
xt_hl                  16384  22
snd                    98304  14 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm
agpgart                49152  2 intel_gtt,drm
soundcore              16384  1 snd
tpm_crb                16384  0
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
rtsx_pci_ms            20480  0
sysimgblt              16384  1 drm_kms_helper
i2c_i801               32768  0
rfkill                 28672  6 bluetooth,cfg80211
ip6t_rt                16384  3
mei                   114688  1 mei_me
fb_sys_fops            16384  1 drm_kms_helper
r8168                 540672  0
intel_pch_thermal      16384  0
wmi                    28672  0
memstick               16384  1 rtsx_pci_ms
nf_log_ipv4            16384  5
nf_log_common          16384  2 nf_log_ipv4,nf_log_ipv6
battery                24576  0
ipt_REJECT             16384  1
nf_reject_ipv4         16384  1 ipt_REJECT
xt_LOG                 16384  10
tpm_tis                16384  0
tpm_tis_core           20480  1 tpm_tis
xt_limit               16384  13
tpm                    65536  3 tpm_tis,tpm_crb,tpm_tis_core
xt_addrtype            16384  4
xt_tcpudp              16384  18
rng_core               16384  1 tpm
evdev                  24576  14
ac                     16384  0
mac_hid                16384  0
pcc_cpufreq            16384  0
xt_conntrack           16384  16
ip6table_filter        16384  1
ip6_tables             32768  53 ip6table_filter
nf_conntrack_netbios_ns    16384  0
nf_conntrack_broadcast    16384  1 nf_conntrack_netbios_ns
nf_nat_ftp             16384  0
nf_nat                 36864  1 nf_nat_ftp
nf_conntrack_ftp       20480  1 nf_nat_ftp
nf_conntrack          163840  6 xt_conntrack,nf_nat,nf_nat_ftp,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_conntrack_ftp
nf_defrag_ipv6         20480  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
libcrc32c              16384  2 nf_conntrack,nf_nat
iptable_filter         16384  1
uinput                 20480  0
vboxpci                28672  0
vboxnetflt             32768  0
vboxnetadp             28672  0
vboxdrv               483328  3 vboxpci,vboxnetadp,vboxnetflt
crypto_user            16384  0
ip_tables              28672  11 iptable_filter
x_tables               45056  13 ip6table_filter,xt_conntrack,iptable_filter,xt_LOG,xt_tcpudp,xt_addrtype,ip6t_rt,ip6_tables,ipt_REJECT,ip_tables,xt_limit,xt_hl,ip6t_REJECT
ext4                  733184  2
crc32c_generic         16384  0
crc16                  16384  2 bluetooth,ext4
mbcache                16384  1 ext4
jbd2                  126976  1 ext4
fscrypto               32768  1 ext4
hid_generic            16384  0
usbhid                 57344  0
hid                   139264  3 usbhid,hid_uclogic,hid_generic
sr_mod                 28672  0
cdrom                  69632  1 sr_mod
sd_mod                 61440  3
rtsx_pci_sdmmc         28672  0
mmc_core              176128  1 rtsx_pci_sdmmc
serio_raw              16384  0
atkbd                  32768  0
libps2                 16384  2 atkbd,psmouse
ahci                   40960  2
libahci                40960  1 ahci
crc32c_intel           24576  5
libata                278528  2 libahci,ahci
rtsx_pci               73728  2 rtsx_pci_sdmmc,rtsx_pci_ms
xhci_pci               16384  0
scsi_mod              253952  3 sd_mod,libata,sr_mod
xhci_hcd              262144  1 xhci_pci
i8042                  32768  0
serio                  28672  9 serio_raw,atkbd,psmouse,i8042


nice! :partying_face:

not so nice :disappointed:

did you get it back up and running with the pen? are we good on that front before jumping into screen resolution which would be a completely different issue??
also please format your last post , 3 backticks before/after output, right now it looks like a dictionary in a blender


Even this was making it working is not quite ok, because from what i understand one needs to be the stylus, one eraser and/or there needs to be a pad.

Make sure after each reboot to turn off and on the tablet. Like i mentioned about that event previously … Then open Krita.

it seems to be loaded, but if you removed the line as suggested here:

from file, then i don’t know if leads to a desired behavior.

From those 3 drivers you tested, what mixup have you made so far?

One thing that is particular with the latest XFCE gtk3 Manjaro 18 is that for some reason the Stylus events are not rendered correctly. When i tested using MyPaint there is no pressure registered. I didn’t find the cause. XFCE gtk2 is working, it registers the Stylus pressure.

Well, you now have 3 Displays, all different resolutions and one Screen governed by xorg. Each time you will change that, the tablet will have to be mapped differently. Since you are in XFCE you either use arandr to set them up, or make scripts for xrandr to set the Screen and Displays correctly, then map the tablet …

With many changes at once is hard to trace what might cause the tablet to fail to register.


This may be totally irrelevant, but I thought I’d mention it. I see this on networking support threads occasionally. Absolutely nothing will get the module to load properly, then I ask them to put the laptop into suspend, and bingo, all of a sudden the adapter is working.

I’ve absolutely no explanation why this sometimes kick starts hardware into working that otherwise wont, but I’ve seen it work often enough to recommend this regularly now.


Thanks for all your messages @dglt @bogdancovaciu and @tbg.

For what I wanted to do by now, the use of the pen with its sensibility as it was working was enough or was a first good step.
I did not have Krita installed on my computer and installed it because you told me to try to press ctrl+shift+t in this program. I have seen this week-end that if I chose “open with” for a file, every software is proposed once, but Krita is proposed 20 times in a row, the one listed below the others! I suppose that the fact that the pen is not anymore recognized do not rely on it but I thought that I could mention it since I install Krita from pamac especially for that purpose and deinstall from pamac it when it worked and the reinstalled it from pamac.

I am not sure to have understood what you have meant. As @dglt told me to do, my script is now like this:

#!/usr/bin/env bash
# Adjust this as needed

BUS=$(lsusb | grep "$T" | sed -e 's|Bus \([0-9]*\) Device \([0-9]*\):.*$|\1|g')
DEV=$(lsusb | grep "$T" | sed -e 's|Bus \([0-9]*\) Device \([0-9]*\):.*$|\2|g')

sudo modprobe uinput
sudo uclogic-probe $BUS $DEV | uclogic-decode
sleep 3 # wait until device is released again
sudo python3 $DRIVER

and if I do lsmod the first cited item hid_uclogic.

Module                  Size  Used by
hid_uclogic            16384  0

Should hic_uclogic be there or not?

I just have two scripts and that I have tested and that have worked a few minutes. I have not tested anything coming from GT191 posted on GitLab by Tobias Frisch.

I still do not understand why the process does not stop when I do ```
sudo ./ and sudo ./ and why my computer is beginning to make noise with the ventilator. Is there a possibility to close also the terminal for the other script like what is working for

I have the impression that what is important is in which order I run the different operations. Is the proper order this one:
1- reboot
2- connect hdmi ans USB cables from the graphic tablet.
3- in the good directory make sudo ./ or a similar one like @tbg told me.
4- in the good directory make sudo ./ or an alternative that allow to be completely done like @tbg wrote for the former script
5- open krita
6- press ctrl+shift-t
and test if the pen is working?

Should it be like it or should it be in an other order?

Should the two scripts be run in a terminal at each time before I want to try to use the tablet?

Yes, it is to early to speak about the display resolution problem etc.

Thanks once again to all of you for your patience.


when i told you to remove that, it was because it was causing a error in the script but i think that maybe an error from you running the script more than once after boot. maybe try:
-re-adding that line to the script
-leave tablet hooked up to the hdmi and on
-power down, if laptop then remove battery if possible and hold down power button for 10 seconds, replace battery boot, if pc then unplug and do the same, plug back in/boot
-run scripts
sudo ./
sudo ./
-working? yes, great., if not then continue on
-power tablet down and back up
-check to see if its working with krita (i say krita because you previously were able to get it working with krita and narrowing the variables makes things less complicated)


Aren’t this two identical and would be redundant to run them one after another?


I think they are not redundant but @dglt knows better than me.


Are those identical or not?


no, they are different


Ok, what are they suppose to do different over the fact that each calls for from different locations … also those are different or identical ? Don’t get me wrong but i just want to make sure we don’t chase two things in the same time.


The probe one:

#!/usr/bin/env bash
# Adjust this as needed

BUS=$(lsusb | grep "$T" | sed -e 's|Bus \([0-9]*\) Device \([0-9]*\):.*$|\1|g')
DEV=$(lsusb | grep "$T" | sed -e 's|Bus \([0-9]*\) Device \([0-9]*\):.*$|\2|g')

sudo modprobe uinput
sudo uclogic-probe $BUS $DEV | uclogic-decode
sleep 3 # wait until device is released again
sudo python3 $DRIVER

The start-driver one :

#!/usr/bin/env bash
# Adjust this as needed

BUS=$(lsusb | grep "$T" | sed -e 's|Bus \([0-9]*\) Device \([0-9]*\):.*$|\1|g')
DEV=$(lsusb | grep "$T" | sed -e 's|Bus \([0-9]*\) Device \([0-9]*\):.*$|\2|g')

sudo rmmod hid_uclogic
sudo modprobe uinput
sudo /usr/local/bin/uclogic-probe $BUS $DEV | /usr/local/bin/uclogic-decode
sudo python3 $DRIVER

I have not by now added sudo rmmod hid_uclogicas @dglt told me since I want to be sure that is should be added like it is in the start-driver one.


i know what your saying, im trying to re-read this thread because i honestly dont remember what we’ve tried so far.
@killi have we run through the gt-191 instructions from git? i think bogdan mentioned before and i agree that the gt-191 seems like a more similar device