Version Error loading touchpad kcm: Xinput extension is too old

Bug #1039261 reported by Clay Weber
232
This bug affects 42 people
Affects Status Importance Assigned to Milestone
synaptiks (Ubuntu)
Fix Released
High
Scott Kitterman
Precise
Fix Released
High
Scott Kitterman
Quantal
Fix Released
High
Scott Kitterman

Bug Description

[IMPACT]

 * Bug renders the touchpad configuration KCM completely unusable

[TESTCASE]

 * Open (KDE) systemsettings
 * Go to Input Devices
 * Click on Touchpad

 * With the existing package an error about the version of xinput being too old will be displayed

 * With the fixed package, the touchpad KCM should be displayed

[Regression Potential]

 * Nil. It's totally not working now, so the downside risk is zero.

[Original Bug}

After an update and reboot, found that my touchpad was not working corrrectly - scrolling wasn't working unless I used a scrollbar.

Opening System Settings to get to the Synaptiks touchpad control (kde-config-touchpad) brings up the following error:

"The version of the XInput extension installed on your system is too old. Version 2.0 was found, but at least version 2.0 is required.
If you want to be able to configure your touchpad, you have to upgrade your system to a recent release of the Xorg display server. This may likely involve a complete upgrade of your system. Please excuse this inconvenience, but there is no way to make touchpad configuration work on systems as old as yours."

Xinput is at version 1.6, however the error is saying the version 2.0 was found.

Dell D630 laptop running 12.10 x86

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: kde-config-touchpad 0.8.1-1ubuntu1
ProcVersionSignature: Ubuntu 3.5.0-11.11-generic 3.5.2
Uname: Linux 3.5.0-11-generic x86_64
ApportVersion: 2.4-0ubuntu8
Architecture: amd64
Date: Mon Aug 20 17:59:30 2012
InstallationMedia: Kubuntu 12.10 "Quantal Quetzal" - Alpha amd64 (20120724.2)
PackageArchitecture: all
ProcEnviron:
 LANGUAGE=
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: synaptiks
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Clay Weber (claydoh) wrote :
description: updated
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in synaptiks (Ubuntu):
status: New → Confirmed
Revision history for this message
Siddhanathan Shanmugam (siddhanathan) wrote :

Same issue in Ubuntu Unity.

Revision history for this message
Clay Weber (claydoh) wrote :

Is this related to Bug 1002736?

Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu laptop testing tracker.

A list of all reports related to this bug can be found here:
http://laptop.qa.ubuntu.com/qatracker/reports/bugs/1039261

tags: added: laptop-testing
Revision history for this message
ramniwasbissu91@gmail.com (ramniwasbissu91) wrote :

i do have the same problem wit my touchpad... edge scrolling is not working even after enabling.and. also horizontal scrolling
ubuntu 12.10 beta 1
emachine e725 laptop
Xinput veraion 1.6.0-1
linux kernal 3.5.0-13.13
package : xserver-xorg-input-synaptics 1.6.2-1ubuntu5
Architecture: x86 intel 32 bit

Revision history for this message
Jessie Morris (jessieamorris) wrote :

This bug appears to have been fixed upstream (https://github.com/lunaryorn/synaptiks/commit/e24d2f86cc52f5441ad1d630fbf8d0ab0483b018).

What do we need to do to get the package updated?

Revision history for this message
Jessie Morris (jessieamorris) wrote :

Eh, after attempting to build from source (v0.9.0) I was still unable to get it working. This code needs a new maintainer.

Revision history for this message
Jessie Morris (jessieamorris) wrote :

Actually, after doing even more sleuthing, I'm not 100% sure *what* the issue is.

When I do

xinput --version

I get

xinput version 1.6.0
XI version on server: 2.2

Revision history for this message
Matthew Dye (mdye) wrote :

So very annoying. Is anything to be done, or will it just be a matter of getting the latest packages up to the server?

Revision history for this message
Craig Magina (craig.magina) wrote :

I can use two finger scrolling and two finger right-click on my apple trackpad, but I am not able to enable horizontal scrolling or the three finger tap action due to getting the version error. I am running a fully updated Kubuntu 12.10 as of Oct. 2nd.

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

Note: acccording to the Github site it's the server side version of XInput that is being checked, and it's 2.2, so I suspect it's not coping with the newer version.

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

Scratch that idea, just checked a 12.04 system and it also reports 2.2 as its server side XI version.

chris@mythtv:~$ DISPLAY=:0 xinput --version
xinput version 1.5.99.1
XI version on server: 2.2

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

This bug is absolute hell on a MacBook Pro: I can't turn the touchpad off while typing in KDE, and it's huge and quite sensitive, so I'm constantly having text selected/deleted/inserted, and my cursor moved, while typing. Sometimes the mouse pointer moves over to a button and then clicks it, while I'm typing.

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

Interestingly the kde-config-touchpad package is identical between 32-bit 12.04 and 64-bit 12.10 - the filename and MD5sum is identical:

chris@chris-ultralap:~/Code/Ubuntu$ md5sum */*.deb
e334aeb922f58228c8baa888c040ad72 12.04/kde-config-touchpad_0.8.1-1ubuntu1_all.deb
e334aeb922f58228c8baa888c040ad72 12.10/kde-config-touchpad_0.8.1-1ubuntu1_all.deb

So could this be a Python interpreter issue?

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

It appears to be an X11 issue, the check itself is being done in libXi via:

    state = libXi.XIQueryVersion(display, byref(major), byref(minor))

The libXi XIQueryVersion code is here:

http://cgit.freedesktop.org/xorg/lib/libXi/tree/src/XIQueryVersion.c

That code appears to result in either BadRequest in case of an internal error, BadImplementation if it's the correct version or Success if all is OK. However, the Python code only checks for success and assumes that any failure is a version problem (not that issue seems to be the cause here).

Running synaptiks from a bash shell under xtrace shows:

[...]
000:<:0100: 8: XInputExtension-Request(131,47): XIQueryVersion major=2 minor=0
000:>:0100:Error 2=Value: major=131, minor=47, bad=2
X Error: BadValue (integer parameter out of range for operation) 2
  Extension: 131 (XInputExtension)
  Minor opcode: 47 ()
  Resource id: 0x2
[...]

So the X server is rejecting the version comparison.

Under 12.04 the transaction is different, in that the request is for a minor version of 1, not 0:

000:<:0096: 8: XInputExtension-Request(141,47): XIQueryVersion major=2 minor=1
000:>:0096:32: Reply to XIQueryVersion: major=2 minor=1

Hope this helps!

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

Looking at the diff between libXi 1.6.0 (used in 12.04) and libXi 1.6.1 (used in 12.10) shows this in the notes:

+ Consecutive calls to XIQueryVersion by the same client always return the
+ first returned major.minor version. If the client requests a version
+ lower than the first returned major.minor version in a subsequent call, a
+ BadValue error occurs.

Looking deeper at the xtrace I captured before this looks to be exactly what is happening:

000:<:0096: 8: XInputExtension-Request(131,47): XIQueryVersion major=2 minor=1
000:>:0096:32: Reply to XIQueryVersion: major=2 minor=1
[...]

000:<:0100: 8: XInputExtension-Request(131,47): XIQueryVersion major=2 minor=0
000:>:0100:Error 2=Value: major=131, minor=47, bad=2
X Error: BadValue (integer parameter out of range for operation) 2
  Extension: 131 (XInputExtension)
  Minor opcode: 47 ()
  Resource id: 0x2

Sandra Karuving (lumks)
tags: added: i386
Clay Weber (claydoh)
summary: - Xinput extension is too old
+ Version Error loading touchpad kcm: Xinput extension is too old
Changed in synaptiks (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Scott Kitterman (kitterman)
Changed in synaptiks (Ubuntu Quantal):
importance: Undecided → High
Changed in synaptiks (Ubuntu Precise):
importance: Undecided → High
status: New → Triaged
description: updated
Changed in synaptiks (Ubuntu Precise):
status: Triaged → In Progress
assignee: nobody → Scott Kitterman (kitterman)
milestone: none → ubuntu-12.04.2
Changed in synaptiks (Ubuntu Quantal):
milestone: none → quantal-updates
Revision history for this message
Scott Kitterman (kitterman) wrote :

I've uploaded a fix for 12.04 and 12.10. Once another SRU team member reviews them and accepts them, people will be able to test and see if their problem is solved.

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

The title and summary of this bug needs to be fixed, it's misleading.

The problem isn't with the XInput version, which is fine, it's that the Python code doesn't cope correctly with the error it is getting (BadValue) which indicates that a previous XIQueryVersion() call was made with a higher XInput version number (2.1) than the one it sent (2.0).

This first call appears to now happen when the Python code does:

    class SynaptiksApplication(KUniqueApplication):

which is on line 246 of /usr/share/pyshared/synaptiks/kde/trayapplication.py.

A temporary workaround would be to change line 146 of /usr/share/pyshared/synaptiks/x11/input.py from:

    matched, actual_version = xinput.query_version(display, (2, 0))

to:

    matched, actual_version = xinput.query_version(display, (2, 1))

which will make it work until the XInput version changes again (or if the user runs the code on an older system with XInput version 2.0).

Not entirely sure what the right fix should be, but I suspect this needs to be reported back upstream to KDE.

Revision history for this message
Scott Kitterman (kitterman) wrote :

Fix is accepted for 12.10 and is planned for inclusion in the final release.

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

Nice one Scott, I can confirm that manually making the change in your patch here:

http://launchpadlibrarian.net/119900624/synaptiks_0.8.1-1ubuntu1_0.8.1-1ubuntu2.diff.gz

fixes the problem for me!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package synaptiks - 0.8.1-1ubuntu2

---------------
synaptiks (0.8.1-1ubuntu2) quantal-proposed; urgency=low

  * Fix xinput version detection that renders kde-config-touchpad unusable
    (LP: #1039261)
 -- Scott Kitterman <email address hidden> Tue, 16 Oct 2012 18:21:29 -0400

Changed in synaptiks (Ubuntu Quantal):
status: In Progress → Fix Released
Revision history for this message
z (steveriley-deactivatedaccount-deactivatedaccount) wrote :

Also working here on Quantal.

Does this new version incorporate the commit mentioned in #7 above?

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

@steveriley:

No, the change is just a single line fix for the XInput version error problem.

The commit you mentioned isn't related to that problem, but it looks like it might belong over on bug #1002736.

no longer affects: synaptiks (Ubuntu R-series)
Changed in synaptiks (Ubuntu Quantal):
milestone: quantal-updates → ubuntu-12.10
Revision history for this message
z (steveriley-deactivatedaccount-deactivatedaccount) wrote :

@Chris Samuel:

You're right. I released the APT hold I placed on xserver-xorg-input-synaptics version 1.6.2 and allowed it to upgrade to 1.6.99 from Xorg-Edgers. And, alas, the updated KCM still segfaults. It really would be nice to get that commit incorporated...

Revision history for this message
naught101 (naught101) wrote :

I just upgraded and this is completely fixed for me, on a Samsung Chronos Series 7. Everything works perfectly except mappings to the middle mouse button (I have it set to three finger clicking, which IS detected, because I tried mapping it to right-click, and it worked). I can live with that though.

Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Clay, or anyone else affected,

Accepted synaptiks into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/synaptiks/0.8.1-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in synaptiks (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Scott Kitterman (kitterman) wrote :

Tested on precise and it works there too.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Scott Kitterman (kitterman) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package synaptiks - 0.8.1-1ubuntu1.1

---------------
synaptiks (0.8.1-1ubuntu1.1) precise-proposed; urgency=low

  * Fix xinput version detection that renders kde-config-touchpad unusable
    (LP: #1039261)
 -- Scott Kitterman <email address hidden> Tue, 16 Oct 2012 18:21:29 -0400

Changed in synaptiks (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.