I got a new tool, a Wacom Graphire4
Why?
Quite a while ago, when I still used an analog camera, I already did consider buying one, because if you scan you get always some dust. But then I couldn't decide.
Now I decided to scan all the 15 films of my last big trip (to California) and again I have to remove quite a bit of dust. I try to clean the negative, but you never get it perfect and you have to do some work on the images you want to use.
Installing it on Linux
From surfing the web I did know, that chances are good with Wacom tablets. So I didn't consider some cheaper alternatives but got for a Wacom firsthand.
Plugged it in. It worked. Somehow at least…
I did work, but as a mouse and I did have no chance to set it to absolute mode, which is the important thing. So I started reading at linuxwacom.
The Problem
The tablet was captured as mouse. This way you have no chance of setting it up like a tablet (absolute coodinates, pressure, stylus and “eraser”). This is caused by the usbhid kernel module, which does grab it as mouse so that the wacom driver can't grab it (I still don't understand exactly why this happened on my system, see below). With newer kernels this problem could be solved (I'm not sure), but with 2.6.11.4-21.11 (which is the normal updated SuSE 9.3 one) it is.
Solving It
First a small warning: if you have your keyboard attached to USB as well, you better have a PS/2 one at hand. This is good, if something goes wrong (as it did for me at first)…
SuSE 9.3 includes linuxwacom 0.6.6—pretty old. I decided to use the latest one: 0.7.3 (unstable version, I know). Tried to compile but it didn't work. SuSE kernel version are in /usr/src/linux-2.6.11.4-21.11-default but linuxwacom expects them in /usr/src/linux-2.6.11.4-21.11. Did set the link. Compiling worked. So I installed the kernel modules (usbhid.ko and wacom.ko), the programs, and the X11 module. As I use an USB attached keyboard, I didn't want to reload the modules by hand, in case I'm stuck in between, I could loose access to my keyboard…
That's why I restarted the PC…
The keyboard did work (what the f***)!
The keyboard doesn't work with the USB to PS/2 adapter my mouse used (maybe this one doesn't work on PS/2 by intention, but it was worth a try). Unfortunately I didn't have a PS/2 keyboard at home so I went to bed first…
Next morning I fetched a PS/2 keyboard from work (my old one) and started looking, whats went wrong.
Comparing hid-core.c
What's included in linuxwacom on kernel level? It's hid-core.c and wacom.c (at least for 2.6.11). And loading of usbhid didn't work (it crashed with an error). So let's have a look at hid-core.c…
The linuxwacom version for 2.6.11
#define DRIVER_VERSION "v2.0 - 2.6.11.3-pc-0.2"
SuSE's version included in their kernel 2.6.11.4-21.11-default
#define DRIVER_VERSION "v2.01"
Hm, a different version, apparantly the same version string as linuxwacom includes for 2.6.13.
Try using hid-core.c from the 2.6.13 directory
Let's tell you first: it doesn't work, but why.
If you look at the code of some functions, you see, that an interupt parameter was added to some functions. I suppose SuSE backported the changes. Directly compiling didn't work, so I did try removing all the references to interupt (just a few lines of code to change). Compiling did work but the module wasn't usable…
The Solution: let's use SuSE's hid-core.c
I did just add some definitions, which might be needed for my Graphire4:
{ USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 5, HID_QUIRK_IGNORE },
{ USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 6, HID_QUIRK_IGNORE },
I ignored all other differences there might have been (so for an Intuos you might have to add some different defines as well).
It compiled without problems and it is running like a charm!
For all the rest (options for X and so on) see linuxwacom, it's well documented.
One Thing that Doesn't Work
On Linux the pad doesn't work. I'd like to use the wheel, but as far as I understood all the documentation and discussion correctly, you could use it if you write your own application but you can't in general on X (yet?). Fortunately everything else works and this isn't too important for me.
Using It
It's a great tool I can only recommend for editing images! I even use it as mouse sometimes. Esp. if I scan I have to click often the same buttons. Even after a short time of using it I find the correct spot almost immediately. It takes still time to get used to hit widgets at the edges (like scrollbars or a toolbar) and not to move the pen while clicking. I definetly suggest turning on the KeepShape mode. That way a circle you draw is really a circle, but depending on you monitor you loose a part of the active area.
Even working on the desktop is fun. Drag'n'Drop is so much more intuitive using a pen: move it slightly over the surface just sets the cursor but touching down drags an object (or does, what clicking with the left mouse button would do.
Conclusion
It does work very well on Linux (you have one advantage: the erase is just a second pen, you can use it for what you like ;-), but at least on SuSE 9.3 it doesn't out of the box. It does a bit, but as it is doing the wrong thing for a table, this doesn't help (but it's somehow promissing, that this will be better some day).
Installation wasn't too bad, if you are an experienced user! At least not as bad as some things were some years ago (when you compile a kernel twice a week and was almost forced to if you changed some hardware; you just didn't compile daily, because you computer was too slow, didn't you?).
At least I didn't have to recompile a complete kernel, but I had to move the kernel and X modules to the right place myself—nothing for unexperienced users…
The Future
I'd really like to use it for LabVIEW programming (mabye even a Cintiq)! I suppose this would be just great (but I don't think I can convice my boss to spend money on one)… ;-)