https://bugs.kde.org/show_bug.cgi?id=392251

            Bug ID: 392251
           Summary: Krita crashes/hang (and sometimes takes with it the
                    entire X system) when using Touch display
           Product: krita
           Version: 4.0
          Platform: Ubuntu Packages
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: krita-bugs-n...@kde.org
          Reporter: kxk-ocumoatbugs...@lugosys.com
  Target Milestone: ---

Krita 4.0.0 (and sometimes the entire X system) crashes / hang when using a
Wacom Cintiq Touch display.

Context:

My system is: Kubuntu 16.04 running on an 8 core AMD FX8350 processor, 16GB RAM
and Nvidia GeForce GTX 1050 (details at the end)

I have two fixed monitors (Philips and Samsung) and a Wacom Cintiq 27QHD Touch
display connected to the GPU DisplayPort connector, that I switch on only when
working with krita. It gets configured as the third monitor, at the far right.

IMPORTANT: Krita 3.3.3 (appimage) works absolutely normally without any of the
problems below described for Krita 4.0.0, either in KDE, in Xfce or in
Enlightenment 0.22.2.

Sequence, description of, and how the failure is triggered:
(See below "Additional context information" for further pre-existing
conditions)

1. Disable gesture issuing a `xsetwacom` command (see how and why below) so
that fingers touching the screen won't paint. 

2. Open krita 4.0.0 and create a new document.

At this point:

a) If in KDE:

Fingers don't paint (OK) BUT also gestures are ignored (WRONG), namely the
zooming or panning gestures don't work. Expected behaviour: fingers won't paint
and gestures work (as in v3.3.x).
Attempting at this point to change any Wacom configuration regarding touching,
e.g. finger touch gesture on/off again will crash/hang Krita (it gets totally
irresponsive) and sometimes the X system also (all input to X is ignored,
including keyboard) and only solution is restart the system. Also, attempting
to use Krita painting and zooming, rotating, at some point it crashes/hangs as
explained. I could not figured out exactly what would crash it so badly, it's
very annoying troubleshooting something this bad. So I changed to Xfce:

b) If in Xfce:

Fingers don't paint (OK) AND zooming and panning gestures do work (OK), as
expected.
BUT: open the pop-up palette and do some rotate of the canvas, using a finger
to control the rotating slider.
Click back on the document with the finger and now, bizarrely, the touch with
the finger does PAINT and gestures are not recognized (the opposite to expected
behaviours). Keep painting with the fingers. Bring back again the pop-up
palette and try to rotate again the document using a finger, and the whole X
system crash badly like described above. So I changed to Enlightenment:

c) If in Enlightenment:

Launching Krita4 with a desktop launcher doesn't work: there is an generic
error from Enlightenment: "Krita stopped running unexpectedly. There was no
error message". However, Krita appimage works if launched from the terminal:

$ ./krita-4.0.0-x86_64.appimage

The program launches. After creating a document:

Fingers don't paint (OK) AND zooming and panning gestures do work (OK).
HOWEVER: open the pop-up palette and do some rotate of the canvas, using a
finger to control the rotating slider.
Click back on the document with a finger and notice that it generates a stroke
and gestures are not recognized (both unexpected wrong behaviours). Keep
painting with the fingers. Bring back again the pop-up palette and try to
rotate again the document using a finger, and Krita hangs badly as described
above. The X system doesn't crash. These errors are displayed on the console
after others (I will provide full listing if requested):

krita.general: Could not find font QVariant(QString, "Source Sans Pro") with
style QVariant(QString, "Light")
krita.general: Could not find font QVariant(QString, "Source Sans Pro") with
style QVariant(QString, "Regular")
file:///tmp/.mount_krita-RfVPUL/usr/lib/qml/org/krita/sketch/components/Button.qml:84:9:
QML Image: Failed to get image from provider: image://icon/opacity-decrease
krita.input: KisAbstractInputAction "Zoom Canvas" tried to process event data
from an unhandled event type QEvent::Type(TouchUpdate)
krita.input: KisAbstractInputAction "Zoom Canvas" tried to process event data
from an unhandled event type QEvent::Type(TouchUpdate)
krita.input: KisAbstractInputAction "Pan Canvas" tried to process event data
from an unhandled event type QEvent::Type(TouchUpdate)
krita.input: KisAbstractInputAction "Zoom Canvas" tried to process event data
from an unhandled event type QEvent::Type(TouchUpdate)
krita.input: KisAbstractInputAction "Zoom Canvas" tried to process event data
from an unhandled event type QEvent::Type(TouchUpdate)

...and 20 more like that.

-----------

In general, in any system, if I avoid doing any of the things that provoke
crash and try to just playing with the stylus and play with very basic things
like painting random strokes, zooming, resizing brushes (max size are always
per defaults), bringing the quick menu on and off and so on, Krita will
frequently hang at some point. It does seem that gesture on/off and/or painting
and operating certain things with fingers or trying to avoid that, is
definitely at the center of this mess, especially as described in the latter
experiments and the reported error.

I can do all of that and much more challenging things in Krita3.3.3 (KDE and
Xfce) and no crashes or hanging.

-----------

Additional context information:

1. When I switch on the Cintiq, I have to manually configure it because there
are no GUI tools for Linux. In a script, I have to map its devices to only the
Cintiq screen area, using these commands

xsetwacom set "Wacom Cintiq 27QHD touch Pen stylus" MapToOutput next
xsetwacom set "Wacom Cintiq 27QHD touch Pen eraser" MapToOutput next
xsetwacom set "Wacom Cintiq 27QHD touch Finger touch" MapToOutput next

2. I have Krita (3 and 4) configured to disable finger touch painting, BUT this
setting doesn't do anything at all: fingers do paint no matter what. So I must
issue this command to avoid painting with fingers:

        xsetwacom -v --set 'Wacom Cintiq 27QHD touch Finger touch' gesture off

I do this before launching Krita (but sometimes after, and it does what I need
in Krita 3.3.3 without problem).


3. Details of my system:

Krita Version: 4.0.0

OS Information
  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.4.0-116-generic
  Pretty Productname: Ubuntu 16.04.4 LTS
  Product Type: ubuntu
  Product Version: 16.04

OpenGL Info 
  Vendor:  NVIDIA Corporation 
  Renderer:  "GeForce GTX 1050 Ti/PCIe/SSE2" 
  Version:  "4.5.0 NVIDIA 384.111" 
  Shading language:  4.50 NVIDIA 
  Requested format:  QSurfaceFormat(version 3.0, options
QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24,
redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1,
stencilBufferSize 8, samples -1, swapBehavior
QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace
QSurfaceFormat::ColorSpace(DefaultColorSpace), profile 
QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
  Current format:    QSurfaceFormat(version 4.5, options
QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24,
redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0,
stencilBufferSize 8, samples -1, swapBehavior
QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace
QSurfaceFormat::ColorSpace(DefaultColorSpace), profile 
QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
     Version: 4.5
     Supports deprecated functions true 
     is OpenGL ES: false

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to