eGalax touchscreen configured as tablet

Bug #549447 reported by Benjamin Meeusen
182
This bug affects 32 people
Affects Status Importance Assigned to Milestone
xserver-xorg-input-evdev (Fedora)
Fix Released
Medium
xserver-xorg-input-evdev (Ubuntu)
Fix Released
Low
Unassigned
Declined for Lucid by Brian Murray
Declined for Maverick by Brian Murray

Bug Description

Binary package hint: xserver-xorg-input-evdev

from Xorg.0.log: (II) "eGalax Inc. Touch": Configuring as tablet
The touchscreen is a 7" resistive vga monitor.

Every touch makes the cursor move to the upper left corner and register the click there.
My calibration values, coming from an ubuntu 8.10 installation using evtouch, are loaded through a udev rule. Changing them or using no values at all for calibration does not change anything.

If I install the eGalax driver (http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm), the device is listed twice in "xinput list" and if I disable the device using evdev, I can calibrate the screen using the eGalax tool and everythings works. If I don't disable the device using evdev, everything works too, except that every touch is preceded by a touch to the upper left corner.
But I'd rather get it working using only evdev.

ProblemType: Bug
Architecture: i386
Date: Sat Mar 27 11:07:38 2010
DistroRelease: Ubuntu 10.04
DkmsStatus: Error: [Errno 2] No such file or directory
InstallationMedia: Ubuntu-Netbook 10.04 "Lucid Lynx" - Beta i386 (20100318)
Package: xserver-xorg-input-evdev 1:2.3.2-3ubuntu2
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-17-generic root=UUID=a1d7d9b3-1a8f-4e55-b622-ec5497d7797c ro quiet splash
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-17.26-generic 2.6.32.10+drm33.1
SourcePackage: xserver-xorg-input-evdev
Uname: Linux 2.6.32-17-generic i686
dmi.bios.date: 04/03/2009
dmi.bios.vendor: Intel Corp.
dmi.bios.version: LF94510J.86A.0171.2009.0403.0118
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: D945GCLF2
dmi.board.vendor: Intel Corporation
dmi.board.version: AAE46416-106
dmi.chassis.type: 3
dmi.modalias: dmi:bvnIntelCorp.:bvrLF94510J.86A.0171.2009.0403.0118:bd04/03/2009:svn:pn:pvr:rvnIntelCorporation:rnD945GCLF2:rvrAAE46416-106:cvn:ct3:cvr:
glxinfo: Error: [Errno 2] No such file or directory
system:
 distro: Ubuntu
 codename: lucid
 architecture: i686
 kernel: 2.6.32-17-generic

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 324781
dmesg output with detected USB touchscreen

Description of problem:
USB touchscreen driver/pen is not automatically added/usable

Version-Release number of selected component (if applicable):
xorg-x11-drv-evdev-2.07-3.fc10.i386

How reproducible:
Always

Steps to Reproduce:
1. Boot system into X
2. Try using the pen
3.

Actual results:
Pen / touchscreen not usable

Expected results:
Pen / touchscreen automatically configured and usable

Additional info:
The proper usb device is detected by the kernel (see also attached dmesg output) but not used by X.

usb 4-2: new full speed USB device using uhci_hcd and address 2
usb 4-2: configuration #1 chosen from 1 choice
usb 4-2: New USB device found, idVendor=0eef, idProduct=0001
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-2: Product: USB TouchController
usb 4-2: Manufacturer: eGalax Inc.
<snip>
input: eGalax Inc. USB TouchController as /devices/pci0000:00/0000:00:1d.2/usb4/4-2/4-2:1.0/input/input7
input,hiddev96,hidraw2: USB HID v2.10 Pointer [eGalax Inc. USB TouchController] on usb-0000:00:1d.2-2

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 324782
Xorg.0.log

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

Please attach the output of lshal. I'm pretty sure this is an issue with the kernel or hal not providing the right capability lists.

Please download http://people.freedesktop.org/~whot/evtest.c, compile it with "gcc -o evtest evtest.c" and then run it as root with "./evtest /dev/input/eventX" where X is the number for the device. You can get the number by looking at /proc/bus/input/devices. Then attach the output of evtest here.

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 327132
Output of evtest /dev/input/event7

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 327133
Output from lshal

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 327134
Output from cat /proc/bus/input/devices

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

I've attached the requested info.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

This is actually a HAL issue (two separate ones). Please try the packages from http://koji.fedoraproject.org/scratch/whot/task_1002708/ and let me know how it goes.
If it doesn't work, please attach the output from lshal again.

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 327343
lshal output from updated hal

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 327344
Xorg.0.log with updated hal

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

I've installed the updated hal packages from koji. The last lines from the Xorg.0.log file show that the proper touch device is found, unfortunately the touchscreen still does not work.

Excerpt from Xorg.0.log:
(**) eGalax Inc. USB TouchController: always reports core events
(**) eGalax Inc. USB TouchController: Device: "/dev/input/event7"
(II) eGalax Inc. USB TouchController: Found x and y absolute axes
(II) eGalax Inc. USB TouchController: Found absolute touchpad
(II) eGalax Inc. USB TouchController: Found mouse buttons
(II) eGalax Inc. USB TouchController: Configuring as mouse
(II) XINPUT: Adding extended input device "eGalax Inc. USB TouchController" (type: MOUSE)

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

Reassigning to kernel. The device announces 4 axes, ABS_X, Y, Z and RX. The events only ever come through for Z and RX, no x/y information.
Unless the kernel driver is fixed to send x/y information there isn't much we can do in X.

I'll get the hal packages in in the meantime so once the kernel driver is fixed, it should "just work".

Revision history for this message
In , Max (max-redhat-bugs) wrote :

I am using kernel 2.6.27.9-159.fc10.i686 and it seems that
the kernel is no longer recognizing my usb touchscreen
The output from dmesg is

usb 3-1: new low speed USB device using uhci_hcd and address 4
usb 3-1: string descriptor 0 read error: -32
usb 3-1: string descriptor 0 read error: -32
usb 3-1: configuration #1 chosen from 1 choice
usb 3-1: string descriptor 0 read error: -32
usb 3-1: New USB device found, idVendor=0eef, idProduct=0001
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usbcore: registered new interface driver usbtouchscreen

and /proc/bus/usb/devices says
T: Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0eef ProdID=0001 Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=5ms

lsusb gives
Bus 003 Device 004: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen

the device is not listed in /proc/bus/input/devices

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

With the latest rawhide the touch still won't work out of the box. I have attached a new Xorg.0.log and dmesg output files.

In contrast to Max (comment #12) the device show up in /proc/bus/input/devices as input10.

It looks like the xorg touch driver no longer recognized my touchscreen (??):

(II) config/hal: Adding input device eGalax Inc. USB TouchController
(II) LoadModule: "synaptics"
(II) Loading /usr/lib/xorg/modules/input//synaptics_drv.so
(II) Module synaptics: vendor="X.Org Foundation"
 compiled for 1.6.0, module version = 1.1.0
 Module class: X.Org XInput Driver
 ABI class: X.Org XInput driver, version 4.0
(II) Synaptics touchpad driver version 1.1.0
(**) Option "Device" "/dev/input/event10"
(--) eGalax Inc. USB TouchController: no supported touchpad found
(**) eGalax Inc. USB TouchController: always reports core events
(II) XINPUT: Adding extended input device "eGalax Inc. USB TouchController" (type: TOUCHPAD)
(**) eGalax Inc. USB TouchController: (accel) keeping acceleration scheme 1
(**) eGalax Inc. USB TouchController: (accel) filter chain progression: 2.00
(**) eGalax Inc. USB TouchController: (accel) filter stage 0: 20.00 ms
(**) eGalax Inc. USB TouchController: (accel) set acceleration profile 0
(--) eGalax Inc. USB TouchController: no supported touchpad found

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 335095
Xorg.0.log from latest rawhide (March 13)

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Created attachment 335096
dmesg from latest rawhide kernel

Revision history for this message
In , Max (max-redhat-bugs) wrote :

Some info on my initial problem
after working with the driver developer it was fixed in the kernel
see here for more details http://patchwork.kernel.org/patch/6107/

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

(In reply to comment #16)
> Some info on my initial problem
> after working with the driver developer it was fixed in the kernel
> see here for more details http://patchwork.kernel.org/patch/6107/

I guess that with 2.6.29 the mentioned kernel patch is included? From my (comment #13) it looks like X no long has the evtouch driver we need.

Revision history for this message
In , Max (max-redhat-bugs) wrote :

you can choose betwween different Xorg drivers
I tested
-evdev
comes with Xorg but calibration is not working for me but should be fixed soon

-evtouch
not part of fedora and drag n drop is not working for me

-properitary driver eGalax
I currently use this until evdev is fixed - has working calibration and drag n drop support

Revision history for this message
In , Chuck (chuck-redhat-bugs) wrote :

(In reply to comment #17)
> (In reply to comment #16)
> > Some info on my initial problem
> > after working with the driver developer it was fixed in the kernel
> > see here for more details http://patchwork.kernel.org/patch/6107/
>
> I guess that with 2.6.29 the mentioned kernel patch is included? From my
> (comment #13) it looks like X no long has the evtouch driver we need.

Yes, that patch went into 2.6.29-rc7. Can the kernel bug be closed now?

Revision history for this message
In , Max (max-redhat-bugs) wrote :

As far as it fixes the problem that some touchscreens like mine
were not correctly recognized from the kernel - yes

Revision history for this message
In , Matěj (matj-redhat-bugs) wrote :

Reporter? Any opinions on 2.6.29 kernel? Can you still reproduce the issue with the latest upgrades in Fedora/Rawhide?

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

I will retest as soon as I am able to update my system (https://bugzilla.redhat.com/show_bug.cgi?id=473142)

Revision history for this message
In , Jurgen (jurgen-redhat-bugs) wrote :

Could you elaborate what should be fixed with the 2.6.29 kernel? I managed to update the system to the current rawhide but for me there looks to be no difference. Xorg.0.log still shows the same messages as with my comment #14.

Revision history for this message
In , Max (max-redhat-bugs) wrote :

As I described bevor the kernel patch fixes only the
problem that certain touchscreens are not recognized
from the kernel as "touchscreen" and therefore cannot be
used. This is not depending on Xorg

This fixes nothing for the Xorg driver situation which
is currently not very good since evdev support for
touchscreens is missing e.g. calibration

I described above the possible drivers you can use
in Xorg.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

(In reply to comment #24)
> This fixes nothing for the Xorg driver situation which
> is currently not very good since evdev support for
> touchscreens is missing e.g. calibration

fwiw, man evdev(4)

Evdev Axis Calibration
              4 32-bit values, order min-x, max-x, min-y, max-y or 0
              values to disable run-time axis calibration. This feature
              is required for devices that need to scale to a different
              coordinate system than originally reported to the X
              server, such as touchscreens that require run-time cali-
              bration.

xinput --set-int-prop "My Device" "Evdev Axis Calibration" 32 0 10 20 30 for example calibrates your touchscreen at runtime if the actual range is 0-10 on x and 20-30 on y.

Revision history for this message
In , Max (max-redhat-bugs) wrote :

yes I know this man page :)
But this is actually "brand new" and at least on my fedora 10
this enhancements have not been included in the Xorg package AFAIK
e.g. the xinput has no --set-int-prop parameter support

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

right, f10 doesn't have it, but f11 does (this bug is rawhide, hence my assumption).
the version in F10 still has the same options, but they cannot be changed at runtime. So you'd have to get the values once and then modify the configuration, and then restart the server.

Revision history for this message
In , jordan (jordan-redhat-bugs) wrote :

I have seen this problem as well.. the input events are on RX/Z not the X/Y axis. I had to modify the evtouch X driver to handle RX/Z events as well.

The real problem is in drivers/usb/hid-input.c. The egalax 0eef:0001 touchscreen reports 2 x/y axes but only the 2nd one is active. When the 2nd set is detected, the following code is the culprit:

        while (usage->code <= max && test_and_set_bit(usage->code, bit)) {
                 usage->code = find_next_zero_bit(bit, max + 1, usage->code);
        }

Since abs_x and abs_y are already set in bit, it finds the next two open holes at rx/z.

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Revision history for this message
In , Matt (matt-redhat-bugs) wrote :

I encountered this bug when I upgraded to Fedora 11. Can you comment on which kernel is supposed to have addressed this?

I have kernel-2.6.29.4-167.fc11.x86_64. In /var/log/Xorg.0.log I see:

(II) config/hal: Adding input device eGalax INC. USB TouchController
(II) Synaptics touchpad driver version 1.1.0
(**) Option "Device" "/dev/input/event7"
(**) Option "TapButton1" "1"
(**) Option "TapButton2" "3"
(**) Option "TapButton3" "2"
(--) eGalax INC. USB TouchController: no supported touchpad found
(EE) eGalax INC. USB TouchController Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device "eGalax INC. USB TouchController"
(II) UnloadModule: "synaptics"

Can you also comment on how you got the egalax driver working?

After installing the module, I have this in my xorg.conf file:

Section "InputDevice"
        Identifier "EETI"
        Driver "egalax"
        Option "Device" "usbauto"
        Option "Parameters" "/var/lib/eeti.param"
        Option "ScreenNo" "0"
EndSection

And in the Xorg log file:

(II) LoadModule: "egalax"
(II) Loading /usr/lib64/xorg/modules/input//egalax_drv.so
(II) Module egalax: vendor="X.Org Foundation"
        compiled for 1.6.0, module version = 2.6.0
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 4.0
...
(**) Option "SendCoreEvents"
(**) egalax: always reports core events
(**) egalax X device name: egalax
(II) HID Touch Controller @ /dev/hidraw0
(**) egalaxHistroSize=10
(**) Option "ScreenNo" "0"
(**) egalax associated screen: 0
(**) egalaxParameter=/var/lib/eeti.param
(II) XINPUT: Adding extended input device "egalax" (type: egalax)

But when I press the touchscreen the mouse moves erratically. Subsequent mouse input (for example from a touchpad) causes spurious clicks and the left button stops working. I noticed that something is adding a mouse device handler to the touchscreen:

cat /proc/bus/input/devices
...
I: Bus=0003 Vendor=0eef Product=0001 Version=0210
N: Name="eGalax INC. USB TouchController"
P: Phys=usb-0000:00:0b.1-2.3/input0
S: Sysfs=/devices/pci0000:00/0000:00:0b.1/usb1/1-2/1-2.3/1-2.3:1.0/input/input7
U: Uniq=
H: Handlers=mouse2 event7
B: EV=1b
B: KEY=401 30000 0 0 0 0
B: ABS=f
B: MSC=10
...

How can I disable this?

Revision history for this message
In , Max (max-redhat-bugs) wrote :

I can only comment your second question.
One possible reason for this may be that there is more
then one input handler for the touchscreen in X
In my case I had to disable the evdev driver using a
hal fdi file to choose the eGalax driver instead
Do you have a also an entry for the evdev touchscreen
driver in your Xorg.log?

Revision history for this message
In , Matt (matt-redhat-bugs) wrote :

It looks like evdev comes up for my keyboard and handles power button events. I don't see anything for the touchscreen.

I think the problem is that the touchscreen is also giving input on /dev/input/mouse2 (as seen above) and /dev/input/mice. When I do

od /dev/input/mouse2

or

od /dev/input/mice

I see some data coming through when I touch the touchscreen. I think Xorg is listening to mouse2 or mice as a mouse, and misinterpreting the touchscreen input. I think the touchscreen can't run through the kernel mouse driver. The confusing part is, I don't see anything specific to mouse2 or mice in xorg.conf, or in Xorg.0.log, or in dmesg.

Could you post the relevant lines from your hal fdi file to get the egalax xorg driver to load (rather than synaptics?).

Thanks!

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

except if explicity configured, the X server doesn't listen to /dev/input/mice or mouseX, so that's unlikely the problem.

Revision history for this message
In , Matt (matt-redhat-bugs) wrote :

Ok, I agree with you. I can remove the egalax driver from xorg.conf and the touchscreen doesn't create any input events when touched.

I'm trying to setup an fdi file like Max suggested. My first goal is to get xorg to stop trying to load the synaptics driver for the eGalax touchscreen. I edited /usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi (I know I'm supposed to put it in /etc/hal/fdi/... so it doesn't get overwritten, but I'd rather just have a single copy of the file while I'm testing). The file starts out like this (comments removed):

<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
    </match>
  </device>
</deviceinfo>

I changed it to this:

<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
        <match key="info.product" contains="Synaptics TouchPad">
            <merge key="input.x11_driver" type="string">synaptics</merge>
        </match>
    </match>
  </device>
</deviceinfo>

My actual synaptics touchpad is identified by xorg/hal as:

(II) config/hal: Adding input device SynPS/2 Synaptics TouchPad

And the touchscreen is identified by xorg/hal as:

(II) config/hal: Adding input device eGalax INC. USB TouchController

Yet with the above changed fdi file I still get xorg trying to use the synaptics driver for the eGalax device:

(II) config/hal: Adding input device eGalax INC. USB TouchController
(II) Synaptics touchpad driver version 1.1.0
(**) Option "Device" "/dev/input/event7"
(--) eGalax INC. USB TouchController: no supported touchpad found
(EE) eGalax INC. USB TouchController Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device "eGalax INC. USB TouchController"
(II) UnloadModule: "synaptics"
(EE) config/hal: NewInputDeviceRequest failed (8)

I know the fdi file is being parsed, because I can add extra Synaptics options there, and they show up for both the eGalax and synaptics devices in the xorg server log.

Do you see a problem with what I'm doing?

Thanks again for your help.

Revision history for this message
In , Max (max-redhat-bugs) wrote :

Unfortunately dont have the fdi file by hand and I also
forgot the exact contents :) but I can mail it to
you in the next days

Revision history for this message
In , Ritchey (ritchey-redhat-bugs) wrote :

I have the same problem, a Planar PT1910MX touch screen with eGalax USB and am eagerly awaiting a solution! In regards to the touch screen calibration, there is a utility called evtouch used by the Ubuntu community. More info here:

http://stz-softwaretechnik.com/~ke/touchscreen/lifebook-2.6.html

and here:

http://ubuntuforums.org/showthread.php?t=482574

Please feel free to contact me if you need anyone to do some testing!

Thanks!

Revision history for this message
In , Julian (julian-redhat-bugs) wrote :

is there any chance of seeing that fdi file?

Revision history for this message
In , Max (max-redhat-bugs) wrote :

You mean the one that I mentioned in #35?
here it is

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="info.product" contains="USB Touchscreen 0eef:0001">
      <match key="info.capabilities" contains="input">
        <merge key="input.x11_driver" type="string">egalax</merge>
        <merge key="input.x11_device" type="string">usbauto</merge>
        <merge key="input.x11_parameters" type="string">/var/lib/eeti.param</merge>
      </match>
    </match>
  </device>
</deviceinfo>

I use it in a file named 50-eGalax-etti.fdi placed in /etc/fdi/policy
This inhibits for me that the evdev driver is loaded for the touchscreen which
leads to double events IMHO. Dont know if this helps in the synapic case also

Revision history for this message
In , Matt (matt-redhat-bugs) wrote :

For whatever reason, my egalax touchscreen gets confused with a synaptics touchpad, not the evdev driver. I had to change the above fdi file - specifically the "contains" part didn't match my device:

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="info.product" contains="eGalax INC. USB TouchController">
      <match key="info.capabilities" contains="input">
        <merge key="input.x11_driver" type="string">egalax</merge>
        <merge key="input.x11_device" type="string">usbauto</merge>
        <merge key="input.x11_parameters" type="string">/etc/egalax.cal</merge>
      </match>
    </match>
  </device>
</deviceinfo>

I put it in /etc/hal/fdi/policy, which is probably what the above post was referring to. After doing this, the touchscreen is loaded in xorg via hal using the egalax driver. I still have a problem where I can list the device in hal, and input.x11_parameters says /etc/egalax.cal, but the xorg driver doesn't seem to get this information, and is looking for the calibration file in the default location /var/lib/eeti.param.

#hal-device /org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input

udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input'
  input.x11_device = 'usbauto' (string)
  input.x11_parameters = '/etc/egalax.cal' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:0b.1/usb1/1-2/1-2.3/1-2.3:1.0/input/input7/event7' (string)
  input.product = 'eGalax INC. USB TouchController' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0' (string)
  input.device = '/dev/input/event7' (string)
  info.capabilities = { 'input', 'input.touchpad' } (string list)
  info.subsystem = 'input' (string)
  info.product = 'eGalax INC. USB TouchController' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input' (string)
  linux.device_file = '/dev/input/event7' (string)
  input.x11_driver = 'egalax' (string)
  info.category = 'input' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'input' (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0' (string)

# grep egalax /var/log/Xorg.0.log
(II) LoadModule: "egalax"
(II) Loading /usr/lib64/xorg/modules/input//egalax_drv.so
(II) Module egalax: vendor="X.Org Foundation"
(**) egalax: always reports core events
(**) egalax X device name: egalax
(**) egalaxHistroSize=10
(**) egalax associated screen: 0
(**) egalax:Use Defualt Parameter file:/var/lib/eeti.param(**) egalax Rotation option is enabled.
(II) XINPUT: Adding extended input device "egalax" (type: egalax)

Also, I had more success with the latest beta driver (1.07) from eeti:

http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm

Revision history for this message
In , Max (max-redhat-bugs) wrote :

I guess the location /var/lib/eeti.param ist "hard-coded"
and cannot be changed.
The rest looks good IMHO

Revision history for this message
In , Guy (guy-redhat-bugs) wrote :

With the procedure in #39, I got my eGalax touchscreen working on an HP tx1000. Thanks! For anyone else trying to do this, it's worth mentioning that this caused two touchscreen devices to appear simultaneously. Since the two were slightly different in their calibration properties, the pointer jumped around erratically when the touchscreen was in use. After removing EETI's installation script changes xorg.conf, however, only one device remained.

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :

Updated information on bug report.

* I have verified this is still an issue with Fedora 12 so can be bumped to that release number. A code review for linus's git shows same driver there so I'm guessing be a problem in rawhide as well.

* The solution in comment #39 requires a binary blob as input driver that appears to understand kernel driver bug. I'm hoping to get a fix that lets open source xf86-input-evdev be used.

* Kernel's drivers/hid-input.c still has logic mentioned in comment #28 in function hidinput_configure_usage(). I've not debuged yet to verify but code review leads me to believe it must be whats happening.

510 while (usage->code <= max && test_and_set_bit(usage->code, bit))
511 usage->code = find_next_zero_bit(bit, max + 1, usage->code);

If hardware, for what ever reason, reports two HID_GD_X and HID_GD_Y's then the second set will set usage->code to ABS_Y and ABS_RX. Seems a little strange logic.

Later, in hidinput_hid_event(), the following code will use usage->code which has incorrect ABS_Y/ABS_RX values and xf86-input-evdev will see interrupt wrong.

 582 input_event(input, usage->type, usage->code , hid_hat_to_axis[hat_dir].x);
583 input_event(input, usage->type, usage->code + 1, hid_hat_to_axis[hat_dir].y);

I can help debug/fix but need someone to verify why above logic is there and if we can skip the while() at least for HID_UP_GENDESK cases or even the more limited X/Y cases. I suspose we could add a hid-egalax.c quirks file for at least this known eGalax device (0eef:0001) with double X/Y axes reports. This was in HP tx1000 series which were decently popular in big boxes of 2007.

* Once kernel bug is fixed, we still need to address 10-synaptics.fdi claiming eGalax and similar touch screens owned by hid-input. Something that affectively does this:

    <match key="info.capabilities" contains="input.touchpad">
      <match key="info.product" contains="eGalax">
        <merge key="input.x11_driver" type="string">evdev</merge>
      </match>
    </match>

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :

I was able to get my eGalax touchscreen working with following work around. I don't know best fix to hid-input.c yet so instead I added a hack. I chose to hack xf86-input-evdev since its updated less then kernel and also hid-input is NOT a kernel module in Fedora and so harder to replace.

First, I created the file /etc/hal/fdi/policy/11-evdev.fdi with contents listed in comment #42 so that xf86-input-evdev is used.

Next, I also downloaded and applied below patch to xf86-input-evdev so that Z/RX were treated same as X/Y.

And finally, I came up with following calibration values by using "evtest /dev/input/event7", tracing around border of screen, and monitoring min/max values reports for Z/RX values and used those as X/Y values instead:

xinput --set-int prop 9 "Evdev Axis calibration" 32 48 3990 95 3990

*** evdev.c.orig 2010-01-28 21:13:58.153740219 -0600
--- evdev.c 2010-01-28 21:15:25.928480429 -0600
***************
*** 590,595 ****
--- 590,603 ----
      if (ev->code > ABS_MAX)
          return;

+ /* Hack to work around but in hid-input.c were double X/Y
+ * inputs cause second set to be mapped to Y/RX.
+ */
+ if (ev->code == ABS_Z)
+ ev->code = ABS_X;
+ if (ev->code == ABS_RX)
+ ev->code = ABS_Y;
+
      pEvdev->vals[pEvdev->axis_map[ev->code]] = value;
      if (ev->code == ABS_X)
          pEvdev->abs |= ABS_X_VALUE;

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

Does the kernel build available http://koji.fedoraproject.org/koji/taskinfo?taskID=1955391 work for you?

On the box I've got on my desk ATM, it makes the pointer move but not yet click. Another patch is needed for that, either in the kernel or in evdev - not sure yet.

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :

Yes, the kernel in #44 worked nicely! Thank you much for the patch. (I hate when it turns out to be a simple change and I didn't figure it out myself).

This kernel now creates two inputs instead of one. There is one input that is useless and assigned info.capabilities of input.mouse and input.x11_driver evdev. The good one still has info.capabilities of input.touchpad and input.x11_driver of synaptics (from 10-synaptics.fdi).

So I still need my /etc/hal/fdi/policy/11-evdev.fdi override. This is just as well for me because I use it to also set calibration so that screen works even with GDM login.

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 10-synaptics.fdi is claiming all input.touchpad's as its
     own. This file is meant to be loaded afterwards and to undo
     any wrong assignments it did.
-->
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
      <match key="info.product" contains="eGalax">
        <merge key="input.x11_driver" type="string">evdev</merge>
        <merge key="input.x11_options.Calibration" type="string">32 3990 48 3990</merge>
      </match>
    </match>
  </device>
</deviceinfo>

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :

Another status update.

It hasn't been previously mentioned in this report but if you use a stock Fedora xf86-input-evdev then left button presses do not work as you'd expect with a touch screen. But xf86-input-evdev-2.3.2 and rawhide's (Fedora 13-ish) xf86-input-evdev-2.3.99 contain fixes that let it work for HP TX1000 and HP TouchSmart devices.

The required kernel fix in #44 for TX1000/Touchsmart is in a weird place. Its in a RPM for kernel-2.6.32 but that kernel is in neither Fedora 12 nor rawhide/Fedora 13. The Fedora patches to 2.6.32 haven't been forward ported to 2.6.33 yet.

Once the kernel patches make it into rawhide, I think this bug report can be closed.

There will be a remaining issue with HAL incorrectly mapping some touchscreens to synaptics but I don't think its worth tracking since HAL is unsupported and any fix can't be supported up stream. Touchscreen owners will need always to make a custom HAL .fdi file to calibrate the screen anyways and so can remap to evdev at same time. Calibration can't really be automated at this time.

Revision history for this message
Benjamin Meeusen (ravenous) wrote :
Revision history for this message
Benjamin Meeusen (ravenous) wrote :

The above happened while the usbtouchscreen module was blacklisted (this was needed for the eGalax module). If I let the usbtouchscreen module load, the touchscreen is configured as a touchscreen.
But 'xinput list-props' shows only two axis labels (Abs X and Abs Y), and only part of the touches are registered. 'xinput test' shows very little output (a simple movement shows a couple of lines) while touching all over the screen, e.g. it shows 'button press', then I touch the screen a lot, it shows some 'motion...' output, and then after some touching it shows 'button release'.

If I then do 'rmmod usbtouchscreen' and plug the touchscreen (usb) out and back in, the touchscreen is configured as tablet and all touches make the cursor go to the upper left corner. It is also showing 4 axis labels (Abs X, Y, Z and Rotary X). 'xinput test' shows considerably more output than before (where a simple movement now shows 100 lines)

If I then load the usbtouchscreen module again (modprobe usbtouchscreen) and plug the touchscreen out and in, it stays registered as tablet (also after X restart, should that matter).

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '11'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 11's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 11 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

The process we are following is described here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Revision history for this message
cmd_ (cemede) wrote :

With a ubuntu 9.10 fresh install + eGalax driver ( 3.00.3719 or 3.01.4001 beta from the eGalax website) works well!

But with a ubuntu 10.04 rc + eGalax driver or evtouch, appear the problem commented by Benjamin, "Every touch makes the cursor move to the upper left corner and register the click there."

With 10.04 rc, setup.sh from the eGalax driver needs a few modifications to proper install:
-blacklist file points to /etc/modprobe.d/blacklist, -> change to /etc/modprobe.d/blacklist.conf
-install script fail if xorg.conf file doesn't exist, -> create file
-install script also fail if ServerLayout section in xorg.conf isn't present, -> add section

Anyway this latest problems from setup.sh script isn't a bug from ubuntu package.

Changed in xserver-xorg-input-evdev (Ubuntu):
status: New → Confirmed
Revision history for this message
John Ross (johnross-johnross) wrote :

I also ran into this bug when upgrading from 9.10 to 10.04 RC on an Asus 901 modified with touchscreen that uses eGalax driver. Everything worked great prior to upgrade but I got the same "jump to upper left corner" type of behavior no matter what version of eGalax driver I used. I've reverted to 9.10 until the issue is resolved.

Revision history for this message
Maximka (maxim-kraev-gmail) wrote :

Executing "xinput set-int-prop "eGalax Inc. USB TouchController" 183 8 0" solved problem for me. I have script which automatically execute command on X started.

Revision history for this message
UOneChancellor (random-system) wrote :

I have ubuntu 10.04 and msi u100 with touchscreen

Bus 001 Device 004: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB

with original driver eGalax driver ( 3.00.3719 or 3.01.4001 beta from the eGalax website) i can calibrate it.

But with driver of ubuntu 10.04, the touchscreen work, but THERE IS NOT the tool for calibrate....

can you help me?

bye
Lele

Revision history for this message
chops (chopssmith-media) wrote :

This is affecting me too (on an HP tx1000 series, new install of Lucid on a new HDD). I have no real idea about these things, but am wondering if it is some kind of configuration which needs to be written. For instance if whatever tells it how to work thinks that the screen is 0 x 0 pixels because it has not been told otherwise. That, presumably would send it to the top left hand corner?

I think this adds weight to the need for a calibration programme, like there was in an earlier version of Ubuntu (Gutsy?).

If one of you clever people can come up with a little how-to for the thick but brave (or stupid!) like me, that would be awesome!

Thanks, and keep up the good work!

Rich

Revision history for this message
cmd_ (cemede) wrote :

Yes, without doubt, we need an application WITH GUI (like the eGalax solution) to calibrate all touchscreens covered by evdev driver.
I see a lot of people that made a little app for doing this, but none of them are in the ubuntu repositories.

Check this blueprints:
https://blueprints.launchpad.net/ubuntu/+spec/mobile-general-resolution-for-touchscreen-handling
and the detailed version here:
https://wiki.ubuntu.com/JauntyTouchscreenHandling

In this last link you can notice a gui app to setup a touchscreen, not only calibration tool, also precision, swap axes, timeouts.. why this app isn't in actual ubuntu releases (and repositories)?

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

The question isn't why that app isn't in Ubuntu repositories, because chances are that app was never made, and vapourware naturally doesn't exist in any repo. My question is another. Why this program isn't in Ubuntu repos?

http://www.freedesktop.org/wiki/Software/xinput_calibrator

That is a generic XInput calibrator. Works like a charm with evtouch, and can write UDEV rules (perfect for Lucid). Please, check this: https://bugzilla.redhat.com/show_bug.cgi?id=473144 . With that info and the HAL rule there, my eGalax touchscreen works in Fedora 12 (with HAL). Can you work a little with that HAL rule, turn it into an UDEV rule, and make my touchscreen work?

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

Meh: s/evtouch/evdev/g ...

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

Help!

I upgraded my HP tx1000 to Fedora 13, and this bug turned into this:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/549447 . You can watch the exact same behaviour (every touch, even if it's accurately reported by xinput test, ends in the upper-left corner).

That behaviour wasn't present with Fedora 12 (it worked with HAL and the rule above). Please, reopen against Fedora 13!

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

Let's kill this bug once and for all.

My eGalax touchscreen gets detected as a tablet, but basically works.

The catch is: Evdev detects four axes: Absolute X axis (always in coordinate 42), Absolute Y axis (always in coordinate 42), Absolute Z axis (registering motion flawlessly), and Rotary X axis (also registering motion flawlessly). The axes are swapped, guys.

[root@faeris faeris]# xinput list-props 11
Device 'eGalax INC. USB TouchController':
        Device Enabled (115): 1
        Device Accel Profile (237): 0
        Device Accel Constant Deceleration (238): 1.000000
        Device Accel Adaptive Deceleration (240): 1.000000
        Device Accel Velocity Scaling (241): 10.000000
        Evdev Axis Inversion (242): 0, 0
        Evdev Axis Calibration (243): 32, 0, 1000, 0
        Evdev Axes Swap (244): 0
        Axis Labels (245): "Abs X" (233), "Abs Y" (234), "Abs Z" (235), "Abs Rotary X" (236)
        Button Labels (246): "Button Left" (116), "Button Unknown" (232), "Button Right" (118), "Button Wheel Up" (119), "Button Wheel Down" (120)
        Evdev Middle Button Emulation (247): 2
        Evdev Middle Button Timeout (248): 50
        Evdev Wheel Emulation (249): 0
        Evdev Wheel Emulation Axes (250): 4, 5, 0, 0
        Evdev Wheel Emulation Inertia (251): 10
        Evdev Wheel Emulation Timeout (252): 200
        Evdev Wheel Emulation Button (253): 4
        Evdev Drag Lock Buttons (254): 0

When I run xinput test, Abs X and Abs Y are always at 42, but Abs Z and Abs Rotary X are registering accurately the motion. Also, the screen answers to clicks. What can I do to invert axes, so that X can move my pointer with Z and Rotary X (basically a workaround), or patching something so that Z and Rotary X come to be X and Y (the real fix)? This is also biting Ubuntu, so, I think it's upstream, and the evdev kernel driver is reading funky data from my touchscreen. This mail chain in the evdev list might be enlightening.

http://<email address hidden>/msg09730.html

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

The result of an xinput test 11 run.

        Abs X Abs Y Abs Z Z Rotate
motion a[0]=42 a[1]=42 a[2]=784 a[3]=1380
motion a[0]=42 a[1]=42 a[2]=815 a[3]=1392
motion a[0]=42 a[1]=42 a[2]=847 a[3]=1404
motion a[0]=42 a[1]=42 a[2]=878 a[3]=1420
motion a[0]=42 a[1]=42 a[2]=909 a[3]=1437
motion a[0]=42 a[1]=42 a[2]=941 a[3]=1457
motion a[0]=42 a[1]=42 a[2]=972 a[3]=1480
motion a[0]=42 a[1]=42 a[2]=1004 a[3]=1506
motion a[0]=42 a[1]=42 a[2]=1035 a[3]=1534
motion a[0]=42 a[1]=42 a[2]=1065 a[3]=1566
motion a[0]=42 a[1]=42 a[2]=1095 a[3]=1600
motion a[0]=42 a[1]=42 a[2]=1125 a[3]=1637
motion a[0]=42 a[1]=42 a[2]=1154 a[3]=1676
motion a[0]=42 a[1]=42 a[2]=1182 a[3]=1719
motion a[0]=42 a[1]=42 a[2]=1211 a[3]=1764
motion a[0]=42 a[1]=42 a[2]=1239 a[3]=1811
motion a[0]=42 a[1]=42 a[2]=1268 a[3]=1859
motion a[0]=42 a[1]=42 a[2]=1297 a[3]=1908
motion a[0]=42 a[1]=42 a[2]=1326 a[3]=1956
motion a[0]=42 a[1]=42 a[2]=1355 a[3]=2006
motion a[0]=42 a[1]=42 a[2]=1387 a[3]=2056
motion a[0]=42 a[1]=42 a[2]=1421 a[3]=2105
motion a[0]=42 a[1]=42 a[2]=1455 a[3]=2149
motion a[0]=42 a[1]=42 a[2]=1489 a[3]=2194
motion a[0]=42 a[1]=42 a[2]=1524 a[3]=2235
motion a[0]=42 a[1]=42 a[2]=1562 a[3]=2273
motion a[0]=42 a[1]=42 a[2]=1600 a[3]=2309
motion a[0]=42 a[1]=42 a[2]=1639 a[3]=2344
motion a[0]=42 a[1]=42 a[2]=1679 a[3]=2376
motion a[0]=42 a[1]=42 a[2]=1720 a[3]=2407
motion a[0]=42 a[1]=42 a[2]=1763 a[3]=2437
motion a[0]=42 a[1]=42 a[2]=1809 a[3]=2465
motion a[0]=42 a[1]=42 a[2]=1856 a[3]=2488
motion a[0]=42 a[1]=42 a[2]=1902 a[3]=2511
motion a[0]=42 a[1]=42 a[2]=1951 a[3]=2530

You get the idea.

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

Also, booting with vmlinuz-2.6.32.12-114.fc12.x86_64 (the latest Fedora 12 kernel) under my Fedora 13 system makes my touchscreen work. So, this is definitely a kernel bug, with the fix already in that kernel.

Revision history for this message
In , Chris (chris-redhat-bugs) wrote :

My tx1000 got toasted during an upgrade to Fedora 13 beta. An ACPI bug caused it to overheat and hit the known design flaw with video on those. So I can't contribute much more to this.

But I can point out that there is a Fedora-only patch in kernels 2.6.32 series that Fedora 12 finally started using. The patch never made it upstream. Looking at linus git as of this post, I see no HID_QUIRK_MULTI_INPUT quirk listed for the tx1000's listed in drivers/hid/usbhid/hid-quirks.c . What that would do is cause kernel to create 2 input devices instead of only one. This causes for x/y/z/rx values for single device to be broken in two and x/y on first and x/y again on second. One of those two inputs become effectively unused.

Perhaps someone on this bug report chain can comment about forward porting the Fedora-only patch from 2.6.32 to the 2.6.33 series kernels and also submitting upstream?

The rest of the story in this bug report is specific to Fedora 11/12 and its related to HAL fdi files which are no longer meaningful in Fedora 13 timeframe. I'd vote to close this bug report and open up new reports as needed to discuss any needed enhancements to xorg.conf.d files.

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

Chris, if you were closer to Chile I'd recommend you a good technician who fixed that damned issue for me once and for all :(.

How can I apply that patch? Is there any kernel parameter I can set, or a quirk I can force? If I were to guide myself by the title of this bug, I don't agree about closing this bug. We are so close to a real fix!

Once we have the forward port, I agree we should move on and declare this bug fixed.

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

More on this.

I'm now with Fedora 13 (using a very Lucid-like system) and the behaviour was exactly as described in this bug. Booting with the 2.6.32 kernel provided by Fedora 12 makes my touchscreen work properly, but it gets detected as two devices instead of one. The problem is narrowed to a Fedora 12 only patch for 2.6.32, that introduced HID_QUIRK_MULTI_INPUT for eGalax touchscreens in drivers/hid/usbhid/hid-quirks.c. We are demanding the return of that patch to Fedora 13, to divide the touchscreen in 2 device, but conquer the touchscreening here. If we can get X to recognize the touchscreen as a tablet, or as a whatever that gives reliable X and Y coordinates, and answer to touch, we are done.

Keep an eye on this, Ubuntu followers! The source of this issue is this. It is not evdev, it's the kernel. And that patch is the solution. I'll report my advances getting this fixed under Fedora 13.

Revision history for this message
In , Ritchey (ritchey-redhat-bugs) wrote :

It's working!! I switched over to Ubuntu Lucid Lynx!

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :
Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

Reconfirmed: touchscreen works by adding usbhid.quirks=0xeef:0x1:0x40 to the boot line.

0xeef: eGalax (manufacturer hex code)
0x1: product code
0x40: MULTI quirk.

Revision history for this message
kb1605 (kb1605-deactivatedaccount) wrote :

Hello everyone,
i have found a solution that at least works for me, but I am m pretty sure that it will also work for most of you guys.I Use Ubuntu 10.04 and have an eGalaxy USB-Touchpannel(Driver: eGalaxTouch-3.00.3719)

Of course the first step was to install the eGalaxy drivers as mentioned by "cmd_", quote:
"With 10.04 rc, setup.sh from the eGalax driver needs a few modifications to proper install:
-blacklist file points to /etc/modprobe.d/blacklist, -> change to /etc/modprobe.d/blacklist.conf
-install script fail if xorg.conf file doesn't exist, -> create file
-install script also fail if ServerLayout section in xorg.conf isn't present, -> add section"

Maximka's way of fixing the problem is right.Here is what I have done, step by step:
sya@7up:~$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=15 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=16 [slave pointer (2)]
⎜ ↳ egalax id=6 [slave pointer (2)]
⎜ ↳ eGalax Inc. Touch id=11 [slave pointer (2)]
As you can see "xinput-list" showas two egalaxy devices,
by using the command: <xinput -test "egalax"> and <xinput -test "eGalax Inc. Touch"> I recognized that the false click to the upper left corner is done by the device with the name "eGalax Inc. Touch".

So the next step is to deactivate this device, by taking a look at the device properties with the command:
 <xinput -list-props "eGalax Inc. Touch"> and afterwards deactivating the device with the command:
 <xinput -set-prop "eGalax Inc. Touch" "Device Enabled" 0 >.

Now the mousepointer moves correctly and there are no false clicks to the upper left corner.
In my case I also had to start the eGalaxyTouch configuation program and change the "mouse mode" to "click on touch".

bye
kb1605

Revision history for this message
Manolis Kapernaros (kapcom01) wrote :

The workaround that kb1605 suggested works fine for me.
But if there was a calibration app into ubuntu repos would be much better.
I tried using xinput_calibrator that Ernesto Manriquez suggested but i didnt managed to compile it.. i didnt tried it enough though..

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

Moving to F-13.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

Ben committed this patch to the F-13 kernel and the patch is now committed upstream too. So the next kernel update should fix this issue.

Revision history for this message
In , Ernesto (ernesto-redhat-bugs) wrote :

We can close this now. The latest kernel (2.6.33 rev -95) solved the problem. We can make a proper fix for this later, but this is working, so, please, close this bug as WORKSFORME to properly track the status of eGalax support under Linux.

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

thanks, closing as fixed then. Sorry about the delay, the patch fell under the table.

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

You haven't followed my advances in the Fedora bug lately.

Instead of surrendering to the blob, try appending this to the kernel line in /etc/grub.conf:

usbhid.quirks=0xeef:0x1:0x40

If you can't compile xinput_touchscreen, install this first and see what happens:

sudo apt-get install build-essential libgtkmm-dev

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

sudo apt-get install build-essential libgtkmm-2.4-dev

(sorry)

Revision history for this message
John Ross (johnross-johnross) wrote :

I tried kb1605 workaround. It only works with "click on touch" mode. This is fine for opening programs, tapping menus but useless if you intend to use the stylus to draw or write on the screen with something like xournal.

I have yet to try Ernesto's suggestions. More later...

Revision history for this message
chops (chopssmith-media) wrote :

It is good to see you guys still working on this. I installed the eGalax tool, and it worked ok (upside-down), but seemed to have some kind of conflict with the evdev driver (evdev seemed to take preference over eGalax when it was not disabled.)

I did the xinput -test on each device, and noticed that both output the co-ordinates, so my earlier suggestion of it not recognising the screen size was complete rubbish! You all probably had got there way before me, but I thought I would add it in case someone who did not know started frantically to 'fix' this issue, which is not an issue at all!

This all suggests to me that it should be something relatively simple- after all, evdev is registering the co-ordinates and the clicks, but not quite putting them together. I can't help feeling we (ok, you!) are nearly there, so keep up the good work, and thanks!

Revision history for this message
cmd_ (cemede) wrote :

Hi, now I have a working 10.04 + evdev driver, there are a few problems but works.

I started with a fresh ubuntu lucid install and:

- I added usbhid.quirks=0xeef:0x1:0x40 to /etc/default/grub, change line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0xeef:0x1:0x40"

- Blacklisted usbtouchscreen module, add:

blacklist usbtouchscreen
to
/etc/modprobe.d/blacklist.conf

- Next I installed all neccesary deps to proper compile xinput calibrator (download here: http://github.com/tias/xinput_calibrator/downloads ):

$ sudo apt-get install build-essential libgtkmm-2.4-dev autoconf libtool

- After extract xinput files from the tgz/zip, enter to the decompressed directory and type:

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install (optional, binary files are into ../src/ dir )

Here starts my problem, I want to calibrate the device but there are 2 listed into xinput list. After finding the right one with xinput test "id" I can get the correct values for the calibration, but I can only apply with this:

$ xinput set-int-prop "id from the right device" "Evdev Axes Swap" 8 1 #<-You probably doesn't need to do this
$ xinput set-int-prop "id from the right device" "Evdev Axis Calibration" 32 315 3902 337 3842

The id's changes every boot, and I can't apply the same configuration.

Also I tried adding the udev rules, but do not worked for me. Ernesto, you have luck with udev rules? lucid comes with evdev 2.3.2, this version supports udev rules?

Thanks.

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

I'm having the same problems as you, cmd_, but I rely heavily in workarounds.

I nailed in my KDE Autostart two desktop files, running this.

xinput set-int-prop 11 "Evdev Axis Calibration" 32 45 4008 121 3978
xinput set-int-prop 12 "Evdev Axis Calibration" 32 45 4008 121 3978

So, I simply assure myself that both eGalax devices (the true one and the fake one) are calibrated. One feature of xinput values is that you can set bogus values for a device that doesn't support them, so I use it.

The place to have these settings is not udev rules; is this:

/usr/share/X11/xorg.conf.d/10-evdev.conf

Copy that file to /etc/X11/xorg.conf.d

Fedora 13 and Lucid share their configuration mechanism: a pure UDEV mechanism. The technique is easier than you think.

Add to that file these lines and see what happens.

    MatchProduct "eGalax"
    Option "Calibration" "45 4008 121 3978" <--or your calibration data

Revision history for this message
cmd_ (cemede) wrote :
Download full text (3.4 KiB)

Okay, I found the way to manage xorg.conf config under lucid.
Lucid doesn't have /usr/share/X11/xorg.conf.d/ or /etc/X11/xorg.conf.d/, the correct directory is /usr/lib/X11/xorg.conf.d/.

Inside this directory resides 05-evdev.conf file with evdev driver properties/configuration.

I just edited /usr/lib/X11/xorg.conf.d/05-evdev.conf adding this section:

Section "InputClass"
        Identifier "eGalax"
        MatchProduct "eGalax"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "SwapAxes" "on" #<- This is optional!
        Option "Calibration" "415 3906 406 3862"
EndSection

I rebooted and voilá, it worked! :D

Now let's take a look on /var/log/Xorg.0.log

...
(II) config/udev: Adding input device eGalax Inc. USB TouchController (/dev/input/event3)
(**) eGalax Inc. USB TouchController: Applying InputClass "evdev pointer catchall"
(**) eGalax Inc. USB TouchController: Applying InputClass "eGalax"
(**) eGalax Inc. USB TouchController: always reports core events
(**) eGalax Inc. USB TouchController: Device: "/dev/input/event3"
(**) Option "SwapAxes" "on"
(II) eGalax Inc. USB TouchController: Found 3 mouse buttons
(II) eGalax Inc. USB TouchController: Found absolute axes
(II) eGalax Inc. USB TouchController: Found x and y absolute axes
(II) eGalax Inc. USB TouchController: Configuring as mouse
(**) eGalax Inc. USB TouchController: YAxisMapping: buttons 4 and 5
(**) eGalax Inc. USB TouchController: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "eGalax Inc. USB TouchController" (type: MOUSE)
(II) eGalax Inc. USB TouchController: initialized for absolute axes.
(II) config/udev: Adding input device eGalax Inc. USB TouchController (/dev/input/js0)
(II) No input driver/identifier specified (ignoring)
(II) config/udev: Adding input device eGalax Inc. USB TouchController (/dev/input/mouse1)
(II) No input driver/identifier specified (ignoring)
...
...
(II) config/udev: Adding input device eGalax Inc. USB TouchController (/dev/input/event4)
(**) eGalax Inc. USB TouchController: Applying InputClass "evdev tablet catchall"
(**) eGalax Inc. USB TouchController: Applying InputClass "eGalax"
(**) eGalax Inc. USB TouchController: always reports core events
(**) eGalax Inc. USB TouchController: Device: "/dev/input/event4"
(**) Option "SwapAxes" "on"
(II) eGalax Inc. USB TouchController: Found absolute axes
(II) eGalax Inc. USB TouchController: Found x and y absolute axes
(II) eGalax Inc. USB TouchController: Found absolute tablet.
(II) eGalax Inc. USB TouchController: Configuring as tablet
(**) eGalax Inc. USB TouchController: YAxisMapping: buttons 4 and 5
(**) eGalax Inc. USB TouchController: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "eGalax Inc. USB TouchController" (type: TABLET)
(II) eGalax Inc. USB TouchController: initialized for absolute axes.
(II) config/udev: Adding input device eGalax Inc. USB TouchController (/dev/input/mouse2)
(II) No input driver/identifier specified (ignoring)

You can notice the "eGalax" InputClass is applied, appearing Option "SwapAxes" "on", the...

Read more...

Revision history for this message
chops (chopssmith-media) wrote :

OK. I am very excited! I followed cmd_'s post #18, with the calibration information put into '/usr/lib/X11/xorg.conf.d/05-evdev.conf', as in post #20. guess what? It works beautifully! I think it is the best I have ever had it working, in the 2 years (4 Ubuntu versions), and on any OS.

 Now to get it into the default config., and the calibrator (or something similar/ even better) into the repos. The most exciting thing, to my mind, is that I won't have to go through the whole lot again for every kernel upgrade, as has been the case in the past.

I am guessing by the log output in #20 that there are some hidden issues, about which I have no knowledge, and little concern, if I am honest, because it works, but I have to say...

Well done, guys, and thanks!

Revision history for this message
Erik de Castro Lopo (erikd) wrote :

I had this touchscreen working correctly in karmic and after an upgrade to lucid its broken.

Revision history for this message
Erik de Castro Lopo (erikd) wrote :

Tried the recipe from #18 and #20 and I still don't have a working touch screen.

Revision history for this message
cmd_ (cemede) wrote :

Hi Erik, not all eGalax controllers are HID compatible devices and needs a special driver ("touchscreen" module) instead of evdev. But apparently some HID-compatible and non-HID have same usbid's and it's difficult to identify what device is.
The easy way to fix this it's simple, try both 2 modules, not at same time.

Anyway, you upgraded from a previous version or with a fresh installation? you have problem with some step in concrete? can you post your Xorg log?

Revision history for this message
Erik de Castro Lopo (erikd) wrote : Re: [Bug 549447] Re: eGalax touchscreen configured as tablet

cmd_ wrote:

> Hi Erik, not all eGalax controllers are HID compatible devices

But my device has the exact same USB id as the one in this bug:

    Bus 005 Device 002: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen

> Anyway, you upgraded from a previous version or with a fresh
> installation?

No, I upgraded via do-release-upgrade from karmic where the touchscreen
was working.

> you have problem with some step in concrete?

The steps are clear enough, they just didn't work :-).

> can you post your Xorg log?

I will attach it to the bug.

Revision history for this message
Erik de Castro Lopo (erikd) wrote :

Got it working.

The problem was that although grub2 was installed, grub1 was what was actually being used.

Revision history for this message
cmd_ (cemede) wrote :

Good for you Erik, you're fast xD sorry for answering so late.

In your Xorg.0.log doesn't appear 2 eGalax devices (tablet and pointer), this is because "usbquirks" isn't being applied. You correctly find what causes this problem, only grub2 uses /etc/default/grub or /etc/grub.d/* files ( https://wiki.ubuntu.com/Grub2#Grub%202%20Files%20&%20Folders ).

Remember, this is only a temporal fix, the bug still alive.

Revision history for this message
tsm124 (tsm1248) wrote :

Ok the issue so far is just disabling that extra device in my case

sudo xinput -set-prop "eGalax Inc. USB TouchController" "Device Enabled" 0

this command sets the device off but how do i set it off for everyboot it re-enables itself each boot + to add to this conflict when the keyboard or mouse un plugged ubuntu restarts....huh

Any fixes for anyone?

Revision history for this message
kb1605 (kb1605-deactivatedaccount) wrote :

@tsm124
The easy way ist to:
Open: Menu -> System -> Preferences -> Startup Applications
then click on Add... and insert your code: sudo xinput -set-prop "eGalax Inc. USB TouchController" "Device Enabled" 0

Next time use google for such a basic question ;-)

I also still dont have a fix for the x-server-restart when plugging in a mouse or opening the mouse settings.
Disabeling the second divice is still just kind of a workaround and no final solution or fix.
It seems like its better to 'fix' the problem like "Ernesto Manriquez" and "cmd" did (with my workaround you have the problem that you can only do click on touch).

P.S.: for everyone who is searching for a good calibration program I can recommend the calibration program comming with the eGalax driver. Its the best calibration tool I have seen till now, including 25Points Calibration and edge compensation....

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

This bug was fixed on Fedora, kernel patch! Watch this!

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

buurin from FedoraForum posted an alternative way to introduce the missing quirks: nail this in your /etc/modprobe.d/local.conf.

options usbhid quirks=0x0eef:0x0001:0x0040

The effect is the same.

BTW, do the eGalax calibration utility work with evdev? I'd be very (positively) surprised if it worked ;).

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

Finishing my round of spam, according to this: https://patchwork.kernel.org/patch/76210/ this bug should be ancient history with Maverick Meerkat. If I remove all the quirks workarounds, and simply install the Maverick backported kernel from ppa:kernel-ppa/ppa , touchscreen will work OOTB, with only the configuration posted by cmd_ remaining. Can anybody confirm my thoughts?

Revision history for this message
Benjamin Meeusen (ravenous) wrote :
Download full text (3.5 KiB)

I used the livecd Maverick Alpha 3 Netbook. Without the usbhid.quirks
option, the cursor stays in the upper left corner. With the
usbhid.quirks option, I can use xinput_calibrator, set the 'Evdev Axes
Swap' and the 'Evdev Axis Inversion' to 1 and have a working
touchscreen.
Now I've installed the backported kernel (same kernel as in Alpha 3, I
believe) on my existing installation, without any custom boot options
and the cursor still goes to the upper left corner.

On 8 August 2010 00:28, Ernesto Manriquez <email address hidden> wrote:
> Finishing my round of spam, according to this:
> https://patchwork.kernel.org/patch/76210/ this bug should be ancient
> history with Maverick Meerkat. If I remove all the quirks workarounds,
> and simply install the Maverick backported kernel from ppa:kernel-
> ppa/ppa , touchscreen will work OOTB, with only the configuration posted
> by cmd_ remaining. Can anybody confirm my thoughts?
>
> --
> eGalax touchscreen configured as tablet
> https://bugs.launchpad.net/bugs/549447
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in “xserver-xorg-input-evdev” package in Ubuntu: Confirmed
> Status in “xserver-xorg-input-evdev” package in Fedora: Unknown
>
> Bug description:
> Binary package hint: xserver-xorg-input-evdev
>
> from Xorg.0.log: (II) "eGalax Inc. Touch": Configuring as tablet
> The touchscreen is a 7" resistive vga monitor.
>
> Every touch makes the cursor move to the upper left corner and register the click there.
> My calibration values, coming from an ubuntu  8.10 installation using evtouch, are loaded through a udev rule. Changing them or using no values at all for calibration does not change anything.
>
> If I install the eGalax driver (http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm), the device is listed twice in "xinput list" and if I disable the device using evdev, I can calibrate the screen using the eGalax tool and everythings works. If I don't disable the device using evdev, everything works too, except that every touch is preceded by a touch to the upper left corner.
> But I'd rather get it working using only evdev.
>
> ProblemType: Bug
> Architecture: i386
> Date: Sat Mar 27 11:07:38 2010
> DistroRelease: Ubuntu 10.04
> DkmsStatus: Error: [Errno 2] No such file or directory
> InstallationMedia: Ubuntu-Netbook 10.04 "Lucid Lynx" - Beta i386 (20100318)
> Package: xserver-xorg-input-evdev 1:2.3.2-3ubuntu2
> ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-17-generic root=UUID=a1d7d9b3-1a8f-4e55-b622-ec5497d7797c ro quiet splash
> ProcEnviron:
>  LANG=en_US.utf8
>  SHELL=/bin/bash
> ProcVersionSignature: Ubuntu 2.6.32-17.26-generic 2.6.32.10+drm33.1
> SourcePackage: xserver-xorg-input-evdev
> Uname: Linux 2.6.32-17-generic i686
> dmi.bios.date: 04/03/2009
> dmi.bios.vendor: Intel Corp.
> dmi.bios.version: LF94510J.86A.0171.2009.0403.0118
> dmi.board.asset.tag: Base Board Asset Tag
> dmi.board.name: D945GCLF2
> dmi.board.vendor: Intel Corporation
> dmi.board.version: AAE46416-106
> dmi.chassis.type: 3
> dmi.modalias: dmi:bvnIntelCorp.:bvrLF94510J.86A.0171.2009.0403.0118:bd04/03/2009:svn:pn:pvr:rvnIntelCorporation:rnD945GCLF2:rvrAAE4...

Read more...

Revision history for this message
Benjamin Meeusen (ravenous) wrote :

With the quirks option, xorg detects two devices for my touchscreen, one TABLET and one MOUSE, both with the same name. Is this normal behaviour? It makes assigning the right ID to 'xinput set-int-prop' a bit harder, since the ID changes if you plug other usb devices or plug it into another usb port.

Revision history for this message
Benjamin Meeusen (ravenous) wrote :

I've read the thread again and found the solution using xorg.conf.d

Section "InputClass"
        Identifier "eGalax calibration"
        MatchProduct "eGalax Inc. Touch"
        Option "Calibration" "2004 66 76 1942"
        Option "SwapAxes" "1"
        Option "InvertX" "1"
        Option "InvertY" "1"
EndSection

I was trying to do this using udev rules, but then I came across https://wiki.kubuntu.org/X/InputConfiguration
which says: "Note: The x11_options properties are not supported in Ubuntu 10.04. Use xorg.conf.d snippets instead."

Revision history for this message
Ernesto Manriquez (alejandronova) wrote :

@Benjamin. This is normal behaviour for the quirks option. One of those devices is mute, the other one works.

Revision history for this message
MacRules (macrules) wrote :

Hi all,

I am not sure if this is the proper place, but I'll just try and hope nobody is pissed or anyone points me in the right direction.
I have a touchscreen branded GeneralTouch with id 0dfc:0001 .
It seems to get only partly loaded, because I just get no screen input.
This is my Xorg log:
(II) config/udev: Adding input device Sensing Win7-TwoFinger (/dev/input/event5)
(**) Sensing Win7-TwoFinger: Applying InputClass "evdev touchscreen catchall"
(**) Sensing Win7-TwoFinger: always reports core events
(**) Sensing Win7-TwoFinger: Device: "/dev/input/event5"
(II) Sensing Win7-TwoFinger: Found absolute axes
(II) Sensing Win7-TwoFinger: Found x and y absolute axes
(II) Sensing Win7-TwoFinger: Found absolute touchscreen
(II) Sensing Win7-TwoFinger: Configuring as touchscreen
(**) Sensing Win7-TwoFinger: YAxisMapping: buttons 4 and 5
(**) Sensing Win7-TwoFinger: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
(II) XINPUT: Adding extended input device "Sensing Win7-TwoFinger" (type: TOUCHSCREEN)
(II) Sensing Win7-TwoFinger: initialized for absolute axes.
(II) config/udev: Adding input device Sensing Win7-TwoFinger (/dev/input/mouse1)
(II) No input driver/identifier specified (ignoring)

I also would like to point you all to the xinput_calibrator deb (also source en Fedora rpm):
http://github.com/tias/xinput_calibrator/downloads

When I run that, no input is registered from touching the screen, but my mouse clicks from external mouse are.

Does anyone know what I can do to get it working?
I was thinking about the usb quircks, but I do not know what 0040 means, so I do not know how to get the whole string for my device.

Any help is greatly appreciated!

Revision history for this message
MacRules (macrules) wrote :

And the kernel output:
mypad@mypad-laptop:/usr/lib/X11/xorg.conf.d$ dmesg | grep touch
[ 5.915284] usbcore: registered new interface driver usbtouchscreen

Revision history for this message
cmd_ (cemede) wrote :

Hi MacRules, thanks to point to xinput_calibrator .deb package (at last!).

For first, you have a touch-screen from a different vendor, GeneralTouch, not eGalax, this vendor make its own controllers? perhaps take one from another vendor and remark/rename (this is correct term?) it as theirs. Anyway, try drivers from your vendor: http://www.generaltouch.com/zmp/Driver.htm
This: http://www.generaltouch.com/zmp/gtusbdriver4ubuntuv1.1d2beta.tgz (vendor says "Applicable For 32bit FC 8/9/12, ubuntu 8.04/8.10/9.04/9.10"

But If you want to make this to work with evdev driver, let's try this:
-test the device with: xinput -test "device id" and touch the screen, you see something? (to see device id use xinput -list)
-if you are using evdev driver, blacklist usbtouchscreen driver, write "blacklist usbtouchscreen" line to /etc/modprobe.d/blacklist.conf

Revision history for this message
cmd_ (cemede) wrote :

Hey guys, great news, I saw a new PPA with the xinput_calibrator package!
https://launchpad.net/~tias/+archive/xinput-calibrator-ppa

Also exists a bug to propose the package to the main repository:
https://bugs.launchpad.net/ubuntu/+bug/586532

Revision history for this message
MacRules (macrules) wrote :
Download full text (4.5 KiB)

hi CMD,

you are welcome, thanks for pointing out the PPA :)!

I am on 10.04 now and already tried the vendor driver with no succes.
It also did not work on 9.10.

When I blacklist usbtouchscreen, there is no device loaded and nothing is
recognised in Xorg.

About the vendor: I do not know exactly. Unfortunately the drivers are
binary and they do not work for me.
I did not find a contact email adress, I think I should look harder :).

I prefer evdev, but it seems hard.

With usbtouchscreen driver loaded i get a proper input device, but no input
if i touch the screen.
This has been the problem from the beginning: no input is registered.

When usbtouchscreen is loaded, input -list says:
Sensing Win7-TwoFinger id=15 [slave pointer (2)]
(when not loaded it is not there.)

I am out of ideas, If you have any, please let me know!

cmd_ <email address hidden> wrote on 28 Aug 2010, 07:52 PM:
Subject: [Bug 549447] Re: eGalax touchscreen configured as tablet
>Hi MacRules, thanks to point to xinput_calibrator .deb package (at
>last!).
>
>For first, you have a touch-screen from a different vendor, GeneralTouch,
>not eGalax, this vendor make its own controllers? perhaps take one from
>another vendor and remark/rename (this is correct term?) it as theirs.
>Anyway, try drivers from your vendor:
>http://www.generaltouch.com/zmp/Driver.htm
>This: http://www.generaltouch.com/zmp/gtusbdriver4ubuntuv1.1d2beta.tgz
>(vendor says "Applicable For 32bit FC 8/9/12, ubuntu 8.04/8.10/9.04/9.10"
>
>But If you want to make this to work with evdev driver, let's try this:
>-test the device with: xinput -test "device id" and touch the screen, you
>see something? (to see device id use xinput -list)
>-if you are using evdev driver, blacklist usbtouchscreen driver, write
>"blacklist usbtouchscreen" line to /etc/modprobe.d/blacklist.conf
>
>--
>eGalax touchscreen configured as tablet
>https://bugs.launchpad.net/bugs/549447
>You received this bug notification because you are a direct subscriber
>of the bug.
>
>Status in �xserver-xorg-input-evdev� package in Ubuntu: Confirmed
>Status in �xserver-xorg-input-evdev� package in Fedora: Unknown
>
>Bug description:
>Binary package hint: xserver-xorg-input-evdev
>
>from Xorg.0.log: (II) "eGalax Inc. Touch": Configuring as tablet
>The touchscreen is a 7" resistive vga monitor.
>
>Every touch makes the cursor move to the upper left corner and register the
>click there.
>My calibration values, coming from an ubuntu 8.10 installation using
>evtouch, are loaded through a udev rule. Changing them or using no values
>at all for calibration does not change anything.
>
>If I install the eGalax driver
>(http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm), the
>device is listed twice in "xinput list" and if I disable the device using
>evdev, I can calibrate the screen using the eGalax tool and everythings
>works. If I don't disable the device using evdev, everything works too,
>except that every touch is preceded by a touch to the upper left corner.
>But I'd rather get it working using only evdev.
>
>ProblemType: Bug
>Architecture: i386
>Date: Sat Mar 27 11:07:38 2010
>DistroRelease: Ubuntu 10.04
>DkmsStat...

Read more...

Revision history for this message
Kevron Rees (tripzero) wrote :

Using latest Maverick. This is still an issue (cursor in upper left). Here's my output for grep "eGalax" /var/log/Xorg.0.log:

[ 15.451] (II) config/udev: Adding input device eGalax Inc. Touch (/dev/input/event4)
[ 15.451] (**) eGalax Inc. Touch: Applying InputClass "evdev tablet catchall"
[ 15.451] (**) eGalax Inc. Touch: always reports core events
[ 15.451] (**) eGalax Inc. Touch: Device: "/dev/input/event4"
[ 15.480] (II) eGalax Inc. Touch: Found 3 mouse buttons
[ 15.480] (II) eGalax Inc. Touch: Found absolute axes
[ 15.480] (II) eGalax Inc. Touch: Found x and y absolute axes
[ 15.480] (II) eGalax Inc. Touch: Found absolute tablet.
[ 15.480] (II) eGalax Inc. Touch: Configuring as tablet
[ 15.480] (**) eGalax Inc. Touch: YAxisMapping: buttons 4 and 5
[ 15.480] (**) eGalax Inc. Touch: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 15.480] (II) XINPUT: Adding extended input device "eGalax Inc. Touch" (type: TABLET)
[ 15.480] (II) eGalax Inc. Touch: initialized for absolute axes.
[ 15.480] (II) config/udev: Adding input device eGalax Inc. Touch (/dev/input/mouse1)

This also seems to effect MeeGo as well. Does the 2.6.35 kernels still need the quirks?

Revision history for this message
Kevron Rees (tripzero) wrote :

adding the config suggested in #36 made the pointer go to the lower left. But xinput_calibrator still only accepts one input

Revision history for this message
Manolis Kapernaros (kapcom01) wrote :

Hello, I did a fresh install of Ubuntu 10.10 Netbook. Is there a solution?

$ grep "eGalax" /var/log/Xorg.0.log
[ 22.769] (II) config/udev: Adding input device eGalax Inc. Touch (/dev/input/event5)
[ 22.769] (**) eGalax Inc. Touch: Applying InputClass "evdev tablet catchall"
[ 22.769] (**) eGalax Inc. Touch: always reports core events
[ 22.769] (**) eGalax Inc. Touch: Device: "/dev/input/event5"
[ 22.788] (II) eGalax Inc. Touch: Found 3 mouse buttons
[ 22.788] (II) eGalax Inc. Touch: Found absolute axes
[ 22.788] (II) eGalax Inc. Touch: Found x and y absolute axes
[ 22.788] (II) eGalax Inc. Touch: Found absolute tablet.
[ 22.788] (II) eGalax Inc. Touch: Configuring as tablet
[ 22.788] (**) eGalax Inc. Touch: YAxisMapping: buttons 4 and 5
[ 22.788] (**) eGalax Inc. Touch: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 22.788] (II) XINPUT: Adding extended input device "eGalax Inc. Touch" (type: TABLET)
[ 22.789] (II) eGalax Inc. Touch: initialized for absolute axes.
[ 22.790] (II) config/udev: Adding input device eGalax Inc. Touch (/dev/input/mouse0)

$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ eGalax Inc. Touch id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [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)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Power Button id=8 [slave keyboard (3)]
    ↳ Sleep Button id=9 [slave keyboard (3)]
    ↳ Acer Crystal Eye webcam id=11 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]

It seems the xorg.conf.d file doesnt exist anymore on Maverick.
Also I installed xinput_calibrator but it doesnt recognize my touches. I touch the first cross and it seems ok but when i touch the second cross nothing happens..

Revision history for this message
cmd_ (cemede) wrote :

Hi Emmanouel,
On maverick xorg.conf.d directory changed again:

/usr/share/X11/xorg.conf.d/ <--- Maverick 10.10
/usr/lib/X11/xorg.conf.d/ <--- Lucid 10.04

Also mavercick seems to have usbquirks applied by default.

Try to add the new section to /usr/share/X11/xorg.conf.d/05-evdev.conf following the commented on post #20.

Revision history for this message
dimos (gvsopic) wrote :

Hey,
       I've been having the same trouble that Emmanouel is suffering from. I'm basically trying to run Maverick on a WeTab. Everything appears to run fine but as soon as I touch the touchscreen, the courser jumps up to the left corner. I've tried pretty much everything that's mentioned here (blacklisting, running the eGalaxTouchdriver, quirks, evdev.conf entries with calibrations that I took right out of the WeTab's original os conf files...but still no cigar). My log also shows the touchscreen being recognized as a tablet (and an error regarding evdev-grail and no support for gestures). I'm thinking I might switch to another release of Ubuntu, it looks like people are having better luck with 9.04...
Any help would be super appreciated.
Thanks!

----------------------------------------------------
blog: http://wetabz.blogspot.com

Revision history for this message
Manolis Kapernaros (kapcom01) wrote :

On Ubuntu 10.10 Maverick:

As you can see in my attachment, after applying comment 20 the only change in the xorg log is the 'Applying InputClass "eGalax"'. The pointer keep going to the upper left corner. By removing comment's 20 addition and applying the one from comment 36 i've got 'Applying InputClass "eGalax calibration"' two times and then the pointer goes to the bottom-left cornen whenever i touch the panel as tripzero said.

Changing

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
to
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0xeef:0x1:0x40"

didnt help..

Is there anything else that i can try?

Thank you.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

I think the following patch should fix the issues noted here:

http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=commitdiff;h=f51661105c3c8a0afcd69f995a4f4a10e53da153

The patch should be in the 2.6.37-rc1. The kernel will be packaged and published soon to:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

If you can, please test the kernel to see if it fixes the issues. Note that -rc1 kernels are similar to beta releases of most software, so don't be too alarmed if it doesn't even boot :).

Thanks

Revision history for this message
Manolis Kapernaros (kapcom01) wrote :

With kernel 2.6.37rc1 it finally worked! The calibration was a little tricky but now everything is working.

First i installed the kernel image and headers from Chase Douglas' link and the upper-left corner problem fixed. Then i ran xinput_calibrator and it gave me a snippet to add in /etc/X11/xorg.conf.d/99-calibration.conf

The tricky part was that the calibration wasn't correct. I added manually the InverAxes option and now everything is OK.

The only think im not sure is that there are 2 devices instead of 1. Should i just disable one?

I'm attaching the xorg log before and after.

Revision history for this message
dimos (gvsopic) wrote :

I know this is a silly question, but apart from getting debian to install the headers from that link that Chase gave us, is there anything else I need to do to get the changes effectively compiled into my current kernel?

Revision history for this message
dimos (gvsopic) wrote :

Doh, the image...right....

Revision history for this message
dimos (gvsopic) wrote :
Download full text (7.5 KiB)

hmmm...well it didn't work for with my hardware for some reason. I'll post all that I know about my system and maybe someone will spot out the problem...the following was all I could gather from the original WeTab Os that came preinstalled:

/etc/X11/xorg.conf.d/99-calibration.conf

ection "InputClass"
Identifier "default"
Driver "evdev"
EndSection

Section "InputClass"
Identifier "calibration"
MatchProduct "eGalax Inc. USB TouchController"
Option "Calibration" "-5 4100 59 4100"
EndSection

lsusb gives the following output:

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 011: ID 12d1:1404 Huawei Technologies Co., Ltd.
Bus 002 Device 007: ID 04f2:b213 Chicony Electronics Co., Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0eef:72a1 D-WAV Scientific Co., Ltd
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Note the 2nd record from the bottom: Bus 003 Device 002: ID 0eef:72a1 D-WAV Scientific Co., Ltd. Most posts mention that there should also exist 'egalax...' at the end of the given string, not sure if that matters.

Futhermore looking at xinput -list output we get the following:

-Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ eGalax Inc. USB TouchController 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=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ USB 2.0 Camera id=12 [slave keyboard (3)]
↳ Asus Laptop extra buttons id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ USB Keyboard id=9 [slave keyboard (3)]
↳ USB Keyboard id=10 [slave keyboard (3)]

For more info on the eGalax device we issue:

xinput -list-props 11

Device 'eGalax Inc. USB TouchController':
Device Enabled (132): 1
Device Accel Profile (252): 0
Device Accel Constant Deceleration (253): 1.000000
Device Accel Adaptive Deceleration (255): 1.000000
Device Accel Velocity Scaling (256): 10.000000
Evdev Reopen Attempts (248): 10
Evdev Axis Inversion (257): 0, 0
Evdev Axis Calibration (258): -5, 4100, 59, 4100
Evdev Axes Swap (259): 0
Axis Labels (260): "Abs X" (250), "Abs Y" (251), "None" (0), "None" (0), "None" (0)
Button Labels (261): "Button Unknown" (249), "Button Unknown" (249), "Button Unknown" (249), "Button Wheel Up" (136), "Button Wheel Down" (137)
Evdev Middle Button Emulation (262): 2
Evdev Middle Button Timeout (263): 50
Evdev Wheel Emulation (264): 0
Evdev Wheel Emulation Axes (265): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (266): 10
Evdev Wheel Emulation Timeout (267): 200
Evdev Wheel Emulation Button (268): 4
Evdev Drag Lock Buttons (269): 0

Ok let's what xorg has to say about all this:

cat /var/log/Xorg.0.log |grep -i egalax

[ 11.935] (II) config/udev: Adding input device eGal...

Read more...

Revision history for this message
Chase Douglas (chasedouglas) wrote :

dimos:

What's the issue you are having? The logs all look reasonable to me. Are you trying to use this on Ubuntu or Debian?

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Emmanouel:

Thanks for testing the kernel image out. I'm going to ask upstream for the commit to be included in all the stable kernel releases for previous kernels as well.

Changed in utouch:
status: New → Invalid
affects: xserver-xorg-input-evdev (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
Revision history for this message
Henrik Rydberg (rydberg) wrote :

On 11/02/2010 06:51 PM, dimos wrote:

> hmmm...well it didn't work for with my hardware for some reason. I'll
> post all that I know about my system and maybe someone will spot out the
> problem...the following was all I could gather from the original WeTab
> Os that came preinstalled:

[...]

> Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 002 Device 011: ID 12d1:1404 Huawei Technologies Co., Ltd.
> Bus 002 Device 007: ID 04f2:b213 Chicony Electronics Co., Ltd
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 003 Device 002: ID 0eef:72a1 D-WAV Scientific Co., Ltd

This is a different device than 0eef:0001. The one you have is well supported by
the hid-egalax-dkms package found in ppa:utouch-team/utouch. A pristine maverick
install plus the above package should do the trick.

Henrik

Revision history for this message
dimos (gvsopic) wrote :

Hi Henrik,
  I actually installed the utouch package you mentioned above on to a clean install of Maverick but still got the same behaviour: I press on the screen and the cursor just jumps to the top left corner. The log shows that the eGalax device is detected as a Tablet (as opposed to a touchscreen as was the case with the xorg logs from the original OS which is a Meego/android hybrid kinda thing). And with Maverick, it doesn't look like hid_egalax gets loaded even. Do I need to use the quirk setting and give it that vendor id?
Cheers,
dimos

Revision history for this message
dimos (gvsopic) wrote :

Hi Chase,
   I'm trying this on Ubuntu 10.10. I also tried with, 9.10 and Meego netbook edition and had the same exact behaviour. The last thing I tried was to use the patched kernel image you recommended, I'm wondering if my device needs another quirk entry ( I have no clue what quirk is really so I might be totally off, but as I understand, the patch you provided adds some predefined value to a quirks blacklist or something of the sort identifying the touchscreen).
Thanks
dimos

Revision history for this message
Henrik Rydberg (rydberg) wrote :

On 11/02/2010 09:42 PM, dimos wrote:

> Hi Henrik,
> I actually installed the utouch package you mentioned above on to a clean install of Maverick

> but still got the same behaviour: I press on the screen and the cursor just
> jumps to the top left corner. The log shows that the eGalax device is
> detected as a Tablet (as opposed to a touchscreen as was the case with the
> xorg logs from the original OS which is a Meego/android hybrid kinda thing).
> And with Maverick, it doesn't look like hid_egalax gets loaded even. Do I
> need to use the quirk setting and give it that vendor id?

The hid-egalax-dkms package depends on the hid-dkms package in the same ppa,
which implements the equivalent of the hid quirks.

Henrik

Revision history for this message
Jonathan Litsheim (jonlits83) wrote :
Download full text (6.0 KiB)

I kinda started a new thread on kubuntuforums.net here it is http://kubuntuforums.net/forums/index.php?topic=3114895.0

Basically I have a theory about entry 12 on this forum from kb1605. This is what I posted on kubuntuforums.net. I am probably a little late in understanding this but maybe it will help someone out.

So more research I think I maybe have a better understanding what is going on here are parts of lshal and and xinput -list

lshal part
udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial'
  info.linux.driver = 'usb' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_1d6b_1_0000_00_1d_0' (string)
  info.product = 'eGalax TouchScreen' (string)
  info.subsystem = 'usb_device' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial' (string)
  info.vendor = 'D-WAV Scientific Co., Ltd' (string)
  linux.device_file = '/dev/bus/usb/002/003' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'usb' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2' (string)
  usb_device.bus_number = 2 (0x2) (int)
  usb_device.can_wake_up = true (bool)
  usb_device.configuration = 'HID-USB Touchscreen' (string)
  usb_device.configuration_value = 1 (0x1) (int)
  usb_device.device_class = 0 (0x0) (int)
  usb_device.device_protocol = 0 (0x0) (int)
  usb_device.device_revision_bcd = 256 (0x100) (int)
  usb_device.device_subclass = 0 (0x0) (int)
  usb_device.is_self_powered = false (bool)
  usb_device.linux.device_number = 3 (0x3) (int)
  usb_device.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2' (string)
  usb_device.max_power = 44 (0x2c) (int)
  usb_device.num_configurations = 1 (0x1) (int)
  usb_device.num_interfaces = 1 (0x1) (int)
  usb_device.num_ports = 0 (0x0) (int)
  usb_device.product = 'eGalax TouchScreen' (string)
  usb_device.product_id = 1 (0x1) (int)
  usb_device.speed = 1.5 (1.5) (double)
  usb_device.vendor = 'D-WAV Scientific Co., Ltd' (string)
  usb_device.vendor_id = 3823 (0xeef) (int)
  usb_device.version = 1.1 (1.1) (double)

udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input'
  button.has_state = false (bool)
  info.addons.singleton = {'hald-addon-input'} (string list)
  info.capabilities = {'input', 'button'} (string list)
  info.category = 'input' (string)
  info.parent = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0' (string)
  info.product = 'eGalax Inc. Touch' (string)
  info.subsystem = 'input' (string)
  info.udi = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0_logicaldev_input' (string)
  input.device = '/dev/input/event2' (string)
  input.originating_device = '/org/freedesktop/Hal/devices/usb_device_eef_1_noserial_if0' (string)
  input.product = 'eGalax Inc. Touch' (string)
  linux.device_file = '/dev/input/event2' (string)
  linux.hotplug_type = 2 (0x2) (int)
  linux.subsystem = 'input' (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input5/event2' (string)

xinput -list output
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual ...

Read more...

description: updated
Revision history for this message
Jeremy Foshee (jeremyfoshee) wrote :

Benjamin Meeusen,
       I'm interested in your current testing of this issue. Have the recent Natty updates resolved the issue for you?

Thanks!

~JFo

Changed in linux (Ubuntu Natty):
status: Triaged → Incomplete
tags: added: kernel-key
Changed in linux (Ubuntu Natty):
milestone: none → natty-updates
Revision history for this message
Jonathan Litsheim (jonlits83) wrote :

I'm not sure if this reply still work. I still have not been able to get my
touchscreen to work. I was hoping that in this latest release of ubuntu
that the problem may be fixed. If there is something you would like me to
try let me know.

Jon
<email address hidden>

On Apr 20, 2011 9:36 AM, "Jeremy Foshee" <email address hidden> wrote:
> ** Changed in: linux (Ubuntu Natty)
> Milestone: None => natty-updates
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/549447
>
> Title:
> eGalax touchscreen configured as tablet
>
> Status in uTouch:
> Invalid
> Status in “linux” package in Ubuntu:
> Incomplete
> Status in “linux” source package in Natty:
> Incomplete
> Status in “xserver-xorg-input-evdev” package in Fedora:
> Unknown
>
> Bug description:
> Binary package hint: xserver-xorg-input-evdev
>
> from Xorg.0.log: (II) "eGalax Inc. Touch": Configuring as tablet
> The touchscreen is a 7" resistive vga monitor.
>
> Every touch makes the cursor move to the upper left corner and register
the click there.
> My calibration values, coming from an ubuntu 8.10 installation using
evtouch, are loaded through a udev rule. Changing them or using no values at
all for calibration does not change anything.
>
> If I install the eGalax driver (
http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm), the device
is listed twice in "xinput list" and if I disable the device using evdev, I
can calibrate the screen using the eGalax tool and everythings works. If I
don't disable the device using evdev, everything works too, except that
every touch is preceded by a touch to the upper left corner.
> But I'd rather get it working using only evdev.
>
> ProblemType: Bug
> Architecture: i386
> Date: Sat Mar 27 11:07:38 2010
> DistroRelease: Ubuntu 10.04
> DkmsStatus: Error: [Errno 2] No such file or directory
> InstallationMedia: Ubuntu-Netbook 10.04 "Lucid Lynx" - Beta i386
(20100318)
> Package: xserver-xorg-input-evdev 1:2.3.2-3ubuntu2
> ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-17-generic
root=UUID=a1d7d9b3-1a8f-4e55-b622-ec5497d7797c ro quiet splash
> ProcEnviron:
> LANG=en_US.utf8
> SHELL=/bin/bash
> ProcVersionSignature: Ubuntu 2.6.32-17.26-generic 2.6.32.10+drm33.1
> SourcePackage: xserver-xorg-input-evdev
> Uname: Linux 2.6.32-17-generic i686
> dmi.bios.date: 04/03/2009
> dmi.bios.vendor: Intel Corp.
> dmi.bios.version: LF94510J.86A.0171.2009.0403.0118
> dmi.board.asset.tag: Base Board Asset Tag
> dmi.board.name: D945GCLF2
> dmi.board.vendor: Intel Corporation
> dmi.board.version: AAE46416-106
> dmi.chassis.type: 3
> dmi.modalias:
dmi:bvnIntelCorp.:bvrLF94510J.86A.0171.2009.0403.0118:bd04/03/2009:svn:pn:pvr:rvnIntelCorporation:rnD945GCLF2:rvrAAE46416-106:cvn:ct3:cvr:
> glxinfo: Error: [Errno 2] No such file or directory
> system:
> distro: Ubuntu
> codename: lucid
> architecture: i686
> kernel: 2.6.32-17-generic
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/utouch/+bug/549447/+subscribe

Revision history for this message
Benjamin Meeusen (ravenous) wrote :

Last night, I gave it a quick try with the 11.04 beta 2.

After installation (and probably with live cd too, but I don't remember if it was exactly the same): without changing anything, the touchscreen works, but the axes are swapped; going from left to right on the screen, moves the cursor from top to bottom)
If I swap the axes (xinput set-int-prop <device_id> <prop_id> 8 1), the axes are swapped, but then the cursor jumps away a lot, I think to the center of the top and bottom, it's hard to see where exactly.

xinput still shows two devices for the touchscreen: if I disable one of them, the touchscreen stops working, if I disable the other one, nothing happens

I will try some more this evening.

Revision history for this message
Henrik Rydberg (rydberg) wrote :

Benjamin, on what device are you experiencing the inverted axes?

Revision history for this message
Benjamin Meeusen (ravenous) wrote :

Henrik

It is a Lilliput 7" VGA Touchscreen 629GL-70NP

Bus 002 Device 003: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen

Revision history for this message
Jonathan Litsheim (jonlits83) wrote :

Installed Natty last night, the touchscreen worked with the exception of the inverted axis.

I also have a Lilliput 7" VGA Touchscreen 629GL-70NP.

The touch monitor is installed in my truck on a mini ITX PC. I just installed a fresh Ubuntu Natty 11.04. I am going to goto the eGalax site and download the calibration program to see if that will work now, before it did not.

Thanks for everyones work on this. I am excited that it is at least partially working now.

Revision history for this message
Thomas (teoverton) wrote :

Benjamin,
quote
"the touchscreen works, but the axes are swapped; going from left to right on the screen, moves the cursor from top to bottom)
If I swap the axes (xinput set-int-prop <device_id> <prop_id> 8 1), the axes are swapped, but then the cursor jumps away a lot, I think to the center of the top and bottom, it's hard to see where exactly."

I'm having this same exact problem and haven't manage to defeat it trying everything suggested here. Have you had any luck? The cursor behaves fine but with inverted axis, but using calibrator makes the cursor track the touch but jump wildly to some other point and back... selecting things randomly. Any change using xinput seems to bring about this randomly selecting behaviour...
I'm also on egalax usb touchscreen...natty.

Thomas Overton

Changed in linux (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Manolis Kapernaros (kapcom01) wrote :

The bug also exists on my system. The pointer instead of going up goes right and instead of going right it goes down.. When i run "xinput --set-prop 11 262 1" then the pointer jumps away all the time and i cant use it... It doesnt matter if I disable the other device (10).

Revision history for this message
Manolis Kapernaros (kapcom01) wrote :

I forgot to say that this problem is only for natty. Maverick was ok.

Revision history for this message
Jaroslaw Filiochowski (jarfil) wrote :

There seems to be a problem with the new valuator assignments when SwapAxes is enabled (or rather, the lack of un-assignment), which causes some "0" coords being passed on to X.

The attached patch should fix this (seems to work for me).

Changed in linux (Ubuntu Natty):
assignee: nobody → Jaroslaw Filiochowski (jarfil)
affects: linux (Ubuntu Natty) → xserver-xorg-input-evdev (Ubuntu Natty)
Changed in xserver-xorg-input-evdev (Ubuntu Natty):
status: Incomplete → In Progress
tags: added: patch
Revision history for this message
Benjamin Meeusen (ravenous) wrote :

Jaroslaw, to which source should I apply your patch? I have tried to apply it to the one I get with 'apt-get source xserver-xorg-input-evdev', but it doesn't seem to work.

Revision history for this message
Jaroslaw Filiochowski (jarfil) wrote :

Apply it after the patches already included in the ubuntu package:

apt-get build-dep xserver-xorg-input-evdev
apt-get source xserver-xorg-input-evdev --compile
cd xserver-xorg-input-evdev-2.6.0
patch -p1 < xserver-xorg-input-evdev-2.6.0-jarfil_20110723a.patch
cd build
make

Revision history for this message
Chase Douglas (chasedouglas) wrote :

The swap axes functionality is deprecated. Please use input coordinate transformation instead. For more information, see:

http://wiki.ubuntu.com/X/InputCoordinateTransformation

Revision history for this message
Ramaddan (ramaddan) wrote :

Hi,

Can someone point me to the right direction.

When I was using Ubuntu Maverick, it was a pain to get my eGalax touch screen working.

But when Natty came out, it worked right out of the box, except for the inverted y-axis, which I didn't mind, since I could just reverse the y coordinates numbers of the 99-calibrator.conf file to get it right.

However, now it regressed under oneiric, and I lost control of my touchscreen.

I remember once trying a different kernel during the Maverick days and it got it working, but I forgot where I got that kernel from, but I remember it was part of kernels being tested and higher up in version than the one in Maverick.

So is this a kernel issue or an evdev issue?

Thanks

Revision history for this message
Dave C (dave9111) wrote :
Download full text (3.3 KiB)

This diatribe of information was useful getting my 8" Xenarc 800TSV screen working with the evdev driver on Ubuntu 10.04 LTS but the volume of info was such that it was hard to figure out what was the right thing to do vs the wrong thing to do.
So I wanted to summarize what I did so others could avoid the pain.. My final solution works very well.

To make it clear I was not dealing with old conflicts, I did a fresh bare metal install of Ubuntu 10.04 LTS before starting this.

First I want to add that I tried to use the EETI.com.tw drivers and I had a couple of problems with them.
1. The xorg.conf file does not exist on a new Ubuntu 10.04 install, but the eGalax driver 3.07... at this time does not recognize that so the install silently fails. That is a pretty big bug. You have to create an xorg.conf file and put something in the file, like a single space character and then save it. Then run the driver script file install for it to operate properly.

2. On initial logon with the EETI.com.tw driver, with version 3.07. the touch screen does not function. If I log out and then back in, it works fine. While this might be acceptable for some, my application does not use a mouse or keyboard which means that logging in without a touchscreen is a dead end, total deal killer.

OK.. so on to what I did after a baremetal install of Ubuntu 10.04 LTS:

1. To be safe, edit /etc/modprobe.d/blacklist.conf and add a line at the end that says "blacklist usbtouchscreen" (don't include the quotes)
2. Following the directions in comment #18 above, edit the /etc/default/grub file and add the usbhid.quirks ... to the end of the line.
3. At a command prompt run: update-grub to make the grub changes permanent
4. Reboot your computer with your touch screen attached. It should work.. sort of .. the mouse pointer should respond to a tap and drag..
5. If you look at the X log file: /var/log/xorg.0.log and do a search for egalax, after some reading you will see that the OS has decided that you really have a tablet and not a touch screen.. You might say Oh no... but really who cares if it works!
6. Edit this file: /usr/lib/X11/xorg.conf.d/05-evdev.conf and add in the section called tablet catchall, a line after the line that says; Driver "evdev" . Make the next line this: Option "InvertY" "true"
7. Save the file and reboot. The X and Y axis movements via the touch screen should be correct, but the calibration will be wrong.
7. Go to this site http://www.freedesktop.org/wiki/Software/xinput_calibrator
8. Download the package labeled Ubuntu 10.04 and save the file.
9. Double click on the file and install the software.
10. Run the calibrator software that is installed under menu...system, administrative
11. Make a note of the calibration numbers it delivers - the first 4 numbers in sequence.
12. Again, edit the file: /usr/lib/X11/xorg.conf.d/05-evdev.conf and add a line below the InvertY line that says:
          Option "Calibration" "xx xx xx xx" where the xx's are the four numbers you just wrote down from the calibration routine.
13. Save the file and reboot.
14. The touchscreen should be fully functional...

Read more...

Revision history for this message
penalvch (penalvch) wrote :

Benjamin Meeusen, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p xserver-xorg-input-evdev REPLACE-WITH-BUG-NUMBER

Please note, given that the information from the prior release is already available, doing this on a release prior to the development one would not be helpful.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

no longer affects: xserver-xorg-input-evdev (Ubuntu Natty)
no longer affects: xserver-xorg-input-evdev (Ubuntu)
affects: oif → xserver-xorg-input-evdev (Ubuntu)
Changed in xserver-xorg-input-evdev (Ubuntu):
status: Invalid → Incomplete
importance: Undecided → Low
Revision history for this message
Søren Holm (sgh) wrote :

I beleive that total stack has proper support for this now.

Changed in xserver-xorg-input-evdev (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
Philippe Coval (rzr) wrote :

For X11 , but what about other graphics system ?

Is there a community place about eGalax screens ?

I will share my research at ;

http://elinux.org/Screen

Changed in xserver-xorg-input-evdev (Fedora):
importance: Unknown → Medium
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.