3M MicroTouch Driver

This page is specific to Ubuntu versions 10.04

If you find this information applicable to additional versions/releases, please edit this page and modify this header to reflect that. Please also include any necessary modifications for this information to apply to the additional versions.


Here you'll find some scripts and tips on getting the official 3M touch driver working on a thin client.

Please note this is from my memory and looking at my configs. Any edits to improve the instructions are appreciated!

I suggest familiarizing yourself on making the driver work on a normal Ubuntu install first. Its install is a little different than others I've seen and it's a bit picky.

twxdriver Installation

First, copy the MT7*.bin file to your thin client chroot, mine's /opt/ltsp/i386/

Next, on the ltsp server host, chroot into the thin client, we need dev, sys, and proc to make the installer happy.

mount /dev /opt/ltsp/i386/dev -o bind
mount /sys /opt/ltsp/i386/sys -o bind
mount /proc /opt/ltsp/i386/proc -o bind
chroot /opt/ltsp/i386/

You'll need Sub Java6 JRE on the client for the calibration and other tools to work, so enable the "partner" apt repo and install it while chroot'd. You may also need other libraries as mentioned in the MT7 readme, depending on what you already have installed.

run the .bin file just as you would on a normal install, and extract the tarball. Do not run the install script yet!

To match my scripts, you'll need to move the extracted twscreen directory to /opt/, or edit my scripts. Make sure you do this before running their install script! You can use all their defaults, we aren't going to relocate the data directory as their readme suggests. instead we're going to regenerate the data files with RCFILE's based on parameters from the lts.conf.

now, run the install script. Note that if your ltsp host is 64bit and the thin client is 32bit, or the other way around, the install will choose the wrong Xorg driver, so you'll have to fix it. For me, x64 host and i386 chroot, I inspected /usr/lib/xorg/modules/input/twxinput_drv.so to see that it linked to /opt/twscreen/x64/twxinput_drv.so.1.7.0, so I ram the follow commands to fix that.

rm /usr/lib/xorg/modules/input/twxinput_drv.so
ln -s /opt/twscreen/x64/twxinput_drv.so.1.7.0 /usr/lib/xorg/modules/input/twxinput_drv.so

Support scripts

Now that the driver is installed, we need some RCFILE and SCREEN scripts to set the calibration data and configure the X server.

Create the following files, while still in the chroot, and chmod +x them.


 #for the official mictotouch driver

/bin/cat << EOF > /opt/twscreen/data/TwConfig
        FrameworkVersion="7.13 Build 6"



/etc/init.d/TWDrvStartup start



PATH=/bin:$PATH; export PATH
. /usr/share/ltsp/screen-x-common

unset prefix

if [ -x /usr/share/ltsp/xinitrc ]; then

xinit $xinitrc $prefix /opt/twscreen/TwCalib -- ${DISPLAY} vt${TTY} ${X_ARGS} -br >/dev/null 2>&1

We're done in the chroot, so unmount and the "bind" dirs now

umount /opt/ltsp/i386/dev
umount /opt/ltsp/i386/sys
umount /opt/ltsp/i386/proc

and rebuild the image

ltsp-update-image -a i386

Configure the client

For the initial configuration, I suggest having a menu with "calibrate" and the command and having your clients specific section have no screen. This allows you to run calibration, which will exit back to the menu when done instead of getting in a calibration loop. If someone can think of a better to to run this, please do update this page!

Edit your lts.conf and setup the following variable for your client specific section:

RCFILE_01="/etc/init.d/rc.thin.touch-tw 0 0 0 0 0 0 0"

now boot the client up and use the calibrate screen. Once you are happy with the calibration, get a shell on the client and look at /opt/twscreen/data/TwConfig Compare it to the /etc/init.d/rc.thin.touch-tw script above, noting the values that are now in place of the $1 and so on. Take note of the values in the display section, and in your RCFILE_01 replace the 0's with each value in order.


Now you can give your client a screen setting and all should work happily!


UbuntuLTSP/3MMicroTouchDriver (last edited 2012-01-27 22:51:33 by tom6)