Thursday 19 April 2012

Android x86 and Touch Screen

Now this caused me no end of trouble! Hundreds of Google Searches, 2 evenings of trial and error, physically breaking my Touchscreen Ribbon Connector and repairing it.

Don't worry though! I have made the mistakes and taken the time, so now, I hope you don't have to! And you certainly do not have to break your touchscreen!

When I connected my Touchscreen via the USB, nothing much seemed to happen. I thought, at first, the driver for the touchscreen was not installed. When I looked more closely, on the lock screen, if I touched the screen I saw the circle generate waves, therefore my touches were being detected by android!

Upon closer inspection, I went to Settings -> Developer Options and enabled Touch Location. This puts a cross hair on the screen where it thinks you are touching.

For me, it was all messed up and took me ages to figure out the fix!

When I clicked the bottom left of the screen, the top right would register.
When I moved up the screen, the cursor would move to the left.
It appeared that the Axis were all messed up, like it had been Orientated by 90 degrees, but also inverted as well.

Here is the fix. (All commands are in the quotes and Linux is case sensative, so please copy exactly.

  1. Press Alt + F1 to go into Terminal mode. (Alt + F7 will switch back to the GUI)
  2. Type in (Without the Quotes) "stop zygote" and press enter (This will stop the Android GUI)
  3. Type in (Without the Quotes) "mkdir /data/system/tslib" and press enter (This should make a directory/folder called tslib inside /data/system
  4. Type in (Without the Quotes) "cd /data/system" and press enter (This will change the current directory to /data/system
  5. Type in (Without the Quotes) "ls" and press enter (This will list all files and folders in the current Directory)
  6. Check to see if your new directory, tslib is listed.
  7. Type in (Without the Quotes) "ts_calibrate" and press enter
  8. This should load up the calibration tool and you should have a X in the top left to press, when you do, you are moved to the top right, then bottom right, then bottom left and finally the centre of the screen.
  9. Type in (Without the Quotes) "cd tslib" and press enter (This should move you into your new tslib directory you made earlier)
  10. Type in (Without the Quotes) "ls" and press enter (You should see a file in there called pointercal, which was created by the calibration tool)
  11. Finally, type in (Without the Quotes) "start zygote" and press enter (This will load up the GUI again along with your new calibration settings)
You should now have a fully working touchscreen!

I hope this helps!

26 comments:

  1. I'm trying to do the same thing but am getting the errors ts_open (No such file or directory found) and ts_config. Any ideas? Thanks in advance!

    ReplyDelete
  2. Nevermind! Got it working, I think it failed the first time since I skipped stopping the GUI. :-)

    ReplyDelete
  3. Help I get to step7 and no ts found

    ReplyDelete
    Replies
    1. ts_calibrate is the command, and it should be built into the OS by default, so it should be found

      Delete
    2. I have the same problem. I have installed android x86 on Intel PC (removed windows, so no VM). I can't seem to execute "stop" command. I had to manually create the "/data", "/data/system" and "/data/system/tslib" folder structures. offcourse ts_calibrate is also an unknown command to it. Please help.

      Delete
  4. This is a very, very helpful post! Thanks so much for this one. It would take someone so long to figure out these solutions or maybe even not at all. It would also be hard to find on Google.

    Lance Vartanian

    ReplyDelete
  5. Doesn't work, don't detect ts_calibrate and can't find it

    I have tested eeepc version, doesn't work because have a intel dual core and made for atom.

    I tested thinkpad and asus laptop version (4.0 RC2)

    Can you help me please ?

    ReplyDelete
  6. i want to build an Android x86 touchscreen but not sure wich touchscreen use, wich one are you using?

    ReplyDelete
  7. Thanks so much...this worked perfectly on my Eeepc 701.

    ReplyDelete
  8. Thinking about buying a Sony Tap 20 and making a dual boot win8/andoidx86 jelly bean 20" tablet =D ....will this guide make it work on that built-in screen as well?

    ReplyDelete
  9. Hi!
    In my case, It doesn't actially save the new ts_calibrate settings.
    It is still inverted.
    I also tried to calibrate them opposite, but it is still inverted as beginning.
    What can it be?
    Is it because I am on emulation starting from sdcard? must I install in on harddisk so to have correct files saving on harddrive, or what?
    Thank you all

    ReplyDelete
    Replies
    1. I'm having the same issue at Steve.
      My X and Y axis are swaped even after running through the calibration.
      I'm using the touch screen here:
      http://www.ebay.com/itm/2DIN-IN-DASH-7-Samsung-HDMI-Touch-Screen-Monitor-KIT-USB-SD-Raspberry-Pi-/121002169460

      Does anyone have any information on this? Is this a hardware issue and the only solution is to find a different touch screen?

      Thanks in advance!

      And thanks to Jon for showing how to access the calibration utility!

      Delete
  10. Didn´t work for me, I have a couple of question, what version of android are you using?, and, did you format your hdd in ext3 format or Fat? Thanks in advance.

    ReplyDelete
  11. hi,
    it works with a eGalax TS with android-x86 4.4
    !!BUT!!
    you have 2 chmod the tslib folder and the pointercal file, if it does _not_ work after
    calibrating ;)

    type: chmod 777 /data/system/tslib
    type: chmod 777 /data/system/tslib/pointercal

    cheers Felix

    ReplyDelete
  12. In 4.4.2 the file pointercal is in /data/misc/tslib All the other is the same.

    ReplyDelete
  13. I thank you so much. Without stopping zygote , I think, I will try to solve this until I die. Now my eeepc 1015 pem has android x86 4.0 rc2 eeepc.iso that works with DIY 4 wire touchscreen.

    mesut balci

    ReplyDelete
  14. Hello. I have mk903v tv stick. Does anybody knows how to make it work with Egalax resistive touch panel 7 inches? Please help.

    ReplyDelete
  15. Hi I have installed android x86 on Intel PC (removed windows, so no VM). I can't seem to execute "stop" command. I had to manually create the "/data", "/data/system" and "/data/system/tslib" folder structures. offcourse ts_calibrate is also an unknown command to it

    ReplyDelete
  16. Not working if i type "Is" its says 'Not found'

    ReplyDelete
  17. This comment has been removed by the author.

    ReplyDelete
  18. do not walk myself the 1st command makes reboot the tablet and plant (asus pro book 100ha) everything works except the touchscreen :(

    ReplyDelete
  19. Does this still work in 2019?

    ReplyDelete
  20. Hi.

    I'm trying to install x86 on a dual boot Teclast X98. Touch screen is not working. I have followed the steps but get the message ts_calibrate not found. Anyone have a work around that works please?

    ReplyDelete
  21. I have the same problem and ts_calibrate is not found!

    Any help ?

    ReplyDelete
  22. 2023 and still an issue. (I'm not impressed with Android-x86 at all). In the several threads around the internet on this issue, respondents keep ignoring the fact that the posters keep saying there IS NO ts_calibrate. CHMOD on some directory you just created has nothing to do with ts_calibrate not being on the filesystem, or at least not in the path.

    ReplyDelete