FS#41589 - [xf86-input-synaptics] 1.8.0-3 breaks functionality

Attached to Project: Arch Linux
Opened by Charles Bos (Chazza) - Sunday, 17 August 2014, 15:19 GMT
Last edited by Laurent Carlier (lordheavy) - Friday, 22 August 2014, 21:17 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Laurent Carlier (lordheavy)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 9
Private No

Details

Description:
After updating to xf86-input-synaptics 1.8.0-3 touchpad functionality on my laptop is broken. The mouse cursor shows up on the centre of the screen but it cannot be moved with the touchpad. For the touchpad to work I have to downgrade to 1.8.0-2

My touchpad is an ETPS/2 Elantech Touchpad


Additional info:
* package version(s)
xf86-input-synaptics 1.8.0-3


Steps to reproduce:
Upgrade to xf86-input-synaptics 1.8.0-3
This task depends upon

Closed by  Laurent Carlier (lordheavy)
Friday, 22 August 2014, 21:17 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See comments
Comment by Laurent Carlier (lordheavy) - Sunday, 17 August 2014, 15:41 GMT
Can you provide the output of Xorg.0.log ?

Please note that in case of modified synaptics config file in /etc/X11/xorg.conf.d/ , you'll probably have to rename it and remove .backup suffix
Comment by Doug Newgard (Scimmia) - Sunday, 17 August 2014, 16:05 GMT
Did you have to customize 50-synaptics.conf do get it to work before? The file has moved.
Comment by Charles Bos (Chazza) - Sunday, 17 August 2014, 18:15 GMT
Hi there.

@Laurent here's my Xorg.0.log: http://pastebin.com/raw.php?i=4pKa28Cm

@Doug No I've never had to customise 50-synaptics.conf to get the touchpad to work before. It was as simple as 'install and it works.'
Comment by Anton (marlock) - Monday, 18 August 2014, 08:03 GMT
I have the same problem. Renaming 50-synaptics.conf.pacsave doesn't solve it. Only solution is downgrade to 1.8.0-2. My laptop is Lenovo Thinkpad E440.
Xorg.0.log: http://pastebin.com/hYAn0Gs7
Comment by Laurent Carlier (lordheavy) - Monday, 18 August 2014, 09:53 GMT
Can you provide Xorg log with 1.8.0-2 too ?
Comment by Anton (marlock) - Monday, 18 August 2014, 10:00 GMT
Xorg.0.log with 1.8.0-2: http://pastebin.com/W1fAmdQZ
Comment by Charles Bos (Chazza) - Monday, 18 August 2014, 11:07 GMT
My Xorg.0.log with 1.8.0-2: http://pastebin.com/raw.php?i=FH5aJr82
Comment by kurych (kurych) - Monday, 18 August 2014, 13:52 GMT
In packet xf86-input-synaptics 1.8.0-3 file 50-synaptics.conf was moved from /etc/X11/xorg.conf.d/ to /usr/share/X11/xorg.conf.d/. I have moved this config file back, and synaptics works right now fine.
Comment by Anton (marlock) - Monday, 18 August 2014, 15:31 GMT
OK, I solved it.
The problem is this section in /usr/share/X11/xorg.conf.d/50-synaptics.conf:
Section "InputClass"
Identifier "Default clickpad buttons"
MatchDriver "synaptics"
Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
Option "SecondarySoftButtonAreas" "58% 0 0 8% 42% 58% 0 8%"
EndSection

Just comment this section and all will be fine! In /etc/X11/xorg.conf.d/ I left only 50-synaptics.conf.pacsave.
Comment by Andrejs Mivreņiks (gim) - Monday, 18 August 2014, 17:56 GMT
@Anton, didn't work for me. Downgrading for now. This should be fixed fastly though, not good.
Comment by jstjohn (jstjohn) - Monday, 18 August 2014, 19:54 GMT
After upgrading from 1.8.0-2 to 1.8.0-3, my touchpad stopped working.

Here's the beginning of my Xorg log file: http://pastebin.com/raw.php?i=1CkE2Fha
Here is the partial output of my Xorg log file showing the backtraces: http://pastebin.com/raw.php?i=sEgmckki

The first part (about being "unable to find touch point 0") was repeated a couple hundred times so I removed most of it, and there were probably 20 backtraces that all appeared identical.

I will try copying 50-synaptics.conf to /etc/X11/xorg.conf.d/ and report back.

EDIT: Copying /usr/share/X11/xorg.conf.d/50-synaptics.conf to /etc/X11/xorg.conf.d/50-synaptics.conf fixed my touchpad. Thanks kurych!

@the package maintainer: Should we symlink /etc/X11/xorg.conf.d/50-synaptics.conf to /usr/share/X11/xorg.conf.d/50-synaptics.conf instead of copying the file?
Comment by Laurent Carlier (lordheavy) - Monday, 18 August 2014, 20:06 GMT
@jstjohn

the warning about "unable to find touch point 0" should probably be fixed with http://cgit.freedesktop.org/xorg/driver/xf86-input-evdev/commit/?id=8ce06c96e469139bb12065d80fe4abb6173e2855
Comment by Laurent Carlier (lordheavy) - Monday, 18 August 2014, 20:28 GMT
@jstjohn

Can you test xf86-input-evdev package here: http://pkgbuild.com/~lcarlier/test/ ?
Comment by kurych (kurych) - Wednesday, 20 August 2014, 08:12 GMT
I tried to test xf86-input-evdev 2.9.0-2.1 from your source. It did not resolve issue with original xf86-input-synaptics 1.8.0-3.
Only relocation file 50-synaptics.conf into /etc/X11/xorg.conf.d/ solves the problem for me.
Comment by Christian Tenorio (kristian.tenorio) - Thursday, 21 August 2014, 06:01 GMT
"Copying /usr/share/X11/xorg.conf.d/50-synaptics.conf to /etc/X11/xorg.conf.d/50-synaptics.conf fixed my touchpad." (jstjohn)

I also had the same problem and temporarily downgraded to 1.8.0-2, but copying this file fixed the problem. I previously only had the 10-evdev.conf file in /etc/X11/xorg.conf.d, but now have them both. I don't know exactly why the touchpad doesn't work automagically without this 50-synaptics.conf file. Just hope it works like that again in future versions.
Comment by Chris Berkhout (chrisberkhout) - Thursday, 21 August 2014, 06:38 GMT
"Copying /usr/share/X11/xorg.conf.d/50-synaptics.conf to /etc/X11/xorg.conf.d/50-synaptics.conf fixed my touchpad." - me too
Comment by Doug Newgard (Scimmia) - Thursday, 21 August 2014, 14:37 GMT
Mabe the 10-evdev.conf in /etc that kristian.tenorio mentioned is the problem?
https://bbs.archlinux.org/viewtopic.php?id=186009
xorg-server currently puts that file in /usr/share/X11/xorg.conf.d/, so you're overriding it by having one in /etc/X11/xorg.conf.d
Comment by Charles Bos (Chazza) - Thursday, 21 August 2014, 14:47 GMT
@Doug Great shout! I tried renaming /etc/X11/xorg.conf.d/10-evdev.conf to 10-evdev.conf.bak and now the touchpad works just fine with xf86-input-synaptics 1.8.0-3.
Comment by kurych (kurych) - Thursday, 21 August 2014, 15:17 GMT
Delete 10-evdev.conf from /etc/X11/ is not the solution! For example, I need this alternative configuration file to be able to switch a keyboard layout to the cyrillic (or any local layout).
Comment by Doug Newgard (Scimmia) - Thursday, 21 August 2014, 15:28 GMT
Maybe not the solution, but it helps point to where the problem is. What is the difference between your 10-evdev.conf and the one installed in /usr/share?
Comment by kurych (kurych) - Thursday, 21 August 2014, 15:40 GMT
@Doug Newgard: "What is the difference between your 10-evdev.conf and the one installed in /usr/share?"

There are Just some, but important for me, strings:

$ diff /usr/share/X11/xorg.conf.d/10-evdev.conf /etc/X11/xorg.conf.d/10-evdev.conf
1,2c1
< #
< # Catch-all evdev loader for udev-based systems
---
> # Catchall classes for input devices
18a18,24
> # Keyboard layouts
> Option "XkbLayout" "us, ru"
> Option "XkbVariant" ", winkeys"
> # Option "XkbOptions" "grp:alt_shift_toggle, grp_led:scroll, terminate:ctrl_alt_bksp"
> # Option "XkbOptions" "grp:lwin_toggle,grp_led:caps"
> Option "XkbOptions" "grp:toggle,grp_led:caps"
> Option "XkbModel" "thinkpad60"
Comment by Charles Bos (Chazza) - Thursday, 21 August 2014, 15:46 GMT
@kurych You don't need the 10-evdev.conf file to specify non US keyboard layouts. Just create the following file /etc/X11/xorg.conf.d/10-keyboard.conf

With this text:

Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "gb"
EndSection

Obviously, changing "gb" to the correct code for the Russian layout and adding any extra options necessary.

See the following for more info: https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg#Using_X_configuration_files

Hope this helps.
Comment by Chris Berkhout (chrisberkhout) - Thursday, 21 August 2014, 16:12 GMT
Is it right that...
files from /usr/share/X11/xorg.conf.d/ are always loaded to provide default settings and
files from /etc/X11/xorg.conf.d/ are also always loaded, to override default settings if necessary?

It seems like the problem is that 50-synaptics.conf is failing to be loaded from /usr/share/X11/xorg.conf.d/.

I don't see why a 10-evdev.conf under /etc should cause problems if it's the same as the /usr/share one, or why varying config in /etc/X11/xorg.conf.d/10-evdev.conf would be different to doing it in /etc/X11/xorg.conf.d/10-keyboard.conf.
Comment by kurych (kurych) - Thursday, 21 August 2014, 16:13 GMT
OK, Charles. Trick with 10-keyboard work fine and allows to get rid of 10-evdev.conf in /etc/X11/xorg.conf.d/. That returns functionality of my touchpad. Thus, the above solution can be considered correct. Thanks!
But the question posed by Chris Berkhout, requires a response too.
Comment by Laurent Carlier (lordheavy) - Thursday, 21 August 2014, 16:24 GMT
X reads configuration from both /usr/share and /etc, with your configuration file from /etc you override configuration files from /usr/share

It's not a packaging bug, but the result of old configuration files.
Comment by Chris Berkhout (chrisberkhout) - Thursday, 21 August 2014, 16:34 GMT
Thanks @lordheavy, but I'm still confused because copying 50-synaptics.conf (unmodified) from /usr/share to /etc made it work.
I have 10-evdev.conf in both dirs, but the only difference is keyboard config.

Is the problematic old config file the /usr/share/X11/xorg.conf.d/10-evdev.conf? If so, shouldn't the package remove, rename or at least warn about it?
Comment by Charles Bos (Chazza) - Thursday, 21 August 2014, 16:39 GMT
@Chris I think the problem is this: if 10-evdev.conf from /etc is loaded then it is expected that 50-synpatics.conf will also be in /etc. As 50-synaptics.conf is not in /etc as of 1.8.0-3 then no configuration for the touchpad will be loaded.

With the 10-evdev.conf in /etc deleted, the 10-evdev.conf and 50-synaptics.conf in /usr/share will be loaded.

@kurych Glad that's working for you.
Comment by Laurent Carlier (lordheavy) - Friday, 22 August 2014, 21:16 GMT
X reads first configuration in /usr/share/X11/xorg.conf.d then /etc/X11/xorg.conf.d

When you copy 10-evdev.conf file into /etc/X11 you completly override previous system configuration. It's the reason copying synaptics configuration file into /etc/X11 fixes the issue
Defining default system configuration in /etc/X11 with previous xorg was a mistake, now it's fixed.
Wiki should be fixed. It's not a packaging bug, but a configuration bug.

Loading...