Bug 404860 - Tablet pressure not working in hidpi
Summary: Tablet pressure not working in hidpi
Status: RESOLVED DUPLICATE of bug 398778
Alias: None
Product: krita
Classification: Applications
Component: Tablets (tablet issues are only very rarely bugs in Krita!) (show other bugs)
Version: 4.1.7
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-26 21:45 UTC by Davide Baldo
Modified: 2019-04-17 21:49 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Davide Baldo 2019-02-26 21:45:47 UTC
SUMMARY


STEPS TO REPRODUCE
1. QT_AUTO_SCREEN_SCALE_FACTOR="" ~/Downloads/krita-4.1.7-x86_64.appimage
2. krita opens and it's sized correctly :)
3. draw with pressure sensitive brush: pressure is IGNORED

1. QT_AUTO_SCREEN_SCALE_FACTOR="0" ~/Downloads/krita-4.1.7-x86_64.appimage
2. krita opens and it's really small :(
3. draw with pressure sensitive brush: pressure is CORRECT

with hidpi(QT_AUTO_SCREEN_SCALE_FACTOR="") sometime under unknown condition the pressure works.
without hidpi(QT_AUTO_SCREEN_SCALE_FACTOR="0") krita pressure always work.

This happens with both USB and BLUETOOTH wacom intous 2018 (top 4 buttons in a raw without eraser).
This also happen with native krita (4.1.7-r1)


SOFTWARE/OS VERSIONS
Linux/KDE Plasma:  gentoo/kernel 4.14.61
KDE Plasma Version: 5.14.5
KDE Frameworks Version: 5.54.0
Qt Version: 5.11.3
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 960M/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 415.27
OpenGL core profile shading language version string: 4.50 NVIDIA


$ lsusb -v
Bus 001 Device 009: ID 056a:0376 Wacom Co., Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x056a Wacom Co., Ltd
  idProduct          0x0376 
  bcdDevice            1.07
  iManufacturer           1 Wacom Co.,Ltd.
  iProduct                2 Intuos BT S
  iSerial                 3 XXXXXXXXXXX
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     759
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

$ set | grep QT_
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_GRAPHICSSYSTEM=native
QT_IM_MODULE=fcitx
QT_SCREEN_SCALE_FACTORS='eDP-1=2.6;DP-1=2.6;HDMI-1=2.6;DP-2=2.6;'

$ ldd /usr/bin/krita
	linux-vdso.so.1 (0x00007ffefe773000)
	libkritaui.so.17 => /usr/lib64/libkritaui.so.17 (0x00007f7127a2b000)
	libKF5Crash.so.5 => /usr/lib64/libKF5Crash.so.5 (0x00007f7127823000)
	libkritawidgetutils.so.17 => /usr/lib64/libkritawidgetutils.so.17 (0x00007f71274e0000)
	libkritaglobal.so.17 => /usr/lib64/libkritaglobal.so.17 (0x00007f71272aa000)
	libKF5I18n.so.5 => /usr/lib64/libKF5I18n.so.5 (0x00007f7127059000)
	libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5 (0x00007f7126803000)
	libQt5Gui.so.5 => /usr/lib64/libQt5Gui.so.5 (0x00007f7126116000)
	libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007f7125a69000)
	libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/libstdc++.so.6 (0x00007f7125662000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/libgcc_s.so.1 (0x00007f712544a000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f7125084000)
	libQt5Network.so.5 => /usr/lib64/libQt5Network.so.5 (0x00007f7124cf2000)
	libkritaimpex.so.17 => /usr/lib64/libkritaimpex.so.17 (0x00007f7124ad6000)
	libkritacolor.so.17 => /usr/lib64/libkritacolor.so.17 (0x00007f71248d2000)
	libkritalibbrush.so.17 => /usr/lib64/libkritalibbrush.so.17 (0x00007f7124676000)
	libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f7124440000)
	libexiv2.so.27 => /usr/lib64/libexiv2.so.27 (0x00007f7123f86000)
	libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f7123c49000)
	libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f7123a39000)
	libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f7123810000)
	libkritaimage.so.17 => /usr/lib64/libkritaimage.so.17 (0x00007f71231df000)
	libkritawidgets.so.17 => /usr/lib64/libkritawidgets.so.17 (0x00007f7122eb9000)
	libKF5Completion.so.5 => /usr/lib64/libKF5Completion.so.5 (0x00007f7122c82000)
	libkritaflake.so.17 => /usr/lib64/libkritaflake.so.17 (0x00007f712282f000)
	libkritapsd.so.17 => /usr/lib64/libkritapsd.so.17 (0x00007f71225e0000)
	libkritapigment.so.17 => /usr/lib64/libkritapigment.so.17 (0x00007f712223b000)
	libkritacommand.so.17 => /usr/lib64/libkritacommand.so.17 (0x00007f712201e000)
	libKF5ItemViews.so.5 => /usr/lib64/libKF5ItemViews.so.5 (0x00007f7121de5000)
	libkritaodf.so.17 => /usr/lib64/libkritaodf.so.17 (0x00007f7121b4d000)
	libkritastore.so.17 => /usr/lib64/libkritastore.so.17 (0x00007f7121935000)
	libkritaversion.so.17 => /usr/lib64/libkritaversion.so.17 (0x00007f7121733000)
	libQt5PrintSupport.so.5 => /usr/lib64/libQt5PrintSupport.so.5 (0x00007f71214bc000)
	libKF5GuiAddons.so.5 => /usr/lib64/libKF5GuiAddons.so.5 (0x00007f71212a2000)
	libKF5WidgetsAddons.so.5 => /usr/lib64/libKF5WidgetsAddons.so.5 (0x00007f7120f4c000)
	libkritaplugin.so.17 => /usr/lib64/libkritaplugin.so.17 (0x00007f7120d31000)
	libKF5CoreAddons.so.5 => /usr/lib64/libKF5CoreAddons.so.5 (0x00007f7120a9a000)
	libQt5X11Extras.so.5 => /usr/lib64/libQt5X11Extras.so.5 (0x00007f7120895000)
	libKF5ConfigGui.so.5 => /usr/lib64/libKF5ConfigGui.so.5 (0x00007f7120675000)
	libKF5ConfigCore.so.5 => /usr/lib64/libKF5ConfigCore.so.5 (0x00007f7120412000)
	libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5 (0x00007f71201d8000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f711fe4d000)
	libKF5WindowSystem.so.5 => /usr/lib64/libKF5WindowSystem.so.5 (0x00007f711fc00000)
	libQt5DBus.so.5 => /usr/lib64/libQt5DBus.so.5 (0x00007f711f96f000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f711f74f000)
	libGL.so.1 => /usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00007f711f4a6000)
	libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f711f1d0000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f711efb9000)
	libicui18n.so.63 => /usr/lib64/libicui18n.so.63 (0x00007f711eaf9000)
	libicuuc.so.63 => /usr/lib64/libicuuc.so.63 (0x00007f711e733000)
	libpcre2-16.so.0 => /usr/lib64/libpcre2-16.so.0 (0x00007f711e4bc000)
	libdouble-conversion.so.1 => /usr/lib64/libdouble-conversion.so.1 (0x00007f711e2b0000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f711e0ac000)
	libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f711dd95000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f712b4d8000)
	libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f711db27000)
	libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f711d6ec000)
	libkritacolord.so.17 => /usr/lib64/libkritacolord.so.17 (0x00007f711d4c5000)
	libQt5Svg.so.5 => /usr/lib64/libQt5Svg.so.5 (0x00007f711d26e000)
	libQt5Concurrent.so.5 => /usr/lib64/libQt5Concurrent.so.5 (0x00007f711d067000)
	libexpat.so.1 => /usr/lib64/../lib64/libexpat.so.1 (0x00007f711ce3d000)
	libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f711cc2b000)
	libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f711ca27000)
	libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f711c821000)
	libgsl.so.0 => /usr/lib64/libgsl.so.0 (0x00007f711c3f5000)
	libKF5Archive.so.5 => /usr/lib64/libKF5Archive.so.5 (0x00007f711c1bb000)
	libxcb-keysyms.so.1 => /usr/lib64/libxcb-keysyms.so.1 (0x00007f711bfb8000)
	libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f711bd70000)
	libGLX.so.0 => /usr/lib64/opengl/nvidia/lib/libGLX.so.0 (0x00007f711bb40000)
	libGLdispatch.so.0 => /usr/lib64/opengl/nvidia/lib/libGLdispatch.so.0 (0x00007f711b86d000)
	libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f711b5b3000)
	libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f711b390000)
	libicudata.so.63 => /usr/lib64/libicudata.so.63 (0x00007f71197a2000)
	libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f7119530000)
	libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007f7119319000)
	libgslcblas.so.0 => /usr/lib64/libgslcblas.so.0 (0x00007f71190dc000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f7118ecb000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f7118ca5000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f7118a9d000)
Comment 1 Davide Baldo 2019-02-26 21:50:19 UTC
my screen is a 15" 4k
Comment 2 Halla Rempt 2019-02-26 21:51:21 UTC
* What happens if you use Krita's internal switch to enable hidpi (in the settings dialog) instead of the old environment variables?
* Does this also happen with the nightly build appimage?
Comment 3 Davide Baldo 2019-02-26 22:15:17 UTC
> * What happens if you use Krita's internal switch to enable hidpi (in the settings dialog) instead of the old environment variables?

QT_AUTO_SCREEN_SCALE_FACTOR="" QT_SCREEN_SCALE_FACTORS="" ./krita-4.2.0-pre-alpha-7d4289d-x86_64.appimage
scales correctly but no pen pressure

> * Does this also happen with the nightly build appimage?
Yes, downloaded krita-4.2.0-pre-alpha-7d4289d-x86_64.appimage
scales correctly but no pen pressure


I also noticed that sometime the pen doesn't work anymore (at all, can't draw anything not only pressure) randomly, has something to do with focus and sometimes happens when i press tab, workaround is to move cursor outside krita and back inside.
Comment 4 Davide Baldo 2019-02-26 22:20:36 UTC
just to be as complete as possible

name of display:    :0
version number:    11.0
vendor string:    The X.Org Foundation
vendor release number:    12003000
X.Org version: 1.20.3
maximum request size:  16777212 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, LSBFirst, 32
image byte order:    LSBFirst
number of supported pixmap formats:    7
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 4, bits_per_pixel 8, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 15, bits_per_pixel 16, scanline_pad 32
    depth 16, bits_per_pixel 16, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    depth 32, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 255
focus:  window 0x2800007, revert to PointerRoot
number of extensions:    28
    BIG-REQUESTS
    Composite
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    DRI2
    GLX
    Generic Event Extension
    MIT-SCREEN-SAVER
    MIT-SHM
    NV-CONTROL
    NV-GLX
    Present
    RANDR
    RECORD
    RENDER
    SHAPE
    SYNC
    X-Resource
    XC-MISC
    XFIXES
    XFree86-DGA
    XFree86-VidModeExtension
    XINERAMA
    XInputExtension
    XKEYBOARD
    XTEST
    XVideo
default screen number:    0
number of screens:    1
Comment 5 Davide Baldo 2019-02-26 22:21:37 UTC
screen #0:
  dimensions:    3840x2160 pixels (391x220 millimeters)
  resolution:    249x249 dots per inch
  depths (7):    24, 1, 4, 8, 15, 16, 32
  root window id:    0x24e
  depth of root window:    24 planes
  number of colormaps:    minimum 1, maximum 1
  default colormap:    0xb0
  default number of colormap cells:    256
  preallocated pixels:    black 0, white 16777215
  options:    backing-store WHEN MAPPED, save-unders NO
  largest cursor:    64x64
  current input event mask:    0xfa8031
    KeyPressMask             EnterWindowMask          LeaveWindowMask          
    ExposureMask             StructureNotifyMask      SubstructureNotifyMask   
    SubstructureRedirectMask FocusChangeMask          PropertyChangeMask       
    ColormapChangeMask       
  number of visuals:    132
Comment 6 Dmitry Kazakov 2019-04-17 16:13:31 UTC
Hi, Davide!

I think I have fixed the bug a couple of weeks ago. Could you please test the nightly builds and check if the problem has gone?

Could you please test these nightly builds?
https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/

In older versions we used incorrect screen resolution for scaling tablet events, which could cause troubles with HiDPI displays. I have fixed this problem quite recently, so it should work now.

If you still see the problem in nightly builds, please reopen the bug :)

Reference commit:
https://phabricator.kde.org/R37:91963c577fad5adb226809fac4c00aeafb846128

*** This bug has been marked as a duplicate of bug 398778 ***
Comment 7 Davide Baldo 2019-04-17 21:49:31 UTC
Hi Dimitry,

I just tested it and works like a charm! :)

Thank you