Bug 47654 - synaptics driver 1.5.1 causes a start failure in the X server
Summary: synaptics driver 1.5.1 causes a start failure in the X server
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: unspecified
Hardware: Other All
: high normal
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
: 47734 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-03-21 07:22 UTC by guido
Modified: 2012-03-26 09:49 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
XOrg 1.12 with Synaptics driver 1.5.0 (working with bug) (33.79 KB, text/plain)
2012-03-22 05:45 UTC, guido
no flags Details
XOrg 1.12 with Synaptics driver 1.5.1 (server fails to start) (30.98 KB, text/plain)
2012-03-22 05:46 UTC, guido
no flags Details

Description guido 2012-03-21 07:22:04 UTC
Newly released synaptics driver 1.5.1 resolves the issue reported in:

- https://bugs.freedesktop.org/show_bug.cgi?id=44335 (XServer 1.11)

and

- https://bugs.freedesktop.org/show_bug.cgi?id=47498 (XServer 1.12)

but unfortunately, it seems to introduce a crash in the XServer (1.12):

[  1711.905] (II) XKB: Reusing cached keymap
[  1711.905] (II) Using input driver 'synaptics' for 'Mouse0'
[  1711.905] 	Option "Protocol" "auto-dev"
[  1711.905] 	Option "Device" "/dev/psaux"
[  1711.905] 	Option "CorePointer"
[  1711.905] 	Option "driver" "synaptics"
[  1711.905] 	Option "identifier" "Mouse0"
[  1711.905] (**) Option "CorePointer"
[  1711.905] (**) Mouse0: always reports core events
[  1711.905] (**) Option "Protocol" "auto-dev"
[  1711.905] (**) Option "Device" "/dev/psaux"
[  1711.936] (EE) synaptics: Mouse0: Synaptics driver unable to detect protocol
[  1711.937] (EE) PreInit returned 11 for "Mouse0"
[  1711.937] (II) UnloadModule: "synaptics"

...

[  1711.991] (II) XKB: Reusing cached keymap
[  1711.991] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event6)
[  1711.991] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[  1711.991] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[  1711.991] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"
[  1711.991] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[  1711.991] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad'
[  1711.991] 	Option "_source" "server/udev"
[  1711.991] 	Option "name" "SynPS/2 Synaptics TouchPad"
[  1711.992] 	Option "path" "/dev/input/event6"
[  1711.992] 	Option "device" "/dev/input/event6"
[  1711.992] 	Option "config_info" "udev:/sys/devices/platform/i8042/serio2/input/input6/event6"
[  1711.992] 	Option "driver" "synaptics"
[  1711.992] (**) SynPS/2 Synaptics TouchPad: always reports core events
[  1711.992] (**) Option "Device" "/dev/input/event6"
[  1712.054] (**) Option "Device" "/dev/input/event6"
[  1712.054] port opened successfully
[  1712.086] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5682
[  1712.086] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4692
[  1712.086] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[  1712.086] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 0
[  1712.086] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right double triple scroll-buttons
[  1712.086] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7
[  1712.118] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[  1712.118] (**) SynPS/2 Synaptics TouchPad: always reports core events
[  1712.150] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio2/input/input6/event6"
[  1712.150] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 12)
[  1712.150] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5
[  1712.150] (**) synaptics: SynPS/2 Synaptics TouchPad: MaxSpeed is now 1.75
[  1712.150] (**) synaptics: SynPS/2 Synaptics TouchPad: AccelFactor is now 0.037

So, in other words, subdirectory "test" of the newly released synaptics driver does not suffer the build problem due to header files, but X is unusable with 1.5.1.
Comment 1 guido 2012-03-21 07:33:06 UTC
If it helps, the relevant portions of xorg.conf are as follows:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "synaptics"
    Option         "Protocol" "auto-dev"
##    Option         "MatchIsTouchpad" "on"
##    Option         "MatchDevicePath" "/dev/input/event*"
#    Option         "Device" "/dev/input/mice"
    Option         "Device" "/dev/psaux"
EndSection
Comment 2 Peter Hutterer 2012-03-21 16:58:29 UTC
please attach your full Xorg.log from 1.11 and 1.12. Looking at the one change that may affect this behaviour between 1.5.0 and 1.5.1, I suspect that 1.5.0 already ignored this stint in the configuration and went to the fallback mode.

The snippet you posted here indicates that the xorg.conf entry fails but the touchpad is still picked up through the hotplugging mechanisms, so it should just work.
Comment 3 guido 2012-03-22 05:45:14 UTC
Created attachment 58864 [details]
XOrg 1.12 with Synaptics driver 1.5.0 (working with bug)

It's somewhat working but it's buggy as the mouse pointer is often getting reset to the top-left corner.
Comment 4 guido 2012-03-22 05:46:44 UTC
Created attachment 58865 [details]
XOrg 1.12 with Synaptics driver 1.5.1 (server fails to start)

It makes the X Server completely unusable, as it fails to start.
Comment 5 guido 2012-03-22 05:48:56 UTC
Peter, please forget X Server 1.11, as it is obsolete now and I do not have enough time to test on many versions. I have attached the complete logs for Synaptics 1.5.0 (working with bug) and 1.5.1 (fails to start) respectively.

It would be nice if you could have a look to see what's going on... Thanks.
Comment 6 Chí-Thanh Christopher Nguyễn 2012-03-22 15:40:41 UTC
Same problem here.

1.5.1 causes the X server to hang during start.

1.5.99.901 works fine.

1.5.0 + 7c0361d4ec6b1f1325cb6551d0ee2e7f5cfae15b + c861d4568c2c6cc56db8e683a8d7035bef711262 + a15af628154ac37f24896a30614f3be6ecdb65c4 + 9f9b55ab55ed5251c1607c59d8817231d076d82c works fine too.

So the problem seems to be caused by either 3356dcb8f20cbcff4c08ba6a856a6c8d41f659d7 or df427ef5cc45c33a4159b7852cd40da6f7cc4b94.

Will test more tomorrow.
Comment 7 Peter Hutterer 2012-03-22 17:43:39 UTC
*** Bug 47734 has been marked as a duplicate of this bug. ***
Comment 8 Peter Hutterer 2012-03-22 17:45:46 UTC
Bug 47654 showed what was wrong - missing function. I cherry-picked the patch to the synaptics-1.5-branch, please test 75550077e66cb8bdf15d6e1cf5b28f884f508fc5 so I can avoid releasing another broken version. Thanks
Comment 9 Paul Seidler 2012-03-22 19:41:13 UTC
You probably mean #47734 but anyway.
I can confirm that the problem with 1.5.0 from https://bugs.freedesktop.org/show_bug.cgi?id=47654#c3 is not going away with 1.5.1 (+latest patch) and xorg-server-1.12.
I currently use HEAD with xorg-server-1.12 respectively 1.5.1 with xorg-server-1.11.4 with no problems.
Comment 10 Peter Hutterer 2012-03-22 21:34:55 UTC
(In reply to comment #9)
> You probably mean #47734 but anyway.
> I can confirm that the problem with 1.5.0 from
> https://bugs.freedesktop.org/show_bug.cgi?id=47654#c3 is not going away with
> 1.5.1 (+latest patch) and xorg-server-1.12.
> I currently use HEAD with xorg-server-1.12 respectively 1.5.1 with
> xorg-server-1.11.4 with no problems.

sorry, I'm having real troubles parsing this. Do I get this right:
1.12 + 1.5-branch is still broken (cursor jump)
git master + server 1.12 is fine
1.5.1 with 1.11.4 is fine
Comment 11 guido 2012-03-23 03:19:36 UTC
If there is a simple way of building latest git or 1.5.99.x releases without having to install mtdev, then I might be able to carry out a quick test, to check that it does not crash the server upon starting up and to see if any of them solves the pointer jump bug...

Unless mtdev is really always needed, then it should probably be made optional through a build-time configuration option.
Comment 12 Paul Seidler 2012-03-23 03:22:53 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > You probably mean #47734 but anyway.
> > I can confirm that the problem with 1.5.0 from
> > https://bugs.freedesktop.org/show_bug.cgi?id=47654#c3 is not going away with
> > 1.5.1 (+latest patch) and xorg-server-1.12.
> > I currently use HEAD with xorg-server-1.12 respectively 1.5.1 with
> > xorg-server-1.11.4 with no problems.

Sorry for my bad english but you got it right.

Also the cursor moves (by default) slower maybe that's somehow related.
Comment 13 guido 2012-03-23 04:41:26 UTC
Going back to version 1.4.1 does not solve the bug of the pointer autonomously and randomly jumping back to the top-left corner during movement.
Comment 14 Chí-Thanh Christopher Nguyễn 2012-03-23 06:20:20 UTC
The pointer movement problem is unrelated to the hang. I think 7c0361d4ec6b1f1325cb6551d0ee2e7f5cfae15b fixed this in master. A new bug report would be best.
Comment 15 Paul Seidler 2012-03-23 06:56:38 UTC
> I think 7c0361d4ec6b1f1325cb6551d0ee2e7f5cfae15b fixed this in master.
Yeah, that's the fix for it, thanks!

> A new bug report would be best.
I'm no friend of bureaucracy and as all problems are solved (at least for me) it should be cherry-picked and it's time for 1.5.2 (imo).
Comment 16 Chí-Thanh Christopher Nguyễn 2012-03-23 07:17:20 UTC
It is usually not a good idea to conflate several issues in one bug.
I reported bug 47654 now.
Comment 17 Chí-Thanh Christopher Nguyễn 2012-03-23 07:18:11 UTC
Sorry, I meant bug 47770.
Comment 18 guido 2012-03-23 08:00:01 UTC
Yes, I confirm, the patch from commit id 7c0361d4ec6b1f1325cb6551d0ee2e7f5cfae15b fixes the pointer jump to the top-left corner:

http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/patch/?id=7c0361d4ec6b1f1325cb6551d0ee2e7f5cfae15b

However please note that compared to the previous XINPUT ABI, the sensitivity and acceleration seem very high/fast, so perhaps you might want to add some sort of attenuator ?

And yes, the pointer jump problem should be reported in a separate issue and perhaps a new release be made. It all started from another issue (build error in 1.5.0, see https://bugs.freedesktop.org/show_bug.cgi?id=47498), that's why the report looks now a bit messy if you had not followed up the whole story...
Comment 19 guido 2012-03-23 08:09:40 UTC
A separate bug has been filed for the pointer jump problem due to upgraded XINPUT ABI:

https://bugs.freedesktop.org/show_bug.cgi?id=47772

Therefore, this report is now exclusively devoted to the server startup crash with caused by xf86-input-synaptics-1.5.1 (+ XServer 1.12), as suggested by Chi-Thanh Christopher Nguyen.
Comment 20 Peter Hutterer 2012-03-25 17:43:12 UTC
(In reply to comment #11)
> Unless mtdev is really always needed, then it should probably be made optional
> through a build-time configuration option.

mtdev is needed for some multitouch devices, notably those that don't have ABS_MT_SLOT (protocol A devices). mtdev transparently wraps both protocol A and protocol B so we don't have to care about it. adding a bunch of ifdefs is painful to maintain so mtdev will likely stay around.
Comment 21 guido 2012-03-26 09:49:48 UTC
Fixed in version 1.5.2, along with https://bugs.freedesktop.org/show_bug.cgi?id=47770. Thanks.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.