Introducing support for Wacom Cintiq USB tablet

Bartosz Fabianowski freebsd at chillt.de
Tue Oct 9 10:08:02 PDT 2007


Hi list

I got a Wacom Cintiq tablet last week and wrote a driver to make it 
usable under FreeBSD. On the hardware side, the driver communicates with 
the tablet via the FreeBSD USB stack. On the user side, it implements a 
subset of the Linux input framework just large enough to make the Linux 
Wacom X driver happy. The driver is thus compatible with the X driver 
from the Linux Wacom project [1]. The latter driver compiles and works 
on FreeBSD once two missing include files are copied over from Linux.

To allow the tablet to be accessed by multiple processes concurrently, 
the driver implements device cloning. As the tablet is detected, it 
shows up as /dev/uwacom0. This is just a placeholder device and cannot 
be opened. To read data from the tablet, open /dev/event0 - that device 
node is invisible, as that is how device cloning works.

Caveats:
* Only the Cintiq is supported at this time. It would be trivial to 
extend the driver to other Wacom models, but I don't want to publish 
code I cannot test.
* This is my first device driver, so expect there to be bugs. Feedback 
from people more knowledgeable is most welcome. I am especially 
uncertain about proper locking, 64 bit support and device cloning.
* The driver works well when X is launched via startx. When using a 
display manager such as kdm, the monitors for some reason are reset on X 
startup, leading to the Cintiq briefly detaching so that X does not 
detect it. The workaround I use is to log in via kdm, log out (at which 
point X restarts without reseting the monitors) and then log in again.
* The Linux Wacom X driver currently does not build or work with X.org 
7.3. You will need to portdowngrade your x11-servers/xorg-server to 
version 1.2.0_2,1.
* From the Linux Wacom package, wacdump, the X driver, xidump and 
xsetwacom work out of the box. wacomcpl-exec is a TCL/Tk script that 
hardcodes some paths which need to be patched before it will run on FreeBSD.

I have attached my driver and instructions for compiling the Linux Wacom 
X driver. In case the binary attachment gets scrubbed by mailman, I have 
also uploaded a copy at [2].

I hope others find this driver useful. I certainly am glad I can stick 
with FreeBSD while enjoying the pressure and tilt sensitivity of a Wacom 
tablet :). Finally, as writing this driver was done as part of my PhD: 
This work is financed by the "Irish Research Council for Science, 
Engineering and Technology: funded by the National Development Plan"

- Bartosz

[1] http://linuxwacom.sourceforge.net/
[2] http://www.chillt.de/bsdwacom.tbz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bsdwacom.tbz
Type: application/octet-stream
Size: 74240 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-usb/attachments/20071009/0802527e/bsdwacom.obj


More information about the freebsd-usb mailing list