Bug 12495

Summary: Hyperpen driver broken in X.org 7.3
Product: xorg Reporter: Bartosz Fabianowski <freebsd>
Component: Input/hyperpenAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: 7.3 (2007.09)   
Hardware: Other   
OS: FreeBSD   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Remove call to xf86IsCoreDevice.
none
Patch to make the hyperpen driver actually report sensible pressure values. none

Description Bartosz Fabianowski 2007-09-19 14:43:22 UTC
After upgrading to X.org 7.3, the xf86-input-hyperpen driver has stopped working for me. The server launches and the Aiptek Hyperpen device is recognized. However, as soon as the pen enters the proximity of the tablet and the first event is about to be generated, the X server segfaults. I get a message on the console stating that /usr/local/lib/xorg/modules/input/hyperpen_drv.so is linked against the undefined symbol xf86IsCorePointer. This symbol must still be defined in some include file, but does not appear to be provided by X.org server 1.4.

I modified xf86HyperPen.c, replacing the call to xf86IsCorePointer by a the constant 1. This stopped the X server from crashing, but the driver is still not functional. With verbose output from the driver enabled, I see that it does communicate with the tablet. However, it does not generate any events - the mouse cursor is normally controlled by the pen, but now does not move.

It appears as if the Hyperpen driver is unmaintained and has been bitten by bitrot. It does compile, but seems incompatible with the way the current version of the X server expects to receive events.
Comment 1 Peter Hutterer 2007-09-19 15:47:58 UTC
Created attachment 11649 [details] [review]
Remove call to xf86IsCoreDevice.

Please try this patch, it removes the unnecessary call. I don't have a device, so I'm not sure if it works or helps at all.
Comment 2 Bartosz Fabianowski 2007-10-10 04:31:16 UTC
Yes, I can confirm this patch makes the driver work again. However:

1. An additional patch is needed to actually make it return plausible pressure values (this has been broken for a while, but I never bothered to submit a patch).

2. Tablet support is broken in X server 1.4 (raw coordinates do not get translated into screen coordinates properly) with a fix promised for X server 1.4.1

3. As of last week, I have a Wacom Cintiq, so I have no further interest in the Hyperpen driver and will probably not be submitting any more bug reports.
Comment 3 Bartosz Fabianowski 2007-10-10 04:32:10 UTC
Created attachment 11967 [details] [review]
Patch to make the hyperpen driver actually report sensible pressure values.
Comment 4 Peter Hutterer 2007-12-06 20:03:06 UTC
both patches pushed. 
7f22bdb90dcb1fd4077c64784bae182f84aca653
00dff80caeb6aabd1206f0279de6d2e8263ca3a5

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.