I have done some work on the Graphire USB Xinput driver for XFree86 (3.3.5, 3.3.6 and 4.0). The original author of the Wacom Serial XInput driver is Frederic Lepied. Frederic's driver was adapted to support the Graphire USB by Daniel Schmitt.
My changes are based on Daniel's version 0.2. They fix the following problems:
Thanks to Enrico Zini (zinie@cs.unibo.it) the last vestiges of the dreaded "staircase effect" have been removed from the driver so that the stylus is now usable for drawings in the Gimp without any limitations.
As a prerequisite, you must have USB support in the kernel set up and working (see the Linux USB web site). Also, you must create the appropriate event device files in /dev/input. If you have only one USB human interface device (HID) this would be /dev/input/event0. I am using kernel 2.1.15 with the USB backport from the 2.3.xx kernels.
This is the pre-compiled module for XFree86-3.3.5 and XFree86-3.3.6 based on version 1.5 of the source (I'm using it with XFree86-3.3.5, but it was compiled in the 3.3.6 source tree). Please copy it to "/usr/X11R6/lib/modules/xf86GraphireUSB_3.so". These are the relevant entries from my XF86Config:
Section "Module"
Load "xf86GraphireUSB_3.so"
EndSection
Section "XInput"
Subsection "gmouse"
Port "/dev/input/event0"
DeviceName "Graphire Mouse"
Mode Relative
AlwaysCore
EndSubsection
Subsection "gstylus"
Port "/dev/input/event0"
DeviceName "Graphire Pen"
Mode Absolute
AlwaysCore
EndSubsection
Subsection "geraser"
Port "/dev/input/event0"
DeviceName "Graphire Eraser"
Mode Absolute
AlwaysCore
EndSubsection
EndSection
You can add a line "Suppress nn" to each of the subsections (compiled-in default for nn is 40). The suppress value has the following new meaning:
Try to increase the suppress value if there is some jitter. Decrease the suppress value to minimize the stair case effect (see the section "Remaining Problems" below).
These are a precompiled modules for XFree86-4.x based on version 1.5 and 1.7 of the source. Please copy it to the appropriate module directory (as /usr/X11R6/lib/modules/xf86GraphireUSB.so).
These are the relevant additional entries for XF86Config:
Section "ServerLayout" [...] InputDevice "gstylus" "AlwaysCore" InputDevice "geraser" "AlwaysCore" InputDevice "gmouse" "AlwaysCore" EndSection Section "Module" [...] Load "xf86GraphireUSB" EndSection Section "InputDevice" Identifier "gstylus" Driver "graphireusb" Option "Device" "/dev/input/event0" Option "Mode" "Absolute" Option "Type" "gstylus" Option "Suppress" "30" EndSection Section "InputDevice" Identifier "geraser" Driver "graphireusb" Option "Device" "/dev/input/event0" Option "Mode" "Absolute" Option "Type" "geraser" Option "Suppress" "30" EndSection Section "InputDevice" Identifier "gmouse" Driver "graphireusb" Option "Device" "/dev/input/event0" Option "Mode" "relative" Option "Type" "gmouse" Option "Suppress" "30" EndSection
Please also read the comments on the suppress parameter in the previous section (the parameter must be added to the "InputDevice" sections).
The best way to compile this module is to locate the xf86Wacom.c file in the XFree86-3.3.5 or XFree86-4.0 source code and overwrite it with xf86GraphireUSB.c. Then follow the instructions for building the XFree source (somethink like make world). Rename the resulting xf86Wacom.so to xf86GraphireUSB.o.
Warning: I have not personally tested the module with XFree86-4.0, but I think it should work.
The graphire mouse has no acceleration (i.e. the arrow speed always grows linearly with the mouse speed, unlike with other mice).
The Xwindow screensaver still doesn't kick in if the mouse is left on the graphics tablet, even though spurious jitter events are filtered out. Probably for the X server activity on the device is relevant - and not if this activity actually results in events being generated. Therefore, the server interprets the Wacom's jitter events as user activity. I'm looking for a workaround. Update: Works now with XFree-4.0.3 and version 1.7 of the module.
There have been reports that sometimes X CPU usage goes up to 99 % when using the module and the X session must be restarted to correct this. This is probably due to interactions with the gpm daemon (a cut and paste utility and mouse server for virtual consoles) that occur when switching to virtual consoles. On my system the problem went away after disabling the gpm service (e.g. using linuxconf). This is just a cure to the symptoms, however, the real reason for this problem is still not known. Note: The problem only occurs with XFree86-3.3.6. 3.3.5 and 4.x do not seem to be affected.
Additionally some people report that the stylus sensitivity is too
high, i.e. if the stylus is brought nearby the tablet this is
misinterpreted as button click by software packages such as the
Gimp. I cannot reproduce this problem, but I have received an email
that might contain a solution for this: "[...] I had this problem
recently (independently of the program I used), and it turned out to
be a mechanical problem, you can eliminate it by rotating the eraser
tip slightly."
|
© 2002
Peter Hofmann Last Update: 09.05.2002
| |