Thread: Re: [DIGImend-users] Bizarre Tablet Issue
Brought to you by:
spb_nick
|
From: Nikolai K. <sp...@gm...> - 2012-04-02 14:06:12
|
Hi Zauber, I'm CCing your message to the DIGImend mailing list, so that other users could see it. Please reply using "Reply to all". On Mon, Apr 2, 2012 at 5:42 AM, Zauber Paracelsus <zau...@gm...> wrote: > I've got a UC-Logic tablet, and I've been having some VERY bizarre > issues with it. I've got a dual-monitor setup (both widescreens), and > I followed the instructions for setting the coordinate transformation > matrixes up, as shown in this forum thread: > > http://ubuntuforums.org/showthread.php?t=1656089&page=4 > > However, any time any of these settings are changed, they apply > correctly, but the tablet begins having issues: the cursor's > X-position keeps going to zero and snapping back at random. The link > below is for a snapshot of my attempt to draw a straight vertical line: > > https://lh4.googleusercontent.com/-uzqvoPIhJEU/T2QEt1hA6GI/AAAAAAAACJo/RwIm_4jAoLg/s642/AttemptedStraightLine.png > > This all happened about two weeks ago, at which point I gave up for the > time being. But, I still want to try and get this working, without > some sideways workaround (like using a VNC-connected laptop for it). > > In the end, Favux recommended I speak with you, so I'm wondering if you > can help me fix it, or at least debug it so that the source of the > problem can be figured out. This might be an xf86-input-evdev issue. Still, let's check that it's getting correct data. Once the issue is showing well again, could you please try capturing "sudo evtest" output for your tablet, while you move the pen inside a small area within the center of the tablet (so that jumps could be more obvious)? If evtest complains that it can't grab the device, please switch to a text console and execute "sudo evtest" there. Evtest will show you two devices for your tablet - one for the pen, one for the mouse you don't have. The mouse device will produce no output when moving the pen, please run evtest with the other one. Please send me the output. If it shows no jumps, then I'll try to reproduce the issue and will look into the xf86-input-evdev source. Otherwise, we will try to check if it's a hardware issue. BTW, under which name was your tablet sold? Thank you. Sincerely, Nick |
|
From: Nikolai K. <sp...@gm...> - 2012-05-07 08:11:20
|
Hi Zauber, On 04/19/2012 11:51 PM, Zauber Paracelsus wrote: > Alright, thanks for the update, Nick :-) I think, my first guess was right and X.org is really just re-transforming the old values of missing axes. I've submitted an X.org bug: https://bugs.freedesktop.org/show_bug.cgi?id=49347 as I'm failing to find time to find a good fix for this, sorry. Hopefully, someone notices and fixes it in Git. Then we could backport the fix to your X.org version. Sorry for the delay. Sincerely, Nick |
|
From: Zauber P. <zau...@gm...> - 2012-05-15 01:41:58
|
Since it may be a bit before the bug is fixed on Xorg's end, I'm thinking of trying an alternative solution, but I'd like to know if and how it would work: 1) Create some kind of "fake" monitor/screen 2) Configure the files in /etc/X11/xorg.conf.d/ so that the tablet will only give its input to this fake screen 3) Access the fake screen through VNC. How viable would this solution be? Or would it be better to hook the tablet up to my laptop and use VNC to use programs on my desktop through the laptop? PS: Just using it directly with my laptop isn't viable, as my laptop isn't powerful enough to directly handle the complex drawings I want to make, while my desktop is more than enough. On Mon, 07 May 2012 11:11:06 +0300 Nikolai Kondrashov <sp...@gm...> wrote: > Hi Zauber, > > On 04/19/2012 11:51 PM, Zauber Paracelsus wrote: > > Alright, thanks for the update, Nick :-) > > I think, my first guess was right and X.org is really just > re-transforming the old values of missing axes. > > I've submitted an X.org bug: > https://bugs.freedesktop.org/show_bug.cgi?id=49347 as I'm failing to > find time to find a good fix for this, sorry. > > Hopefully, someone notices and fixes it in Git. Then we could > backport the fix to your X.org version. > > Sorry for the delay. > > Sincerely, > Nick |
|
From: Nikolai K. <sp...@gm...> - 2012-05-15 12:54:59
Attachments:
transform_fix.patch
|
Hi Zauber, On 05/15/2012 04:41 AM, Zauber Paracelsus wrote: > Since it may be a bit before the bug is fixed on Xorg's end, I'm > thinking of trying an alternative solution, but I'd like to know if and > how it would work: > > 1) Create some kind of "fake" monitor/screen > 2) Configure the files in /etc/X11/xorg.conf.d/ so that the tablet will > only give its input to this fake screen > 3) Access the fake screen through VNC. > > How viable would this solution be? Or would it be better to hook the > tablet up to my laptop and use VNC to use programs on my desktop > through the laptop? > > PS: Just using it directly with my laptop isn't viable, as my laptop > isn't powerful enough to directly handle the complex drawings I want to > make, while my desktop is more than enough. Sorry, I don't know if this would work. However, some time ago Peter Hutterer made a patch for the Git version of the X server and attached it to the reported bug: https://bugs.freedesktop.org/show_bug.cgi?id=49347 I'm having a flu and didn't have the time to test it properly yet. However, it should apply to your version, it seems, so you could try it yourself. I've managed to backport this patch to 1.11.4 (attached) and test it - it seems to work. Sincerely, Nick |
|
From: Zauber P. <zau...@gm...> - 2012-06-02 03:20:59
|
Okay, I've been using the patch for a while now, but things just took a turn for the worse. Now, whenever I run the xinput command to set the transformation matrix, xorg segfaults. I've included the errors, but they don't appear to reveal any useful information: [320096.601] [320096.601] Backtrace: [320096.601] 0: /usr/bin/X (xorg_backtrace+0x36) [0x55db86] [320096.601] 1: /usr/bin/X (0x400000+0x1615b9) [0x5615b9] [320096.601] 2: /lib/libpthread.so.0 (0x7f931813b000+0xf140) [0x7f931814a140] [320096.601] 3: /usr/bin/X (0x400000+0x2d775) [0x42d775] [320096.601] 4: /usr/bin/X (XIChangeDeviceProperty+0x1d0) [0x501450] [320096.601] 5: /usr/bin/X (0x400000+0x102183) [0x502183] [320096.602] 6: /usr/bin/X (0x400000+0x33ff1) [0x433ff1] [320096.602] 7: /usr/bin/X (0x400000+0x23205) [0x423205] [320096.602] 8: /lib/libc.so.6 (__libc_start_main+0xf5) [0x7f9316ff3455] [320096.602] 9: /usr/bin/X (0x400000+0x234dd) [0x4234dd] [320096.602] [320096.602] Segmentation fault at address 0x20 [320096.602] Fatal server error: [320096.602] Caught signal 11 (Segmentation fault). Server aborting [320096.602] [320096.602] |
|
From: Zauber P. <zau...@gm...> - 2012-06-02 04:13:41
|
Oh, never mind, I figured it out. I was running xinput by device ID number, and the device ordering had apparently changed. Xorg was segfaulting because it was attempting to apply the transformation matrix to my USB headphones -.- |
|
From: Nikolai K. <sp...@gm...> - 2012-06-02 06:23:27
|
On 06/02/2012 07:13 AM, Zauber Paracelsus wrote: > Oh, never mind, I figured it out. I was running xinput by device ID > number, and the device ordering had apparently changed. There is a possibility to specify the device by name, but I'm afraid for WP8060U there are two devices with identical names, so that won't work probably. > Xorg was segfaulting because it was attempting to apply the transformation > matrix to my USB headphones -.- Well, it's still no reason to segfault. It would be good to report this issue. Sincerely, Nick |
|
From: Zauber P. <zau...@gm...> - 2012-06-02 06:49:44
|
Well, for some odd reason only one WP8060U device is showing up with xinput --list, so I think I might have blocked the extra one in my settings. And yeah, I'm going to report this bug. |
|
From: Zauber P. <zau...@gm...> - 2012-04-12 14:13:10
|
>
> This might be an xf86-input-evdev issue. Still, let's check that it's
> getting correct data.
>
> Once the issue is showing well again, could you please try capturing
> "sudo evtest" output for your tablet, while you move the pen inside a
> small area within the center of the tablet (so that jumps could be
> more obvious)?
>
> If evtest complains that it can't grab the device, please switch to a
> text console and execute "sudo evtest" there.
>
> Evtest will show you two devices for your tablet - one for the pen,
> one for the mouse you don't have. The mouse device will produce no
> output when moving the pen, please run evtest with the other one.
>
> Please send me the output. If it shows no jumps, then I'll try to
> reproduce the issue and will look into the xf86-input-evdev source.
> Otherwise, we will try to check if it's a hardware issue.
>
> BTW, under which name was your tablet sold?
>
> Thank you.
>
> Sincerely,
> Nick
Alright, sorry for the delay in replying. I had trouble finding the tablet in question up until this morning.
Here's the head output of evtest:
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x5543 product 0x5 version 0x100
Input device name: "UC-LOGIC Tablet WP8060U"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event code 331 (BTN_STYLUS)
Event code 332 (BTN_STYLUS2)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 16976
Min 0
Max 32767
Resolution 161
Event code 1 (ABS_Y)
Value 9597
Min 0
Max 32767
Resolution 215
Event code 24 (ABS_PRESSURE)
Value 0
Min 0
Max 1023
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Testing ... (interrupt to exit)
Event: time 1334239142.335211, type 3 (EV_ABS), code 0 (ABS_X), value 18067
Event: time 1334239142.335216, type 3 (EV_ABS), code 1 (ABS_Y), value 23009
Event: time 1334239142.335220, -------------- SYN_REPORT ------------
Event: time 1334239142.351212, type 3 (EV_ABS), code 0 (ABS_X), value 18014
Event: time 1334239142.351217, type 3 (EV_ABS), code 1 (ABS_Y), value 22851
Event: time 1334239142.351222, -------------- SYN_REPORT ------------
Event: time 1334239142.359199, type 3 (EV_ABS), code 0 (ABS_X), value 18020
Event: time 1334239142.359203, type 3 (EV_ABS), code 1 (ABS_Y), value 22712
Event: time 1334239142.359208, -------------- SYN_REPORT ------------
Event: time 1334239142.367176, type 3 (EV_ABS), code 0 (ABS_X), value 18018
Event: time 1334239142.367180, type 3 (EV_ABS), code 1 (ABS_Y), value 22583
Event: time 1334239142.367185, -------------- SYN_REPORT ------------
Event: time 1334239142.375179, type 3 (EV_ABS), code 0 (ABS_X), value 18035
Event: time 1334239142.375183, type 3 (EV_ABS), code 1 (ABS_Y), value 22438
Event: time 1334239142.375187, -------------- SYN_REPORT ------------
Event: time 1334239142.383218, type 3 (EV_ABS), code 0 (ABS_X), value 18049
Event: time 1334239142.383222, type 3 (EV_ABS), code 1 (ABS_Y), value 22283
Event: time 1334239142.383226, -------------- SYN_REPORT ------------
Event: time 1334239142.391220, type 3 (EV_ABS), code 0 (ABS_X), value 18071
Event: time 1334239142.391224, type 3 (EV_ABS), code 1 (ABS_Y), value 22114
Event: time 1334239142.391228, -------------- SYN_REPORT ------------
Event: time 1334239142.399192, type 3 (EV_ABS), code 0 (ABS_X), value 18108
Event: time 1334239142.399196, type 3 (EV_ABS), code 1 (ABS_Y), value 21955
Event: time 1334239142.399201, -------------- SYN_REPORT ------------
Event: time 1334239142.407217, type 3 (EV_ABS), code 0 (ABS_X), value 18131
Event: time 1334239142.407221, type 3 (EV_ABS), code 1 (ABS_Y), value 21786
Event: time 1334239142.407225, -------------- SYN_REPORT ------------
Event: time 1334239142.415228, type 3 (EV_ABS), code 0 (ABS_X), value 18157
Event: time 1334239142.415232, type 3 (EV_ABS), code 1 (ABS_Y), value 21619
Event: time 1334239142.415237, -------------- SYN_REPORT ------------
Event: time 1334239142.423210, type 3 (EV_ABS), code 0 (ABS_X), value 18166
Event: time 1334239142.423214, type 3 (EV_ABS), code 1 (ABS_Y), value 21458
Event: time 1334239142.423218, -------------- SYN_REPORT ------------
Event: time 1334239142.431208, type 3 (EV_ABS), code 0 (ABS_X), value 18170
Event: time 1334239142.431212, type 3 (EV_ABS), code 1 (ABS_Y), value 21292
Event: time 1334239142.431216, -------------- SYN_REPORT ------------
Event: time 1334239142.439238, type 3 (EV_ABS), code 0 (ABS_X), value 18161
Event: time 1334239142.439241, type 3 (EV_ABS), code 1 (ABS_Y), value 21142
Event: time 1334239142.439245, -------------- SYN_REPORT ------------
Event: time 1334239142.447213, type 3 (EV_ABS), code 0 (ABS_X), value 18147
Event: time 1334239142.447217, type 3 (EV_ABS), code 1 (ABS_Y), value 20989
Event: time 1334239142.447221, -------------- SYN_REPORT ------------
Event: time 1334239142.455227, type 3 (EV_ABS), code 0 (ABS_X), value 18141
Event: time 1334239142.455231, type 3 (EV_ABS), code 1 (ABS_Y), value 20828
Event: time 1334239142.455235, -------------- SYN_REPORT ------------
Event: time 1334239142.463231, type 3 (EV_ABS), code 0 (ABS_X), value 18118
Event: time 1334239142.463235, type 3 (EV_ABS), code 1 (ABS_Y), value 20666
Event: time 1334239142.463240, -------------- SYN_REPORT ------------
Event: time 1334239142.471228, type 3 (EV_ABS), code 0 (ABS_X), value 18102
Event: time 1334239142.471230, type 3 (EV_ABS), code 1 (ABS_Y), value 20486
Event: time 1334239142.471231, -------------- SYN_REPORT ------------
Event: time 1334239142.479206, type 3 (EV_ABS), code 0 (ABS_X), value 18088
Event: time 1334239142.479207, type 3 (EV_ABS), code 1 (ABS_Y), value 20295
Event: time 1334239142.479208, -------------- SYN_REPORT ------------
Event: time 1334239142.487208, type 3 (EV_ABS), code 0 (ABS_X), value 18071
Event: time 1334239142.487209, type 3 (EV_ABS), code 1 (ABS_Y), value 20090
Event: time 1334239142.487210, -------------- SYN_REPORT ------------
Event: time 1334239142.495215, type 3 (EV_ABS), code 0 (ABS_X), value 18059
Event: time 1334239142.495217, type 3 (EV_ABS), code 1 (ABS_Y), value 19877
Event: time 1334239142.495218, -------------- SYN_REPORT ------------
Event: time 1334239142.503218, type 3 (EV_ABS), code 0 (ABS_X), value 18043
Event: time 1334239142.503219, type 3 (EV_ABS), code 1 (ABS_Y), value 19645
Event: time 1334239142.503221, -------------- SYN_REPORT ------------
Event: time 1334239142.511225, type 3 (EV_ABS), code 0 (ABS_X), value 18030
Event: time 1334239142.511227, type 3 (EV_ABS), code 1 (ABS_Y), value 19394
Event: time 1334239142.511228, -------------- SYN_REPORT ------------
Event: time 1334239142.519225, type 3 (EV_ABS), code 0 (ABS_X), value 18020
Event: time 1334239142.519227, type 3 (EV_ABS), code 1 (ABS_Y), value 19132
Event: time 1334239142.519228, -------------- SYN_REPORT ------------
Event: time 1334239142.527239, type 3 (EV_ABS), code 0 (ABS_X), value 18004
Event: time 1334239142.527241, type 3 (EV_ABS), code 1 (ABS_Y), value 18870
Event: time 1334239142.527243, -------------- SYN_REPORT ------------
Event: time 1334239142.535273, type 3 (EV_ABS), code 0 (ABS_X), value 17981
Event: time 1334239142.535277, type 3 (EV_ABS), code 1 (ABS_Y), value 18613
Event: time 1334239142.535282, -------------- SYN_REPORT ------------
Event: time 1334239142.543269, type 3 (EV_ABS), code 0 (ABS_X), value 17953
Event: time 1334239142.543273, type 3 (EV_ABS), code 1 (ABS_Y), value 18335
Event: time 1334239142.543277, -------------- SYN_REPORT ------------
Event: time 1334239142.551263, type 3 (EV_ABS), code 0 (ABS_X), value 17918
Event: time 1334239142.551267, type 3 (EV_ABS), code 1 (ABS_Y), value 18048
Event: time 1334239142.551271, -------------- SYN_REPORT ------------
Event: time 1334239142.559267, type 3 (EV_ABS), code 0 (ABS_X), value 17885
Event: time 1334239142.559271, type 3 (EV_ABS), code 1 (ABS_Y), value 17748
Event: time 1334239142.559275, -------------- SYN_REPORT ------------
Event: time 1334239142.567296, type 3 (EV_ABS), code 0 (ABS_X), value 17852
Event: time 1334239142.567300, type 3 (EV_ABS), code 1 (ABS_Y), value 17444
Event: time 1334239142.567304, -------------- SYN_REPORT ------------
Event: time 1334239142.575255, type 3 (EV_ABS), code 0 (ABS_X), value 17822
Event: time 1334239142.575256, type 3 (EV_ABS), code 1 (ABS_Y), value 17111
Event: time 1334239142.575257, -------------- SYN_REPORT ------------
Event: time 1334239142.583289, type 3 (EV_ABS), code 0 (ABS_X), value 17799
Event: time 1334239142.583293, type 3 (EV_ABS), code 1 (ABS_Y), value 16745
Event: time 1334239142.583297, -------------- SYN_REPORT ------------
Event: time 1334239142.591310, type 3 (EV_ABS), code 0 (ABS_X), value 17781
Event: time 1334239142.591314, type 3 (EV_ABS), code 1 (ABS_Y), value 16344
Event: time 1334239142.591319, -------------- SYN_REPORT ------------
Event: time 1334239142.599295, type 3 (EV_ABS), code 0 (ABS_X), value 17766
Event: time 1334239142.599297, type 3 (EV_ABS), code 1 (ABS_Y), value 15910
Event: time 1334239142.599298, -------------- SYN_REPORT ------------
Event: time 1334239142.607289, type 3 (EV_ABS), code 0 (ABS_X), value 17750
Event: time 1334239142.607293, type 3 (EV_ABS), code 1 (ABS_Y), value 15479
Event: time 1334239142.607297, -------------- SYN_REPORT ------------
Event: time 1334239142.615302, type 3 (EV_ABS), code 0 (ABS_X), value 17744
Event: time 1334239142.615306, type 3 (EV_ABS), code 1 (ABS_Y), value 15058
Event: time 1334239142.615310, -------------- SYN_REPORT ------------
Event: time 1334239142.623322, type 3 (EV_ABS), code 0 (ABS_X), value 17750
Event: time 1334239142.623326, type 3 (EV_ABS), code 1 (ABS_Y), value 14621
Event: time 1334239142.623330, -------------- SYN_REPORT ------------
Event: time 1334239142.631299, type 3 (EV_ABS), code 0 (ABS_X), value 17758
Event: time 1334239142.631303, type 3 (EV_ABS), code 1 (ABS_Y), value 14176
Event: time 1334239142.631307, -------------- SYN_REPORT ------------
Event: time 1334239142.639311, type 3 (EV_ABS), code 1 (ABS_Y), value 13726
Event: time 1334239142.639316, -------------- SYN_REPORT ------------
Event: time 1334239142.647338, type 3 (EV_ABS), code 0 (ABS_X), value 17764
Event: time 1334239142.647343, type 3 (EV_ABS), code 1 (ABS_Y), value 13281
Event: time 1334239142.647347, -------------- SYN_REPORT ------------
Event: time 1334239142.655347, type 3 (EV_ABS), code 1 (ABS_Y), value 12844
Event: time 1334239142.655353, -------------- SYN_REPORT ------------
Event: time 1334239142.663352, type 3 (EV_ABS), code 0 (ABS_X), value 17758
Event: time 1334239142.663356, type 3 (EV_ABS), code 1 (ABS_Y), value 12440
Event: time 1334239142.663363, -------------- SYN_REPORT ------------
Event: time 1334239142.671316, type 3 (EV_ABS), code 0 (ABS_X), value 17754
Event: time 1334239142.671320, type 3 (EV_ABS), code 1 (ABS_Y), value 12065
Event: time 1334239142.671324, -------------- SYN_REPORT ------------
Event: time 1334239142.679320, type 3 (EV_ABS), code 0 (ABS_X), value 17746
Event: time 1334239142.679324, type 3 (EV_ABS), code 1 (ABS_Y), value 11727
Event: time 1334239142.679328, -------------- SYN_REPORT ------------
Event: time 1334239142.687364, type 3 (EV_ABS), code 0 (ABS_X), value 17732
Event: time 1334239142.687368, type 3 (EV_ABS), code 1 (ABS_Y), value 11432
Event: time 1334239142.687372, -------------- SYN_REPORT ------------
Event: time 1334239142.695348, type 3 (EV_ABS), code 0 (ABS_X), value 17699
Event: time 1334239142.695352, type 3 (EV_ABS), code 1 (ABS_Y), value 11153
Event: time 1334239142.695356, -------------- SYN_REPORT ------------
Event: time 1334239142.703332, type 3 (EV_ABS), code 0 (ABS_X), value 17615
Event: time 1334239142.703335, type 3 (EV_ABS), code 1 (ABS_Y), value 10902
Event: time 1334239142.703340, -------------- SYN_REPORT ------------
Event: time 1334239142.711373, type 3 (EV_ABS), code 0 (ABS_X), value 17560
Event: time 1334239142.711377, type 3 (EV_ABS), code 1 (ABS_Y), value 10695
Event: time 1334239142.711382, -------------- SYN_REPORT ------------
Above, you'll notice a couple of lines do not report an ABS_X value, so perhaps the driver is interpreting that to mean ABS_X has a value of zero, rather than no change?
Also, this tablet is a UC-LOGIC WP8060U as mentioned above, sold under the Monoprice brand, in particular this one: https://www.monoprice.com/products/product.asp?c_id=108&cp_id=10841&cs_id=1084101&p_id=5553&seq=1&format=2
|
|
From: Nikolai K. <sp...@gm...> - 2012-04-15 13:06:29
|
Hi Zauber, On Thu, Apr 12, 2012 at 5:09 PM, Zauber Paracelsus <zau...@gm...> wrote: > Above, you'll notice a couple of lines do not report an ABS_X value, so perhaps the driver is interpreting that to mean ABS_X has a value of zero, rather than no change? I see that the tablet itself doesn't jump, so it must be either xf85-input-evdev or X server issue, with the former being much more likely. Yes, it can be the issue, but I'll have to verify that. However, I'm not sure when I'll be able to do that. Hopefully, next week. Also, another user has reported the issue with similar setup and another UC-Logic tablet (WP5540U). > Also, this tablet is a UC-LOGIC WP8060U as mentioned above, sold under the Monoprice brand, in particular this one: https://www.monoprice.com/products/product.asp?c_id=108&cp_id=10841&cs_id=1084101&p_id=5553&seq=1&format=2 Thanks, I have added it to the tablet info: https://sourceforge.net/apps/mediawiki/digimend/index.php?title=UC-Logic_Tablet_WP8060U Sincerely, Nick |
|
From: Nikolai K. <sp...@gm...> - 2012-04-19 20:50:07
|
Hi Zauber, On 04/12/2012 05:09 PM, Zauber Paracelsus wrote: > Above, you'll notice a couple of lines do not report an ABS_X value, so > perhaps the driver is interpreting that to mean ABS_X has a value of zero, > rather than no change? I was able to reproduce the issue today. Unfortunately, it seems the issue is with the X server code, not evdev driver, so it may be harder to fix. The problem indeed arises when one of the axis (valuators) is omitted from a report. It was a source of other problems in the past as well. My theory for now is that in this case, the X server uses the last known coordinate instead of the missing one for the vector transformation. However, the last one is already transformed. I'll continue investigating the problem and will report back to you as soon as I have further information or a solution. Sincerely, Nick |
|
From: Nikolai K. <sp...@gm...> - 2012-04-19 20:57:25
|
On 04/19/2012 11:49 PM, Nikolai Kondrashov wrote: > My theory for now is that in this case, the X server uses the last known > coordinate instead of the missing one for the vector transformation. > However, the last one is already transformed. On a second thought and slightly more observation I think the problem is more complicated. The only affected coordinate is X. Furthermore, with non-identity (non-default) matrix, only Y is sometimes omitted, but never X. With the identity matrix set, both happen to be omitted sometimes, as usual. Anyway, I'll continue looking into it. Sincerely, Nick |