Huiron 610 Pro MyPaint on Linux

Platforms: OS X 10.11.5, Debian Sid Linux 4.6 SMP Kernel.

GNOME: 3.20.3.

MyPaint 1.2 and Krita 3.0 release.

On Linux and OS X the Freehand brush produces no visible output to display, but all other drawing primitives for Rectangles, Ellipses, etc., work. What does MyPaint rely on beyond evdev event calls to coordinate the tablet and pencil to screen?

Is there any debug option to see output to console and find out how is it that though the events are active on the tablet what gets drawn to screen is actually nothing as I move the pencil around the tablet when using the freehand brush.

Command line output

MyPaint

Version: 1.2.0+gitexport.f62444e

mdriftmeyer@horus:~$ mypaint

INFO: mypaint: Installation layout: conventional POSIX-like structure with prefix u'/usr'

INFO: mypaint: There is an old-style configuration area in u'/home/mdriftmeyer/.mypaint/'

INFO: mypaint: Its contents can be migrated to $XDG_CONFIG_HOME and $XDG_DATA_HOME if you wish.

INFO: mypaint: See the XDG Base Directory Specification for info.

INFO: lib.i18n: POSIX: LANG='en_US.utf8'

INFO: lib.i18n: POSIX: LANGUAGE=None

INFO: gui.device: New device 'Logitech USB Receiver' (GDK_SOURCE_MOUSE, 
axes:3, class=X11DeviceXI2, vendor='046d', product='c52f')

INFO: gui.device: New device 'Logitech USB Receiver' (GDK_SOURCE_MOUSE, 
axes:4, class=X11DeviceXI2, vendor='046d', product='c52f')

INFO: gui.device: New device 'Virtual core XTEST pointer' 
(GDK_SOURCE_MOUSE, axes:2, class=X11DeviceXI2, vendor=None, 
product=None)

INFO: gui.document: Initialized background from u'/usr/share/mypaint/backgrounds/10_soft_yellow.png'

WARNING: gui.keyboard: Ignoring keybinding for '/BrushModifierActions/BlendModeMenu'

(mypaint:20189): Gtk-WARNING **: Theme parsing error: :5:50: The 
style property GtkMenuBar:internal-padding is deprecated and shouldn't 
be used anymore. It will be removed in a future version

INFO: lib.document: Using u'load_ora' to load u'/home/mdriftmeyer/.mypaint/scratchpads/autosave.ora' (kwargs={'feedback_cb': })

INFO: lib.document: load_ora: u'/home/mdriftmeyer/.mypaint/scratchpads/autosave.ora'

INFO: lib.document: 0.008s load_ora total

INFO: gui.filehandling: Loaded scratchpad from u'/home/mdriftmeyer/.mypaint/scratchpads/autosave.ora'

WARNING: gui.accelmap: Not listing '/DocumentActions/RotateLeft' (no tooltip, fix before release!)

WARNING: gui.accelmap: Not listing '/DocumentActions/RotateRight' (no tooltip, fix before release!)

INFO: gui.device: New device 'HUION PenTablet Pen' (GDK_SOURCE_PEN, axes:3, class=X11DeviceXI2, vendor='256c', product='006e')

/usr/lib/python2.7/dist-packages/pygtkcompat/pygtkcompat.py:180: TypeError: Passing arguments to gi.types.Boxed.init() is deprecated. All arguments passed will be ignored.

  rect = Gdk.Rectangle(0, 0, 0, 0)

Update: Testing the 1.2.1 Beta after getting the DIGImend driver to install with Debian Linux 4.6 Sid.

Ran the nosetests as follows:

mdriftmeyer@horus:~/Projects/MyPaint/mypaint-1.2.1-beta.1$ nosetests --with-doctest
render_dab_mask: 5100 ms
.1: 152 ms
2: 158 ms
3: 167 ms
4: 628 ms
5: 703 ms
6: 832 ms
7: 3316 ms
8: 4299 ms
9: 5972 ms
10: 131 ms
11: 67 ms
12: 64 ms
13: 166 ms
14: 264 ms
15: 468 ms
16: 1787 ms
17: 3458 ms
18: 6692 ms
19: 96 ms
20: 76 ms
21: 99 ms
22: 317 ms
23: 656 ms
24: 1632 ms
25: 4594 ms
26: 15451 ms
28: 64 ms
29: 32 ms
30: 31 ms
31: 78 ms
32: 123 ms
33: 215 ms
34: 816 ms
35: 1578 ms
36: 3088 ms
.Warning: Number of base values tested does not match number of settings. Update the test!: Expected 45, got 43
/brush/persistence/load/base_values: PASS
Warning: number of values tested does not match number of settings. Update test!: Expected 45, got 43
/brush/persistence/load/inputs: PASS
.0.13283300318196644696
0.64694669426788964373
/rng/double/smoke: PASS
./home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/gui/accelmap.py:17: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk
…F…F…FFF…

FAIL: Doctest: lib.document._save_layers_to_new_orazip

Traceback (most recent call last):
File “/usr/lib/python2.7/doctest.py”, line 2226, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for lib.document._save_layers_to_new_orazip
File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/document.py”, line 1574, in _save_layers_to_new_orazip


File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/document.py”, line 1592, in lib.document._save_layers_to_new_orazip
Failed example:
_save_layers_to_new_orazip(root, orafile) # doctest: +ELLIPSIS
Expected:
<Pixbuf…>
Got:
<GdkPixbuf.Pixbuf object at 0x7fd41e354960 (GdkPixbuf at 0x2e54c60)>

-------------------- >> begin captured logging << --------------------
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/layer-00-00.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/layer-00-00.png’
lib.layer.data: DEBUG: 0.000s surface saving ‘layer-00-00.png’
lib.layer.data: DEBUG: 0.000s strokemap saving ‘layer-00-00-strokemap.dat’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/layer-00-01.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/layer-00-01.png’
lib.layer.data: DEBUG: 0.000s surface saving ‘layer-00-01.png’
lib.layer.data: DEBUG: 0.000s strokemap saving ‘layer-00-01-strokemap.dat’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/layer-00-02.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/layer-00-02.png’
lib.layer.data: DEBUG: 0.000s surface saving ‘layer-00-02.png’
lib.layer.data: DEBUG: 0.000s strokemap saving ‘layer-00-02-strokemap.dat’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/layer-01-00.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/layer-01-00.png’
lib.layer.data: DEBUG: 0.000s surface saving ‘layer-01-00.png’
lib.layer.data: DEBUG: 0.000s strokemap saving ‘layer-01-00-strokemap.dat’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/layer-01-01.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/layer-01-01.png’
lib.layer.data: DEBUG: 0.000s surface saving ‘layer-01-01.png’
lib.layer.data: DEBUG: 0.000s strokemap saving ‘layer-01-01-strokemap.dat’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/layer-01-02.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/layer-01-02.png’
lib.layer.data: DEBUG: 0.000s surface saving ‘layer-01-02.png’
lib.layer.data: DEBUG: 0.000s strokemap saving ‘layer-01-02-strokemap.dat’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/background-02.png’ (1x1) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/background-02.png’
lib.layer.data: DEBUG: 0.001s surface saving ‘background-02.png’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/background-02-tile.png’ (64x64) alpha=True srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/background-02-tile.png’
lib.layer.data: DEBUG: 0.000s surface saving data/background-02-tile.png
lib.fileutils: DEBUG: Writing to temp path u’/tmp/save2ixNIhmypaint/.tmpsave.mergedimage.png’
lib.surface: DEBUG: Writing u’/tmp/save2ixNIhmypaint/.tmpsave.mergedimage.png’ (1x1) alpha=False srgb=True
lib.surface: DEBUG: Finished writing u’/tmp/save2ixNIhmypaint/.tmpsave.mergedimage.png’
lib.fileutils: DEBUG: Replacing u’/tmp/save2ixNIhmypaint/mergedimage.png’ with u’/tmp/save2ixNIhmypaint/.tmpsave.mergedimage.png’
--------------------- >> end captured logging << ---------------------

======================================================================
FAIL: Doctest: lib.helpers.get_pixbuf

Traceback (most recent call last):
File “/usr/lib/python2.7/doctest.py”, line 2226, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for lib.helpers.get_pixbuf
File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/helpers.py”, line 274, in get_pixbuf


File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/helpers.py”, line 281, in lib.helpers.get_pixbuf
Failed example:
get_pixbuf(“pixmaps/mypaint_logo.png”) # doctest: +ELLIPSIS
Expected:
<Pixbuf …>
Got:
<GdkPixbuf.Pixbuf object at 0x7fd41e354aa0 (GdkPixbuf at 0x2eb28c0)>

File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/helpers.py”, line 283, in lib.helpers.get_pixbuf
Failed example:
get_pixbuf(“tests/bigimage.ora”) # doctest: +ELLIPSIS
Expected:
<Pixbuf …>
Got:
<GdkPixbuf.Pixbuf object at 0x7fd41e354910 (GdkPixbuf at 0x2eb2f00)>

-------------------- >> begin captured logging << --------------------
lib.helpers: DEBUG: Parsed ‘Thumbnails/thumbnail.png’ entry of ‘tests/bigimage.ora’ successfully
lib.helpers: DEBUG: No thumb pixbuf for ‘desktop/icons’: not a file
lib.helpers: DEBUG: No thumb pixbuf for ‘pixmaps/nonexistent.foo’: not a file
--------------------- >> end captured logging << ---------------------

======================================================================
FAIL: Doctest: lib.pixbuf.load_from_file

Traceback (most recent call last):
File “/usr/lib/python2.7/doctest.py”, line 2226, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for lib.pixbuf.load_from_file
File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/pixbuf.py”, line 78, in load_from_file


File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/pixbuf.py”, line 86, in lib.pixbuf.load_from_file
Failed example:
load_from_file(“pixmaps/mypaint_logo.png”) # doctest: +ELLIPSIS
Expected:
<Pixbuf…>
Got:
<GdkPixbuf.Pixbuf object at 0x7fd409c9b050 (GdkPixbuf at 0x2eb2920)>

======================================================================
FAIL: Doctest: lib.pixbuf.load_from_stream

Traceback (most recent call last):
File “/usr/lib/python2.7/doctest.py”, line 2226, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for lib.pixbuf.load_from_stream
File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/pixbuf.py”, line 94, in load_from_stream


File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/pixbuf.py”, line 103, in lib.pixbuf.load_from_stream
Failed example:
load_from_stream(fp) # doctest: +ELLIPSIS
Expected:
<Pixbuf…>
Got:
<GdkPixbuf.Pixbuf object at 0x7fd40ca60f00 (GdkPixbuf at 0x2eb28c0)>

======================================================================
FAIL: Doctest: lib.pixbuf.load_from_zipfile

Traceback (most recent call last):
File “/usr/lib/python2.7/doctest.py”, line 2226, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for lib.pixbuf.load_from_zipfile
File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/pixbuf.py”, line 119, in load_from_zipfile


File “/home/mdriftmeyer/Projects/MyPaint/mypaint-1.2.1-beta.1/lib/pixbuf.py”, line 130, in lib.pixbuf.load_from_zipfile
Failed example:
load_from_zipfile(z, “Thumbnails/thumbnail.png”) # doctest: +ELLIPSIS
Expected:
<Pixbuf…>
Got:
<GdkPixbuf.Pixbuf object at 0x7fd40c9d9e60 (GdkPixbuf at 0x2eb2f00)>


Ran 100 tests in 65.834s

FAILED (failures=5)
mdriftmeyer@horus:~/Projects/MyPaint/mypaint-1.2.1-beta.1$

NOTE: Debian is not current on GDK Pixbuf as it is a minor release behind:

https://www.0d.be/debian/debian-gnome-3.20-status.html

gdk-pixbuf installed is 2.34.0-1

Debian needs packaging for 2.35.1

I would be interested to know if this turns out to be the culprit.

The results still show no output from the freehand brush.