Jump to content

Xorg and Touchscreen Support


kfoss
 Share

Recommended Posts

Good Day,

 

I've recently built a small PC that based on an Alix (PC Engines) 3c3 embedded PC. The plan is to have it mounted to the back of a touchcsreen display. The PC will display news, weather, play simple DivX video clips, etc.

 

There are a number of distributions that appeal to this type of system. I tried the iMediaLinux designed by Mini-Box.com as it was provided free with my purchase. It is somewhat closed as I cannot get into the guts of the system, unless I pay them $500 for a SDK. I've tried everything from Zenwalk, Xubuntu, Slax, PCLinuxOS... The most recent editions of XFCE based editions are good on this PC with it's limited performance. They include the Geode LX video driver present in more recent versions of Xorg. So what I've done is gone back to my favourite distro and installed a custom version based XFCE and 2008.1.

 

The problem is that in order to have the up-to-date video drivers, I get recent kernels. Normally this is good, but the drivers for the touchscreen made by Elotouch (Model 1545L USB) are good for kernel versions <= 2.6.17. The xorg module provided by Elo (elo_drv.so) is compiled against version 4.3.99 of xorg, so it can't be loaded.

 

If I want to use the Elotouch drivers, I'll have to downgrade my distro to something like MDK2006 or 2007. Then I'll need to get new xorg drivers, that include the Geode LX video driver. Can anyone confirm if this is possible and if so, how to upgrade Xorg against installed RPMs?

 

Another option is to continue to use 2008.1 and wait until Elotouch comes out with new drivers.

 

Or, I could use the current system and find a way around the problems. I mention this because I have found that the touchscreen responds with basic install without any touchscreen drivers installed or configured. I have found that the touchscreen responds to the "usbhid" driver and comes up as /dev/input/mouse1. The problem is that the xy coordinates are swapped. Is there a way to swap a "mouse" coordinates and calibrate it?

 

My questions are in the text above, in bold and red.

 

Any help would be appreciated.

Link to comment
Share on other sites

  • 3 weeks later...

Yves,

Thanks for the reply.

 

If I try to apply these mouse inversions to the touchscreen "usbhid" device, the real mouse stops working altogether. Obviously if I apply the mouse inversions to all mouse devices "/dev/mice", the real mouse is inverted which is pretty useless.

 

It did prove that allowing the touchscreen to operate off the mouse device driver isn't going to work. The mouse driver is based on relative movement so the mouse needs not know where it is before it moves the cursor, just how far to move the cursor from the last position. The touchscreen on the other hand needs to know absolute position.

 

I guess for now I either have to downgrade to an earlier kernel + xorg distro, which will not give good video driver, or wait for Elotouch to develop new XOrg 7.3 drivers.

Link to comment
Share on other sites

  • 3 weeks later...

Well Elotouch has come out with their newest version of drivers and they support kernel versions <= 2.6.24 as well as Xorg server <= 1.4. This should be wonderful news. Partially, though.

 

Firstly, the elousb.ko driver is compiled without errors, and depmod'd into the module realm.

 

Secondly, the precompile Xorg input module for Xorg server 1.4, elo_drv.so, is installed and is called properly during X initialization without errors.

 

However, the installation instructions state that we need to modify the modprobe.conf file to make sure that the elousb module is modprobe'd before the usbhid module.

 

I've made the correct additions by adding:

 

install usbhid { /sbin/modprobe elousb; } ; /sbin/modprobe --first-time --ignore-install usbhid && { /sbin/modprobe/ keybdev; /sbin/modprobe mousedev; /bin/true;}

 

to /etc/modprobe.conf

 

However, the elousb module is never called upon reboot. I know the process should work as I've seen it work on a quick test using iMediaLinux.

 

Is there something about Mandriva 2008.1 that would prevent elousb from being loaded before usbhid?

Link to comment
Share on other sites

  • 3 weeks later...
Guest Nebojša Jakovljević

I have similar problem. I use Mandriva 2008.1 (LG L1730SF). Touchscreen work but very bad, I cat hit anything becouse it is not precise!

 

I'm sorry for my English! I hope you understand.

Link to comment
Share on other sites

Hi,

I've installed XUbuntu 8.04 on my little Alix3c3 and because Elotouch has a pre-built package for Ubuntu, it works perfectly. So I know that the Elotouch drivers work, and they are pretty accurate. I just need to have the drivers work with Mandriva 2008.1.

I'm still looking for a solution to the module loading order problem.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...