Linux drivers do not show controls, cannot calibrate, pen doesn't work - ubuntu 22.10

Ubtuntu 22.10

Kamvas 13 pro (GT-133)

Driver versions tested: 15.0.0.89, 15.0.0.121

----------------------------------------------------------------------

I installed the recommended driver, and the device was correctly recognized. I configured as a second display and it's aligned correctly under the main display/monitor.

However, the pen is "trapped" within the main display. It doesn't show on the tablet itself.

After I uninstalled the recommended driver, and installed the latest version, the same thing happened.

Yes I rebooted, etc.

On top of this, it's impossible to calibrate the monitor, as the control itself is not there.

Other controls are missing, too.

See the following pictures.

Differences between the Windows and Ubuntu 22.10 interfaces of the Huion driver:

WINDOWS:

image

UBUNTU:

image

WINDOWS:

image

UBUNTU:

image

WINDOWS:

UBUNTU:

image

No "Monitor calibration" button - no ability to test pen pressure - no options in the General settings.

Any way to work around this? The tablet is unusable with Ubuntu as it is.

  • Hi Wes, thank you for your feedback on our Linux driver. I have forwarded your information to our software engineers. We are hoping for your patience and understanding as we look into having this feature in our future driver version. 

    Best Regards,

    HUION Customer Support

  • Hi Unaligned Coder, I'm sorry for the long wait. Kindly try this driver version and check if your calibration issue is resolved: HuionTablet_LinuxDriver_v15.0.0.133.x86_64.tar.xz. I look forward to your feedback.

    Best Regards,

    HUION Customer Support

  •  I found a workaround. Caveat: I do not know if this will work for Wayland, but it works for X.

    This is actually on my son's PC (in another city) so I can't paste in every detail of the solution, but should be enough for others to figure out.

    Basically, you use xinput to set the "Coordinate Transformation Matrix" for the device, with horizontal and vertical offsets to put the "dot" in the correct location.

    But there is a catch.

    When you first boot, and have not yet brought the stylus to the screen, Linux does not yet "see" the stylus as a device. All you need to do is touch the stylus to the screen (or bring it close enough that you see it move the cursor.)

    So, here is one page discussing the technique. This is an Arch Linux page, but it applies to other distros. You can search for other pages.

    https://wiki.archlinux.org/title/Calibrating_Touchscreen

    Where it says to run "xinput list", that is the part where, if you have not yet brought the stylus to the screen, Linux will not "see" the stylus. So do that first.

    Then it says run 'xinput list-props "Device Name"' and look for "Coordinate Transformation Matrix".

    The default matrix is likely all 1's and 0's. This is fine.

    Four of these numbers are percentages from 0 to 1. For a monitor/tablet such as this, when you are running the monitor at its native resolution, you shouldn't need to change the width/height values, only the offsets, which by default should be zero.

    Example, if you see this:

    Coordinate Transformation Matrix (deviceid):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    You want to change the 3rd and 6th values from zero to some small float value.

    3rd value is horizontal offset. If "dot" appears to the right of the stylus, you will want this to be a negative value. If "dot" is to left, make this value positive.

    Same for 6th value, vertical offset.

    You can go to the trouble of calculating values, or just use trial and error. When you set the new matrix, you don't have to include all the zeros after the decimal point, e.g. you could set it as:

    xinput set-prop "Device Name" --type=float "Coordinate Transformation Matrix" 1 0 -0.002 0 1 -0.003 0 0 1

    Use up arrow for command history to tweak the 3rd and 6th values until the stylus is calibrated as desired. Now save this entire command! Put it in a text file for now.

    The next challenge is getting this to work every time you boot up.

    I have not been able to get Linux to recognize the stylus on boot, when it has not yet been brought to the screen. What I did instead was:

    - Create a bash script with the command
    - Linked it to an icon on the taskbar (or desktop)
    - Click this icon with the stylus after boot :)

    One could just bring the stylus near the screen and then click the icon with the mouse, but why not just click it with the stylus. Linux has recognized the device before the stylus has fully touched the screen, so it works fine.

  • Hi Wes, thank you for sharing your workaround. I have forwarded this to our software engineers so they can test this further. We appreciate you sharing this information. 

    Best Regards,

    HUION Customer Support

  •  No problem.

    I suspect that since the stylus is not externally powered or connected (powered by being near screen, kind of like RFID maybe?) that the PC can't tell whether the stylus exists or not, until it has been used once. Not sure if there's a way to force Linux to recognize it after boot (i.e. assume it exists and make the device available regardless if sensed) but if possible, that should make it possible to calibrate on boot (whether in Huion software or with the script I described.) Anyway, I hope my last reply is useful to end users in the interim, and to devs when working on the software.

Login or Signup to post a comment