← Back to team overview

multi-touch-dev team mailing list archive

open-source driver for Microsoft Surface 2.0


Hi everyone,

I've written an open-source driver for the Microsoft Surface 2.0 touch
screen, which is available here: https://github.com/floe/surface-2.0/

Video of the result: https://www.youtube.com/watch?v=e-JNqTY_3b0

Thanks to the guys at LMU (http://www.mimuc.de/), I had the opportunity
to play with one for a bit and the result is what you can find above.

Of course, using this requires you to boot Linux on your Surface 2.0 in
the first place. However, since it's just a regular PC, I've found that
easier than expected: just boot Ubuntu from an USB harddisk and you
don't even have to modify anything on the original Win7 installation.

Ubuntu 11.10 works surprisingly well: all hardware works out-of-the box,
with the single exception being the touchscreen. Well, not anymore. ;-)

There are a few white spots left in the protocol (most of it is pretty
straightforward, but a few things have eluded me). If someone else has
access to a MS Surface 2.0, I'd be happy to get some feedback.

NB: right now, the provided tools just display the data and don't pass
it on to Linux, so interaction with utouch isn't possible right now. But
I hope I'll get around to writing an uinput bridge next week. If
somebody could point me to a recent uinput example for multitouch, that
would be awesome.


Follow ups