PDA

View Full Version : [ubuntu] Wacom Cintiq 21UX2 on Lucid Problem



fauxnom
December 8th, 2010, 11:49 AM
Hi,
I have installed the Wacom Cintiq 21UX2 on Lucid by doing the following:

1. installing the wacom.ko kernel module by compiling linuxwacom-0.8.8-10 from source
2. updating the X11 wacom module by compiling and installing xf86-input-wacom-43933eb (latest git snapshot). before this I even tried the stable release xf86-input-wacom-0.10.10
3. I have tried putting the configuration in xorg.conf and/or in 10-wacom.conf (currently it is in xorg.conf) 4. xsetwacom script is run at startup to do the rest

The tablet is detected.

xinput --list gives the following output


Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ stylus id=6 [slave pointer (2)]
⎜ ↳ eraser id=7 [slave pointer (2)]
⎜ ↳ pad id=8 [slave pointer (2)]
⎜ ↳ Logitech USB-PS/2 Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ BTC USB Multimedia Keyboard id=12 [slave keyboard (3)]
↳ BTC USB Multimedia Keyboard id=13 [slave keyboard (3)] i am not even trying a double monitor setup (that would the final aim) but for now I am using the cintiq as my only display. Yet, the stylus only works on a very small part of the tablet - i.e., the mouse pointer follows the stylus only on the top left part of the tablet and then it wraps around and behave erratically. I cannot make sense of what bottomx and bottomy values to put to make this work properly. the default bottomx and bottomy values reported are 87200 and 65400. Can someone please help me to get this working.

Favux
December 8th, 2010, 07:29 PM
Hi fauxnom,

Welcome to Ubuntu forums!

The coordinates look right.

Need to see your current working xorg.conf. Also would like to see your 10-wacom.conf in /usr/lib/X11/xorg.conf.d/ and xsetwacom.sh script.

Is the 10-wacom.conf currently active along with the xorg.conf?

fauxnom
December 9th, 2010, 06:38 AM
Hi Favux,

Thanks for the reply.

I am attaching the files that you asked for: xorg.conf, xsetwacom.sh, and 10-wacom.conf

I hand edited the xorg.conf file (even though on top it says it was generated by nvidia-settings).
Currently the 10-wacom.conf is present in /usr/lib/X11/xorg.conf.d , so I guess it is active.
The xsetwacom.sh script is a slightly edited version of one of your xsetwacom.sh scripts from another post on this forum.

I am still getting the same behaviour as before.

I have an older Jaunty installation the same machine - the Cintiq works perfectly on that with linuxwacom-0.8.8-10 drivers. I tried to calibrate it there and copy the .xinitrc configuration to the xsetwacom.sh script - but that is not working either.

Hope you can help.

Favux
December 9th, 2010, 06:50 AM
Hi fauxnom,

Spotted the first problem. Your Cintiq isn't in the table of Wacom symlinks in 69-xserver-xorg-input-wacom.rules at /lib/udev/rules.d. So the symlink you are using won't work. I do have an updated udev rule that includes your model I think. But is there a reason to you want to use xorg.conf? If you want to hot plug the Cintiq you can't use xorg.conf.

fauxnom
December 9th, 2010, 06:56 AM
Hi,

I know the Ciintiq 21UX is not in the udev rules file - it is however, picked up by the general rule at the end (the symlink /dev/input/wacom is present - I checked).

Also, hot-plugging does not work with xorg.conf - thats ok for now. But I have tried removing the configuration from xorg.conf and using only 10-wacom.conf - the stylus, eraser and pad are detected correctly but the behaviour of the tablet does not change.

fauxnom
December 9th, 2010, 06:58 AM
Oops! Sorry if that sounded confusing - what I meant above was that I have an overriding 69-xserver-xorg-input-wacom.rules in /etc/udev/rules/ with the lines



KERNEL=="event*", SYSFS{idVendor}=="056a", NAME="input/%k", SYMLINK="input/wacom"
KERNEL=="mouse*", SYSFS{idVendor}=="046d", NAME="input/%k", SYMLINK="input/mouse_udev"

Favux
December 9th, 2010, 07:00 AM
Ahh, ok.

Good. And you have linuxwacom 0.8.8-10 so you have the 21UX2 kernel bug fix. What does your 'xinput --list' look like?

Have you tried the commands in a terminal using stylus instead of "stylus"

FYI the updated udev rules attached to the bottom of the Bamboo P&T HOW TO include your tablet.

fauxnom
December 9th, 2010, 07:23 AM
Hi Favux,

xinput --list gives the following output:



Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ stylus id=6 [slave pointer (2)]
⎜ ↳ eraser id=7 [slave pointer (2)]
⎜ ↳ pad id=8 [slave pointer (2)]
⎜ ↳ Logitech USB-PS/2 Optical Mouse id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ BTC USB Multimedia Keyboard id=12 [slave keyboard (3)]
↳ BTC USB Multimedia Keyboard id=13 [slave keyboard (3)]


I just now noted something - I tried doing a cat /dev/input/wacom on the terminal and moved my stylus - no output !

Favux
December 9th, 2010, 07:48 AM
Let's make sure the kernel module is loading:

lsmod | grep wacom

fauxnom
December 9th, 2010, 08:05 AM
lsmod|grep wacom
wacom 30513 0


dmesg shows the following



kernel: [ 15.508797] wacom: v1.52-pc-0.3:USB Wacom tablet driver
kernel: [ 306.069161] input: Wacom Cintiq 21UX2 as /devices/pci0000:00/0000:00:1a.2/usb5/5-1/5-1:1.0/input/input7

Favux
December 9th, 2010, 08:08 AM
Are you telling me the stylus works but you can't configure with xsetwacom or that the stylus doesn't work?

fauxnom
December 9th, 2010, 08:32 AM
The stylus works in a small left-top region of the tablet - I cannot drag the pointer out of that region.

Favux
December 9th, 2010, 08:41 AM
Alright, it moves, correct?

Do any xsetwacom commands work? If not check in /usr/local/bin for xsetwacom (it should be in /usr/bin). This may mean you forgot the '--prefix=/usr' flag on the xf86-input-wacom configure line. In which case you may have a xsetwacom executable in both locations and are experiencing version conflict. Delete the one in the wrong location, i.e. /usr/local/bin. If this isn't the case or you have the one in the wrong location but not one in the correct one, delete the one you have and then just re-clone the xf86-input-wacom git repository.

Otherwise we'll need to check your Xorg.0.log in /var/log and make sure wacom actually has your tablet.

Favux
December 9th, 2010, 08:57 AM
And since you are keeping the xorg.conf comment out the Wacom match line in the usb snippet of wacom.conf to disable it.

fauxnom
December 9th, 2010, 09:28 AM
Yes, some xsetwacom commands work - like I am able to set the pressure curve.

/var/log/Xorg.0.log shows the following:


(II) config/udev: Adding input device Wacom Cintiq 21UX2 (/dev/input/event5)
(**) Wacom Cintiq 21UX2: Applying InputClass "Wacom class"
(II) LoadModule: "wacom"
(II) Loading /usr/lib/xorg/modules/input/wacom_drv.so
(II) Module wacom: vendor="X.Org Foundation"
compiled for 1.7.6, module version = 0.10.10
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 7.0
(**) Option "Device" "/dev/input/event5"
(II) Wacom Cintiq 21UX2: type not specified, assuming 'stylus'.
(II) Wacom Cintiq 21UX2: other types will be automatically added.
(**) Wacom Cintiq 21UX2 stylus: always reports core events
(**) Option "KeepShape" "on"
(--) Wacom Cintiq 21UX2 stylus: using pressure threshold of 27 for button 1
(--) Wacom Cintiq 21UX2 stylus: Wacom USB CintiqV5 tablet maxX=87200 maxY=65600 maxZ=2047 resX=5080 resY=5080 tilt=enabled
(II) Wacom Cintiq 21UX2 stylus: hotplugging dependent devices.
(**) Option "Device" "/dev/input/event5"
(**) Wacom Cintiq 21UX2 eraser: always reports core events
(**) Option "KeepShape" "on"
(--) Wacom Cintiq 21UX2 eraser: Wacom USB CintiqV5 tablet maxX=87200 maxY=65600 maxZ=2047 resX=5080 resY=5080 tilt=enabled
(II) XINPUT: Adding extended input device "Wacom Cintiq 21UX2 eraser" (type: ERASER)
(--) Wacom Cintiq 21UX2 eraser: top X=0 top Y=0 bottom X=87200 bottom Y=65400 resol X=5080 resol Y=5080
(**) Option "Device" "/dev/input/event5"
(**) Wacom Cintiq 21UX2 pad: always reports core events
(**) Option "KeepShape" "on"
(--) Wacom Cintiq 21UX2 pad: Wacom USB CintiqV5 tablet maxX=87200 maxY=65600 maxZ=2047 resX=5080 resY=5080 tilt=enabled
(II) XINPUT: Adding extended input device "Wacom Cintiq 21UX2 pad" (type: PAD)
(II) Wacom Cintiq 21UX2 stylus: hotplugging completed.
(II) XINPUT: Adding extended input device "Wacom Cintiq 21UX2 stylus" (type: STYLUS)
(--) Wacom Cintiq 21UX2 stylus: top X=0 top Y=0 bottom X=87200 bottom Y=65400 resol X=5080 resol Y=5080
(II) config/udev: Adding input device Wacom Cintiq 21UX2 (/dev/input/mouse1)
(II) No input driver/identifier specified (ignoring)

fauxnom
December 9th, 2010, 09:32 AM
Just to be sure, I actually commented out all the wacom config lines from xorg.conf - now it is only 10-wacom.conf. The earlier xorg.0.log output is with that.

And I have changed the xsetwacom xommands to use the new device name like:

xsetwacom set "Wacom Cintiq 21UX2 stylus" PressCurve "5 10 90 95"

This works. the pressure curve is set when I query it with xsetwacom but still cannot drag the pointer out of the top-left region!

Favux
December 9th, 2010, 07:40 PM
This works. the pressure curve is set when I query it with xsetwacom but still cannot drag the pointer out of the top-left region!
Weird.

Xorg.0.log shows:

(II) XINPUT: Adding extended input device "Wacom Cintiq 21UX2 eraser" (type: ERASER)
(II) XINPUT: Adding extended input device "Wacom Cintiq 21UX2 pad" (type: PAD)
(II) XINPUT: Adding extended input device "Wacom Cintiq 21UX2 stylus" (type: STYLUS)
that all your devices are recognized and added. Except in the unlikely event another driver comes along and grabs them.

And this seems to indicate the coordinates are correctly set up:

--) Wacom Cintiq 21UX2 stylus: Wacom USB CintiqV5 tablet maxX=87200 maxY=65600 maxZ=2047 resX=5080 resY=5080 tilt=enabled
--) Wacom Cintiq 21UX2 eraser: top X=0 top Y=0 bottom X=87200 bottom Y=65400 resol X=5080 resol Y=5080
Here are the coordinates from an old Cintiq .xinitrc from wacomcpl:

xsetwacom set eraser bottomy "65691"
xsetwacom set eraser bottomx "87064"
xsetwacom set eraser topy "12"
xsetwacom set eraser topx "-20"
xsetwacom set stylus bottomy "65691"
xsetwacom set stylus bottomx "87064"
xsetwacom set stylus topy "12"
xsetwacom set stylus topx "-20"
All I can come up with is to add the stylus section of the script:

xsetwacom set "Wacom Cintiq 21UX2 stylus" topx "0"
xsetwacom set "Wacom Cintiq 21UX2 stylus" topy "0"
xsetwacom set "Wacom Cintiq 21UX2 stylus" bottomx "87200"
xsetwacom set "Wacom Cintiq 21UX2 stylus" bottomy "65600"
and the same to the eraser section, using the eraser's "Device name", and see if you can override whatever is going on.

Do you know if it works in Windows (to rule out hardware problem)?

I'm seeing a similar problem with another user only his maps to half the screen. He has a laptop set up to output to a monitor, so it looks like it's mapping to both (half/half).

They've removed all the multi-monitor support (doesn't belong in a driver, and said it was broken anyway) in xf86-input-wacom. I'm not sure the KeepShape Option is there anymore. There's a new xsetwacom command:

xsetwacom set <device name> "MapToOutput" VGA1
Which only applies once, so if you change output you have to rerun it. We didn't figure out how to use it. Trying to run it he gets the error:

"Server does not support transformation"
He fixed the problem by degrading the install back to the 0.10.8 tar. Except that lacks a lot of the pad button fixes that are going to be important to you. I'm wondering if a bug has been introduced by the Xorg developer of xf86-input-wacom? Trying to do a transform using some upstream X server stuff that isn't in the current servers?

fauxnom
December 10th, 2010, 02:28 PM
Hi Favux,

Yes, it has been a most confusing experience. The things I have been trying out are:

1. Tried the MapToDisplay option and got the same error that you reported.
2. Next, I tried to update xorg server to 1.8 - this crashed everything - nvidia module kept crashing and even my regular display went out - probably I did not do this right.
3. So I rolled back to xorg server 1.7 - clean install and removed all linuxwacom and xf86 modules.

4. And guess what - the tablet suddenly starts working as expected - now I can drag the pointer all the way across the screen!

xsetwacom -V reports 0.10.5 - that is the original one from the xorg server 1.7 found on lucid. Even the kernel module is the default one on lucid. I currently have it configured using 10-wacom.conf and it seems to be working all right.

To get the calibration right, I again tried setting the coordinates I had from the older Jaunty wacomcpl and they worked as well

I am getting pressure control as well when I try GIMP - even managed to get the Cintiq working in TwinView.

Only error I can note is that xinput --list now returns


Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Cintiq 21UX2 eraser id=10 [slave pointer (2)]
⎜ ↳ Wacom Cintiq 21UX2 cursor id=11 [slave pointer (2)]
⎜ ↳ Wacom Cintiq 21UX2 pad id=12 [slave pointer (2)]
⎜ ↳ Wacom Cintiq 21UX2 id=13 [slave pointer (2)]
⎜ ↳ Logitech USB-PS/2 Optical Mouse id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=7 [slave keyboard (3)]
↳ BTC USB Multimedia Keyboard id=8 [slave keyboard (3)]
↳ BTC USB Multimedia Keyboard id=9 [slave keyboard (3)]
↳ ViewSonic 1.3M, USB2.0 Webcam id=15 [slave keyboard (3)]

As far as I can tell the cursor device is extra.

I also ran - xinput --list "Wacom Cintiq 21UX2" and that reports the X and Y resolution as 1016 units/m. The Cintiq manual says that the resolution is 5080 lpi (that is lines per inch, I guess).

Other than this I have not observed any bugs with the setup. I have to, of course, still setup the buttons.

So the solution for Lucid and a Cintiq21UX2 seems to be to stick to the default drivers and modules that are installed by Lucid - the new drivers seem to break something.

Favux
December 10th, 2010, 05:25 PM
Hi fauxnom,


3. So I rolled back to xorg server 1.7 - clean install and removed all linuxwacom and xf86 modules.
4. And guess what - the tablet suddenly starts working as expected - now I can drag the pointer all the way across the screen!
xsetwacom -V reports 0.10.5 - that is the original one from the xorg server 1.7 found on lucid. Even the kernel module is the default one on lucid. I currently have it configured using 10-wacom.conf and it seems to be working all right.
To get the calibration right, I again tried setting the coordinates I had from the older Jaunty wacomcpl and they worked as well
I am getting pressure control as well when I try GIMP - even managed to get the Cintiq working in TwinView.
Great! Good work. And it looks like you've confirmed a bug and identified another.

the cursor device is extra.
Right that's a known bug. Either from to 0.8.4-1 wacom.ko that is default in Lucid or from the wcmUSB.c in the X driver. They added a function in there later that screens out spurious devices.

I also ran - xinput --list "Wacom Cintiq 21UX2" and that reports the X and Y resolution as 1016 units/m. The Cintiq manual says that the resolution is 5080 lpi (that is lines per inch, I guess).
Right now there is a flurry of activity on that going on. It seems there has been some confusion. The kernel changed how it handled resolution a while ago but wasn't passing it along to userland. What it wants is units/meter. They just did a bunch of transforms internally to the driver changing all the coordinates and I think made the commit last night. I'm sort of wondering if this might be relevant.

So the solution for Lucid and a Cintiq21UX2 seems to be to stick to the default drivers and modules that are installed by Lucid - the new drivers seem to break something.
Looks like it. There is an active Cintiq thread going on right now. I think I'll join it and make some informal bug reports and see what I can learn.