MT, Linux, and other stuff

Ryan Huffman

GSOC: The End

with 2 comments

Yesterday (technically 2 days ago, given that it is past midnight) was the official “pencils down” date for GSoC; for me, this means releasing my source code and summing it all up.  This also means that I need to hurry up and release another video :).

You can always grab the latest source at, so if you want the latest you should look there.  The code being presented here is more of a snapshot than anything else.


I have tagged version “0.1.0” on the git repo, and is what I will give an update on here.  Mostly a lot of cleanup has been done recently.  I would recommmend checking out the man page (`man 4 tuio`) to read a bit about the driver and the available options.  Honestly, it’s all there, and it’s probably pointless for me to talk about it here (especially because what I write here may soon be outdated).

If you want to grab the latest source, just

git clone git://
git checkout xf86-input-tuio-0.1.0

if you want version 0.1.0 (there may be a better way to do that).

More exciting is the TUIO Monitor Daemon, though.  As mentioned in a previous post, tmd monitors X events and attempts to create unique master devices for each new TUIO subdevice.  If this is not done, all device events will be tunneled through one master device, and will only control one cursor.  You can always make these device hierarchy changes manually, but it is a pain.

To grab the newest tmd source:

git clone git://

Disclaimer: The code has not been pushed just quite yet, I’ve made a configuration mistake and need to fix it.  Stay tuned. Fixed



Seriously, this will be done soon, I just have one thing pending before this will be completed.  The video will contain several clips of what is currently possible, and I think it will give a good idea of what can be done.


I’m very optimistic about the future.  I’m not sure when the next release of xserver will be, but it should be within the next 2 months, at which point I think a lot of exciting things will happen.  First, I expect we will see a lot of support for XI2/MPX being implemented (it already has been on certain projects, but has quickly become outdated because of the ever changing api/abi), particularly in window managers and later toolkits.  Once there is a stable base for creating multitouch applications, I think everything will really be ready for primetime.  In regards to NUI Group, I think we will start seeing a lot of linux based MT devices being built, and developers developing XI2 applications.  Can’t wait, should be a lot of fun :).

What will I be doing?  Well, I’ll continue to maintain this project, and hopefully make several posts on creating XI2 based applications.

“I have a TUIO based MT setup, should I use this?”

Or, “is this driver of any use to me?”  Without a lot of native multitouch applications or support overall for XI2, it is probably worth waiting until everything is available in a distro such as Ubuntu.  On the other hand, if you are brave and don’t mind getting dirty with the command line (and have extra time), go for it!  If you do, you’d be helping me out quite a bit :).  It isn’t necessarily a trivial task to get your first dev version of X running, but once you do it is easy to maintain.  If you do decide to go down this path, send me an email and let me know about it; I’d really like to know if people are using the driver (r y a n h u f f m a n (at) g m a i l . c o m).

More to come…

Written by rhuffman

August 18, 2009 at 3:01 pm

Posted in GSoC

2 Responses

Subscribe to comments with RSS.

  1. Congratulation for your awesome work !

    Mathieu Virbel

    August 29, 2009 at 6:17 am

    • Thanks Mathieu 🙂


      September 3, 2009 at 12:18 am

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: