SlackwareOnMt6582Tablet

From SlackWiki
Revision as of 08:43, 5 September 2014 by Gv (talk | contribs)
Jump to navigation Jump to search

Specifications of the Tablet PC which was used here

  Processor : Arm Cortex A7, 1.3 GHz dual core.
            : ARMv7 Processor rev 3 (v7l),
  Hardware  : MT8312
  SOC       : mt6582.
  Memory    : 512MB RAM
  Storage   : 4GB Built in storage.
  Micro SD  : Slot for upto 32GB
  Display   : 7" WVGA 800x480
  OS        : Android 4.2 Jelly Bean
  GPU       : Mali?


Rooting the Tablet PC

I used Framaroot-1.9.3.apk to root the device.

Installing Linux - Slackware 14.1 - sort of.

With the problem of not having kernel source for the SOC, and no no bootloader unlock possible yet, next best option was to use a chroot environment.

So far, command line mode works fine. Here is the description of how Slackware was installed on to external micro SD Card. Was able to do some basic tests on the frame buffer display. Since there is no VTs available was not able to test Xorg, though could get Mali module compiled and loaded. More details below.

Preparing SD Card on host computer

Use fdisk to create one or two partitions, one for ext4 and other ( optional ) swap partition. Once these are created, assuming the device on host is /dev/sdc,

   mkfs.ext4 /dev/sdc1
   sync
   eject sdc
   eject -t sdc
   mkdir slack
   mount /dev/sdc1 slack
   cd slack
   mkdir sl
   cd sl

If you don't have Slackware installation files, Get Slackware Arm first.

   mkdir slackware14.1
   cd slackware14.1
   (cd /path..to../slackware14.1 ; tar cfz - *) | (tar xfz - )


initrd-kirkwood.cpio contains the setup program, but since I couldn't boot with custom initrd, sdc1 /sl area is prepared to have the installation files.


   cpio -id < initrd-kirkwood.cpio
   sync
   umount slack

Now that the sd card is ready for installation:

   eject sdc

and plug it into the device. Once that is done,

Getting installer ready

Now plug the card in tablet pc, boot, from host computer,

starting a adb shell with su

   adb shell
   su


chroot to installe

   cd /data/local/tmp
   mkdir slackware
   mount /dev/block/mmcblk1p1 slackware
   cd slackware/sl
   export PATH=/data/local/tmp/bin:$PATH
   mountpoint proc || mount -t proc none proc/
   mountpoint sys || mount -t sysfs sys sys/
   mountpoint dev || mount -o bind  /dev dev/
   export PATH=/usr/bin:/bin:/usr/lib/setup:$PATH
   pushd /dev
   ln -s /dev/block/mmc1blk* .
   popd
   chroot . /bin/bash
   mount -t ext4 /dev/mmcblk1p1 mnt

Running setup

Install Slackware onto mmcblk1p1, from pre mounted directory, sdc1 : /slackware14.1/slackware

   setup
       Proceed and select /dev/mmcblk1p1 as target, no format
       For source, select pre mounted directory option, /slackware14.1/slackware


Complete installation, and configuration

Once the complete installation is done,

   umount proc
   umount sys
   umount dev
   sync
   cd ../..
   umount slackware

Getting into installed Slackware:

Running slackware su shell

   adb shell
   su
   mount /dev/block/mmcblk1p1 slackware
   cd slackware
   mountpoint proc || mount -t proc none proc/
   mountpoint sys || mount -t sysfs sys sys/
   mountpoint dev || mount -o bind  /dev dev/
   export PATH=/usr/bin:/bin:/usr/lib/setup:$PATH
   chroot . /bin/bash
   su -	


From here you can do "normal" Slackware activities, sort of. Main things that were lacking in my case were VTs (ttys). Compiling programs and running programs that require no X windows worked fine. I ran couple of frame buffer tests too.

Testing the framebuffer

For these tests, I stopped android "SurfaceFlinger" and freed up /dev/graphics/fb0. by running "stop" command. Before running stop, make sure that the display is on ( not blank ). For these tests, I had two terminals up on the host PC with one of them running just adb shell with su, and other running chrooted slackware shell. SurfaceFlinger was stopped from su shell, and tests from Slackware shell.

Please not Slackware shell is also running as user root.

Stopping android - sort of

Here is how to stop the SurfaceFlinger and get framebuffer free:

   adb shell
   su
   stop

Now the display goes blank, with backlight on.

Get one of these tests. fbtest or Paint-pixels-to-screen- via-linux-framebuffer or qtopiacore-testingframebuffer All these tests worked on the Tablet. Transfer the tests to tablet using adb push command.

from Slackware shell, running under adb shell:

   gcc fbtest.c
   ./a.out


once done, go back to android su shell from adb, and:

Getting back to android

   start


After few seconds android display will be back on.

Getting Xorg up and running - kind of

Getting Xorg compiled

Ecept for Pointer ( touchscreen ) failure, Xorg seems to be working fine. evtest, xinput tests are showing touchscreen activity, but the cursor seems to be not moving. But if a window like xvkbd or xterm or so is launched, you can move the window using the touch screen!. And kvkbd input also works.

Download xorg-server-1.12.2,


tar xf xorg-server-1.12.2.tar.bz2

Also make changes to xorg-server-1.12.2/hw/xfree86/os-support/linux/lnx\_init.c so that VT / console related code is disabled. See the patch section.

cd xorg-server-1.12.2 export PKG_CONFIG_PATH=/opt/local/sw/share/pkgconfig:$PKG_CONFIG_PATH export PKG_CONFIG_PATH=/opt/local/sw/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=/opt/local/sw/lib:$LD_LIBRARY_PATH export PATH=/opt/local/sw/bin:$PATH ./configure --prefix=/opt/local/sw --enable-kdrive --enable-kdrive-evdev --with-xkb-path=/opt/local/sw/share/X11/xkb --with-xkb-output=/var/lib/xkb --with-xkb-bin-directory=/opt/local/sw/bin --with-default-xkb-rules=xorg --with-default-xkb-model=pc104 --with-default-xkb-layout=us --disable-xnest --disable-dmx --disable-xquartz --disable-xwin --disable-xephyr --disable-config-udev --enable-tslib --disable-docs --disable-devel-docs LDFLAGS=-L/opt/local/sw/lib CFLAGS=-I/opt/local/sw/include make -j 3

If all required packages are not on the system, compilation will fail. Download each of the requiered packags , untar, configure and install.

./configure --prefix=/opt/local/sw make -j 3 install

Once xorg-server-1.12.2 compilation is succesfull, make install

Compiling additional drivers required

fbdev

xf86-video-fbdev-0.4.2 export PKG_CONFIG_PATH=/opt/local/sw/lib/pkgconfig:$PKG_CONFIG_PATH ./configure --prefix=/opt/local/sw

src/fbdev.c xf86-video-fbdev-0.4.2/src/fbdev.c // #include "mibstore.h"

make -j 3 make install

evdev

   xf86-input-evdev-2.7.0
   ./configure --prefix=/opt/local/sw
   src/Makefile:
   evdev_drv_la_LIBADD = $(MTDEV_LIBS) $(UDEV_LIBS)
   ( if not done, causes evdev_drv.so: undefined symbol: udev_new when Xorg is ran)
   make -j 3 
   make install

Once installed make an xorg.conf [ see xorg.conf section ] in /etc/X11/ and run startx as described below.


synaptics

synaptics driver fails with error message relating to Protocol.

   xf86-input-synaptics-1.6.1.tar.bz2
   ./configure --prefix=/opt/local/sw CFLAGS=-I/opt/local/sw/include/xorg LDFLAGS=-L/opt/local/sw/lib
   make -j 3
   make install

When running Xorg,

   [  4784.385] (EE) synaptics: mytouchscreen: Synaptics driver unable to detect protocol


Running X

make sure display is on, and

From adb shell as su:

   stop

From slackware chroot environment in adb shell [ see section ]:

   startx -- /opt/local/sw/bin/Xorg -pointer mytouchscreen :0

Once Finished, from adb shell as su:

   start

Virtual Keyboard

http://homepage3.nifty.com/tsato/xvkbd/

Download xvkbd-3.5.tar.gz, install

   xmkf
   make 
   make install

and run:

   xvkbd


Files

xorg.conf

Section "ServerLayout"
Identifier	"myLaout"
Screen		"myScreen"
# InputDevice     "mymouse"
InputDevice	"mytouchscreen"
EndSection

Section "Screen"
Identifier	"myScreen"
Device		"myfbdev"
DefaultDepth 	24
EndSection

Section "Device"
Identifier	"myFbdev"
Driver		"fbdev"
Option		"fbdev" "/dev/graphics/fb0"
EndSection

Section "InputDevice"
 Identifier	"mytouchscreen"
 Driver		"evdev"
 # Driver 	"synaptics"
 Option		"Device" "/dev/input/event3"
 Option	"Protocol" "Auto"
EndSection

lnx_init.c patch

--- xorg-server-1.12.2/hw/xfree86/os-support/linux/lnx_init.c	2014-09-04 22:53:13.450000054 +0530
+++ xorg-server-1.12.2.org/hw/xfree86/os-support/linux/lnx_init.c	2012-05-17 22:39:03.000000000 +0530
@@ -48,18 +48,15 @@
 static void
 drain_console(int fd, void *closure)
 {
-#ifdef GV
     errno = 0;
     if (tcflush(fd, TCIOFLUSH) == -1 && errno == EIO) {
         xf86SetConsoleHandler(NULL, NULL);
     }
-#endif
 }
 
 static void
 switch_to(int vt, const char *from)
 {
-#ifdef GV
     int ret;
 
     SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt));
@@ -69,13 +66,11 @@
     SYSCALL(ret = ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt));
     if (ret < 0)
         FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno));
-#endif
 }
 
 void
 xf86OpenConsole(void)
 {
-#ifdef GV
     int i, fd = -1, ret;
     struct vt_mode VT;
     struct vt_stat vts;
@@ -254,13 +249,11 @@
             switch_to(xf86Info.vtno, "xf86OpenConsole");
         }
     }
-#endif
 }
 
 void
 xf86CloseConsole(void)
 {
-#ifdef GV
     struct vt_mode VT;
     int ret;
 
@@ -307,7 +300,6 @@
         }
     }
     close(xf86Info.consoleFd);  /* make the vt-manager happy */
-#endif
 }
 
 int

Running some tests

Running evtest

Download evtest.c.

  gcc -o gcc -o evtest evtest.c
  ./evtest
  see evtest.log for sample outpu


evtest.log

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	mtk-kpd
/dev/input/event1:	ACCDET
/dev/input/event2:	hwmdata
/dev/input/event3:	mtk-tpd
Select the device event number [0-3]: Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "mtk-tpd"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max      800
      Resolution     800
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      480
      Resolution     480
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max      255
    Event code 48 (ABS_MT_TOUCH_MAJOR)
      Value      0
      Min        0
      Max      100
    Event code 49 (ABS_MT_TOUCH_MINOR)
      Value      0
      Min        0
      Max      100
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max      800
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max      480
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max        0
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
GV: read 112
Event: time 1409845467.116675, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1409845467.116682, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.116687, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.116691, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.116695, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.116699, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.116703, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.133145, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.133151, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.133155, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.133160, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.133164, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.133167, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.148724, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.148730, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.148734, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.148738, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.148742, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.148745, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.164975, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.164981, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.164985, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.164989, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.164994, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.164997, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.180722, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.180727, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.180731, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.180736, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.180740, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.180743, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.196495, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.196501, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.196505, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.196510, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.196514, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.196517, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.211803, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.211809, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 115
Event: time 1409845467.211813, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 96
Event: time 1409845467.211818, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.211822, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.211825, -------------- SYN_REPORT ------------
GV: read 48
Event: time 1409845467.225500, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1409845467.225504, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.225507, -------------- SYN_REPORT ------------
GV: read 112
Event: time 1409845467.466531, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1409845467.466536, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.466540, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 341
Event: time 1409845467.466545, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 151
Event: time 1409845467.466549, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.466553, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.466556, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.482028, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.482033, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 341
Event: time 1409845467.482038, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 151
Event: time 1409845467.482042, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.482046, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.482049, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.497971, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.497977, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 341
Event: time 1409845467.497981, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 151
Event: time 1409845467.497986, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.497990, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.497993, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.514030, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.514036, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 341
Event: time 1409845467.514040, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 151
Event: time 1409845467.514044, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.514048, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.514051, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.530188, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.530194, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 341
Event: time 1409845467.530198, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 151
Event: time 1409845467.530202, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.530206, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.530210, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.545804, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.545809, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 341
Event: time 1409845467.545813, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 151
Event: time 1409845467.545818, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.545822, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.545825, -------------- SYN_REPORT ------------
GV: read 48
Event: time 1409845467.559686, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1409845467.559690, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.559693, -------------- SYN_REPORT ------------
GV: read 112
Event: time 1409845467.880062, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1409845467.880067, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.880072, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 678
Event: time 1409845467.880076, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 130
Event: time 1409845467.880080, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.880084, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.880088, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.895834, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.895839, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 678
Event: time 1409845467.895844, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 130
Event: time 1409845467.895848, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.895852, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.895855, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.911757, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.911762, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 678
Event: time 1409845467.911767, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 130
Event: time 1409845467.911771, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.911775, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.911778, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.927833, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.927838, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 680
Event: time 1409845467.927842, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 129
Event: time 1409845467.927847, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.927851, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.927854, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.944420, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.944426, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 681
Event: time 1409845467.944430, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 129
Event: time 1409845467.944434, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.944438, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.944442, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.959239, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.959244, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 683
Event: time 1409845467.959249, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 129
Event: time 1409845467.959253, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.959257, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.959260, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845467.974974, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845467.974980, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 685
Event: time 1409845467.974984, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 129
Event: time 1409845467.974988, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845467.974992, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.974996, -------------- SYN_REPORT ------------
GV: read 48
Event: time 1409845467.989318, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1409845467.989321, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845467.989324, -------------- SYN_REPORT ------------
GV: read 112
Event: time 1409845468.246567, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1409845468.246571, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.246576, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 659
Event: time 1409845468.246580, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 419
Event: time 1409845468.246584, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.246589, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.246592, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.262652, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.262657, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 659
Event: time 1409845468.262662, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 419
Event: time 1409845468.262666, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.262670, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.262673, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.278454, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.278460, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 659
Event: time 1409845468.278464, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 419
Event: time 1409845468.278468, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.278473, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.278476, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.293932, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.293938, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 653
Event: time 1409845468.293942, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 419
Event: time 1409845468.293946, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.293950, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.293953, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.309429, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.309434, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 639
Event: time 1409845468.309438, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 416
Event: time 1409845468.309443, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.309447, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.309450, -------------- SYN_REPORT ------------
GV: read 48
Event: time 1409845468.323482, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1409845468.323486, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.323489, -------------- SYN_REPORT ------------
GV: read 112
Event: time 1409845468.596393, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1409845468.596397, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.596402, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 226
Event: time 1409845468.596406, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 302
Event: time 1409845468.596410, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.596414, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.596417, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.612126, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.612132, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 226
Event: time 1409845468.612136, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 302
Event: time 1409845468.612140, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.612144, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.612147, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.628256, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.628262, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 226
Event: time 1409845468.628266, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 302
Event: time 1409845468.628271, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.628275, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.628278, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.644136, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.644142, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 226
Event: time 1409845468.644146, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 302
Event: time 1409845468.644151, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.644155, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.644158, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.659867, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.659873, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 226
Event: time 1409845468.659877, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 302
Event: time 1409845468.659882, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.659886, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.659889, -------------- SYN_REPORT ------------
GV: read 48
Event: time 1409845468.673538, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1409845468.673541, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.673544, -------------- SYN_REPORT ------------
GV: read 112
Event: time 1409845468.946001, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1409845468.946005, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.946010, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 681
Event: time 1409845468.946014, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845468.946018, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.946022, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.946025, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.962071, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.962077, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 681
Event: time 1409845468.962081, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845468.962085, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.962089, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.962093, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.977741, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.977747, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 681
Event: time 1409845468.977751, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845468.977755, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.977759, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.977762, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845468.993678, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845468.993684, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 681
Event: time 1409845468.993688, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845468.993692, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845468.993696, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845468.993700, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.010083, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.010089, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 681
Event: time 1409845469.010093, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845469.010097, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.010101, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.010104, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.026187, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.026193, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 665
Event: time 1409845469.026197, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 357
Event: time 1409845469.026201, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.026205, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.026209, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.041432, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.041437, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 640
Event: time 1409845469.041442, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 357
Event: time 1409845469.041446, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.041450, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.041453, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.057294, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.057299, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 581
Event: time 1409845469.057304, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 364
Event: time 1409845469.057308, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.057312, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.057315, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.073883, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.073889, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 540
Event: time 1409845469.073893, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 364
Event: time 1409845469.073897, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.073901, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.073905, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.089886, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.089892, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 496
Event: time 1409845469.089896, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 364
Event: time 1409845469.089900, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.089904, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.089908, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.105335, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.105340, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 450
Event: time 1409845469.105344, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 364
Event: time 1409845469.105349, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.105353, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.105356, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.121183, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.121188, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 404
Event: time 1409845469.121192, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845469.121197, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.121201, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.121204, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.136794, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.136799, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 360
Event: time 1409845469.136803, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845469.136808, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.136812, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.136815, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.152605, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.152611, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 312
Event: time 1409845469.152615, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 360
Event: time 1409845469.152619, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.152623, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.152626, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.169594, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.169599, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 270
Event: time 1409845469.169604, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 366
Event: time 1409845469.169608, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.169612, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.169615, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.185263, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.185268, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 236
Event: time 1409845469.185273, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 373
Event: time 1409845469.185277, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.185281, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.185284, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.200843, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.200848, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 207
Event: time 1409845469.200853, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 376
Event: time 1409845469.200857, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.200861, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.200864, -------------- SYN_REPORT ------------
GV: read 96
Event: time 1409845469.216857, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 1
Event: time 1409845469.216863, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 207
Event: time 1409845469.216867, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 376
Event: time 1409845469.216871, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 1
Event: time 1409845469.216875, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.216878, -------------- SYN_REPORT ------------
GV: read 48
Event: time 1409845469.230419, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1409845469.230423, ++++++++++++++ SYN_MT_REPORT ++++++++++++
Event: time 1409845469.230426, -------------- SYN_REPORT ------------

Running xinput

xinput --list

â¡ Virtual core pointer                         id=2    [master pointer  (3)]
â   â³ Virtual core XTEST pointer               id=4    [slave  pointer  (2)]
â   â³ mytouchscreen                            id=6    [slave  pointer  (2)]
⣠Virtual core keyboard                        id=3    [master keyboard (2)]
    â³ Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]


xinput log

xinput test 6

motion a[0]=53 a[1]=58 a[2]=0 a[3]=1 a[4]=0 
button press   1 a[0]=53 a[1]=58 a[2]=0 a[3]=1 a[4]=0 
button release 1 a[0]=53 a[1]=58 
motion a[0]=513 a[1]=91 a[2]=0 a[3]=1 a[4]=0 
button press   1 a[0]=513 a[1]=91 a[2]=0 a[3]=1 a[4]=0 
button release 1 a[0]=513 a[1]=91 
motion a[0]=659 a[1]=436 a[2]=0 a[3]=1 a[4]=0 
button press   1 a[0]=659 a[1]=436 a[2]=0 a[3]=1 a[4]=0 
button release 1 a[0]=659 a[1]=436 
motion a[0]=624 a[1]=152 a[2]=0 a[3]=1 a[4]=0 
button press   1 a[0]=624 a[1]=152 a[2]=0 a[3]=1 a[4]=0 
motion a[0]=577 a[1]=174 
motion a[0]=501 a[1]=203 
motion a[0]=457 a[1]=219 
motion a[0]=411 a[1]=232 
motion a[0]=371 a[1]=240 
motion a[0]=341 a[1]=245 
button release 1 a[0]=341 a[1]=245