|
|
Log in / Subscribe / Register

Synaptics multitouch coming - maybe

By Jonathan Corbet
October 11, 2010
Single-pointer, mouse-based interfaces may be with us for a while yet, but much of the interesting user-interface development activity these days involves multitouch interfaces - those which can track multiple input position events simultaneously. Multitouch can be found on a number of touchscreen-based smartphones and on some trackpad-based laptops. There's also a lot of interesting potential for multitouch in other places - think about multiple people working on a table-size (or wall-size) display. At the bottom level, though, detecting multitouch events requires support from the hardware, and, for a number of touchpad-based systems, that hardware comes from Synaptics.

The Linux driver for Synaptics touchpads does not currently support multitouch mode for the usual reason: Synaptics has not deigned to tell the world how to actually use its hardware. There is hope for change, though: Chase Douglas has recently posted a set of Synaptics driver patches which add touchpad support based on information obtained through reverse engineering. There are evidently still a few glitches to work out, but the mode appears to work. Alas, that does not necessarily mean we'll have Synaptics multitouch support in the near future; the real difficulties may be outside of the technical realm.

When Chase posted his patches, Takashi Iwai - better known for his ALSA sound driver work - responded that he had also worked on multitouch support:

Great! Finally someone found it out! I found this and made a series of patches in 4 months ago. Since then, Novell legal prohibited me to send the patches to the upstream due to "possible patent infringing". Now you cracked out. Yay.

In the ensuing discussion, it became clear that Chase's patch was, in fact, Takashi's patch with some improvements added. Takashi had apparently posted the patch set once before Novell legal called a halt to the exercise; that work had been stashed in a Launchpad page until Chase stumbled across it, made some improvements, and resubmitted the code. (Just to be clear: it does not appear that Chase was trying to take credit for somebody else's work; he just hadn't understood the original source of the code).

Evidently, Takashi sees the independent posting of the code as being sufficient to get around Novell legal's objections to its merging; he responded with enthusiasm despite being allegedly on vacation. Chase's kernel patches have been topped up with a series of X.org patches taking advantage of the new kernel support and adding user-level support for nice things like three-finger and "pinch" gestures. All of this code has seemingly been waiting for its chance to escape into the wild; all it took was for somebody else to start pushing the kernel-side code.

So it seems that the floodgates are open and multitouch support on Synaptics devices will be available to all. But there could yet be a catch. As Chase noted: "If you're the originator of the work, and my patch is accepted, I think we'll need your SOB on it." Without a signoff from Takashi, this code may not be accepted into the mainline. Takashi has suggested that his signoff from the initial posting could be used, but he appears to be unwilling to repost the code with a signoff now.

And that's where the trouble could come: your editor has had no contact with Novell's legal department and has no special knowledge, but it would not be surprising to learn that the concerns that department had about this code might not be swept aside quite so easily. It's possible that the new signoff from Takashi might not be forthcoming. Or, possibly, distributors will get cold feet for the same reason that Novell legal did and decide not to enable the feature. This code has been in the wild for some months now, but it has not found its way into users' systems; the increasing attention being paid to it now may not be enough to change that fact.

The inability to use Takashi's code - if, indeed, it comes to that - would not be a huge problem. The important thing is the information on how the hardware works; given that, some energetic hacker would undoubtedly reimplement the changes in short order. Patent concerns could be harder to work around, though. Without knowledge of which patents were at issue, it's hard to say how big an obstacle they could be. By some accounts, multitouch interfaces in general are patented, though that does not seem to have stopped some companies from incorporating such interfaces into their products. If it stops nervous Linux distributors, though, Linux users as a whole will be the losers.

That, of course, is the nature of the software patent system. But the scenario described above is highly speculative at this point. The important thing is that the code (along with the associated hardware information) is out there and available for those who would incorporate it into their systems. Hopefully it will be more widely distributed soon. Unfortunately, the wait for those nice nice wall-size displays may be just a little bit longer.


to post comments

Synaptics multitouch coming - maybe

Posted Oct 11, 2010 16:54 UTC (Mon) by PO8 (guest, #41661) [Link] (1 responses)

It should be easy enough to understand the way that the patches work and do a "cleanroom" implementation to avoid copyright issues. This should be done in some jurisdiction without software patents, so that there are no patent issues for the authors; otherwise I'd work on it myself.

If mainline Linux or X.org or distro vendors refuse these patches due to patent concerns, I imagine this will be worked around in the usual way—by providing archives for patched drivers in the same way that DeCSS, for example, is provided now.

Not ideal, but definitely workable. Couldn't be more pleased to see multitouch support make its way into X.

Synaptics multitouch coming - maybe

Posted Oct 29, 2010 10:51 UTC (Fri) by wookey (guest, #5501) [Link]

And do you know of any jurisdictions without software patents where this might be done? The widely-held belief that there are none is Europe is complete bunkum - the situation is little better than the US in that regard (we are reasonably free of 'business-method' patents though).

New Zealand has been thinking about cleaning up its system, but it hasn't actually done so yet. It could become a real haven for developers if it goes through with it.

And the threat of patents is not really to authors anyway. I've never heard of an author of patented Free Software being sued directly (and they don't even get threatened much, not since the days of LAME anyway). The problem is for distributors who tend to operate 'everywhere' to a first approximation.

Synaptics multitouch coming - maybe

Posted Oct 11, 2010 21:35 UTC (Mon) by svena (guest, #20177) [Link]

Another effort that's stalled due to software patents (and might make an interesting article) is OpenGL3 support in Mesa:
http://lists.freedesktop.org/archives/mesa-dev/2010-Septe...

Synaptics multitouch coming - maybe

Posted Oct 11, 2010 22:34 UTC (Mon) by cnd (guest, #50542) [Link] (7 responses)

I believe the SOB issue is a non-factor at this point. The hold up was more an issue of the proper SOB protocol here:

http://www.spinics.net/lists/linux-input/msg11696.html

The bigger issue is figuring out how to handle clickpads (touchpads with integrated buttons in the touchpad surface) and other odd Synaptics device variations. We don't have any protocol documentation for these devices, so we can't even tell at this point whether a trackpad as integrated or stand alone buttons. One can imagine this makes things difficult.

Synaptics multitouch coming - maybe

Posted Oct 12, 2010 5:58 UTC (Tue) by tiwai (subscriber, #39450) [Link] (6 responses)

Right, I'm willing to repost the patch with my sign-off once when all remaining issues settled down. For the time being, it's just a technical concern, not political.

I really regret that the patent issue came up to the legal level. It shouldn't have been so, but we had to be a bit careful at that time. And, if lawyers say it's gray, it isn't white, no matter what they are actually looking at...

To be noted, my colleagues at Novell have tried hard to contact with Synaptics and make the way forward. Unsurprisingly, however, the communication was way too slow and stalled. At the same time, Daniel Kottmair of German Linux Magazine also contacted with Synaptics, but it didn't give useful results, too. The frontal reason of Synaptics is that they provide their own binary-only driver for OEM, thus it must suffice. So, the biggest problem is rather that they don't understand what the problem for Linux development is.

Synaptics multitouch coming - maybe

Posted Oct 12, 2010 9:51 UTC (Tue) by mhuber (guest, #47467) [Link] (5 responses)

Well, that's not really the gist of what Synaptics said - They were *very* taken with the idea to make the binary driver (SGS-L - Synaptics Gesture Suite for Linux) available for everyone to download when I pointed out that maybe 95% of all laptops running Linux were not shipped like that by OEMs. So they do see the problem, and they always repeated how important Linux support is for them. The real issue here is only their patents, they're very scared that if they released source openly or participated in synclient (the OSS driver for Synaptics) development, they would somehow invalidate their own patents and would not be able to enforce them anymore. I did point out that IBM is one of the biggest holders of patents in the world and still somehow manages to cope just nicely with contributing code to Linux and OSS. If anyone knows more details on the legal framework IBM uses to accomplish that, I could forward it to Synaptics and it would really go a long way to put their minds to ease.

I do a lot of hardware reviews, and those Clickpads are showing up in more and more laptops (i think the majority of the current HP lineup already has them), I think within a year regular touchpads will be largely replaced by them. So this issue should be adressed quickly!

(Daniel Kottmair)

Synaptics multitouch coming - maybe

Posted Oct 12, 2010 10:02 UTC (Tue) by mhuber (guest, #47467) [Link] (1 responses)

Some more things that should be considered:
a) From what I know, the current synclient driver already infringes on certain patents (probably stuff like 2finger-scrolling and right-edge scrolling) from Synaptics, but it seems they never enforced them ("don't ask, don't tell" policy). So the situation with the new clickpads is hardly any different

b) The main problem with those clickpads is not the lacking multitouch-support, but rather that they don't even work properly as regular touchpads. The current makeshift patch that was introduced some months ago by some other guy to make the button-areas work as buttons doesn't function properly - Drag & Drop isn't working as it should, and the mousepointer jumps around a lot. So if we could in the meantime at least incorporate the subset of Takashi's/Chase's patches that makes it work like any other touchpad (and which is at least free of Multitouch-patents!), that would really help a lot of users that already have one of the new laptops with Synaptics clickpad and cannot use it properly...

I've personally found them in a HP Mini 210, a HP Pavilion dv6 and several Acers....

Synaptics multitouch coming - maybe

Posted Oct 12, 2010 14:41 UTC (Tue) by mjthayer (guest, #39183) [Link]

> From what I know, the current synclient driver already infringes on certain patents (probably stuff like 2finger-scrolling and right-edge scrolling) from Synaptics, but it seems they never enforced them
I can't really see why Synaptics would want to use their patents to make it hard to use their hardware under Linux. I can see that they might not want them used to make competitor's hardware work. Would the patent-contaminated bits of code be (resp. are they) in the kernel driver code (GPLv2) or the X.Org driver code (MIT licence)? Obviously the first might be a trickier situation for Synaptics (or not if patents on hardware are their main concern).

Synaptics multitouch coming - maybe

Posted Oct 13, 2010 6:05 UTC (Wed) by mfedyk (guest, #55303) [Link]

they are treating patents as if they were trademarks. the point of patents is to show how they work so it can be reimplemented once the parent expires as well as what is covered during the duration of the patent.

the person you talked with was quite misinformed.

Synaptics multitouch coming - maybe

Posted Oct 20, 2010 18:06 UTC (Wed) by ccurtis (guest, #49713) [Link] (1 responses)

[...] they're very scared that if they released source openly [...] they would somehow invalidate their own patents [...]

If this is true, the counter argument is simple (caveat: IANAL). A patent application is a request for a government granted monopoly. The exchange for such a legal monopoly is that the device be fully explained in the patent filings. In essence, the contract that allows a monopoly (patent) is full disclosure (source code). In contrast to invalidating their patent, source code (or at least the interface specs) are required to fulfill their portion of the contract granting them their monopoly position.

Synaptics multitouch coming - maybe

Posted Oct 29, 2010 11:27 UTC (Fri) by wookey (guest, #5501) [Link]

"The exchange for such a legal monopoly is that the device be fully explained in the patent filings"

Ho, ho , ho. If only that were true.

You are quite right about how this is _supposed_ to work, but an awful lot of 'software' patents simply state the problem itself and then claim that (and all solutions to it) in a particular context rather that actually specifying a particular solution in a way that allows an implementation of it. If patents actually came with real, implemented solutions then they might at aleast have some redeeming utility, but oddly enough I think approximately no readers here will ever have found a helpful solution to a problem they were trying to solve in a patent.

As you go on to point out, some implementing source code from somewhere (e.g. that discussed above) does indeed fulfill the other half of their moral patent contract. Persuading their legal dept to think this way could be difficult, because it's not the way that patent law operates in practice (nothing requires them to produce that code).

It does seem that Synaptics don't understand their own patents. They can choose who to enforce their patents against. If they choose not to enforce them against software authors, especially Free Software authors, and only enforce them against hardware manufacturers, then that is their right, it's fine with us, presumably gives them exactly the control and selectivity they need, and does not reduce their ability to enforce where they wish to in any way (SFAIK, synaptics appears to be a US corporation, so I presume we are talking about US patents). Does anyone have the numbers? This one looks like exactly the right thing (once you decode the usual generic gobbledegook it is written in): http://www.faqs.org/patents/app/20090201261

What would be ideal was a patent grant allowing their use in all Free Software. A less-good solution would be a grant allowing use in Linux. Next best would be one allowing their practice for using their own hardware.

Sensible companies have been putting explicit clauses in their patents to make their intention on this point clear, for a while (which helps them deflect the widespread criticism of the whole system from right-thinking people like us). (An example of such an outfit is my currently employer ARM - who have in the past gained some outrageous software patents, but these days try quite hard to add 'implemented in hardware' in the right places to avoid causing needless agravation for everyone - or so I have been told, no-one has shown me proof yet).

Synaptics multitouch coming - maybe

Posted Oct 12, 2010 9:36 UTC (Tue) by etienne (guest, #25256) [Link]

Looks to me that is the real problem with patents: were do they stop?
If you own a portable PC with a Synaptics multitouch pad, you already paid once for the right to use it, while paying for the portable PC.
Now it seems any software using touchpad functionality should also get a patent?
Soon, any software using fopen() will need a patent agreement with all the patents listed on the top of you hard drive - after all you are using some patented technologies to write bits on a magnetic surface...


Copyright © 2010, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds