Summary: | No touchpad found | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Rex Dieter <rdieter> |
Component: | kcm_touchpad | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ace, be.0, d.dan, damikope, danofsatx, facorread, hzwhuang, kevin.kofler, rajeeshknambiar, robby.engelmann |
Priority: | NOR | ||
Version: | 5.17.5 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/plasma-desktop/3f2e6bd31e0cd7355f95450cdc185e4d37ed2c16 | Version Fixed In: | 5.4.0 |
Sentry Crash Report: | |||
Attachments: |
Fix touchpad backend initialization
Fix touchpad backend initialization-v2 |
Description
Rex Dieter
2015-03-08 18:34:47 UTC
Could you check either xorg-x11-drv-libinput or xorg-x11-drv-synaptics is installed? This error message is given if none of the drivers could be found. Is the F22 alpha image available to test? I have synaptics (but no libinput), I'll retest after installing libinput driver. As far as f22 alpha goes, formal/public release will be in a couple of days, otherwise, you can use: http://alt.fedoraproject.org/pub/alt/stage/22_Alpha_RC3/Live/x86_64/ OK, It appears to work after I installed xorg-x11-drv-libinput (with xorg-x11-drv-synaptics also installed). I'll do more testing with different combinations. So this means the new libinput support code broke support for the legacy synaptics driver, right? (As I understand it, both drivers are supposed to work, so something's afoul.) removed xorg-x11-drv-libinput (and libinput), and cannot reproduce the original problem (it works now with only xorg-x11-drv-synaptics installed, and I do not get "No touchpad found" error.) Wierd. I vaguely remember similar issue. That was with xorg-x11-drv-libinput-0.3 version in F21, which had some bug. XlibBackend::initialize() looks for "libinput Tapping Enabled" Atom and instantiates XlibLibinputBackend if it finds, otherwise XlibSynapticsBackend instantiated. There was some issue with this Atom and wrong backend gets initialized. But that should be fixed already. OK, by "fixed already" you mean fixed in xorg-x11-drv-libinput ? If so, maybe we can just close this report then. Yes, fixed in xorg-x11-drv-libinput-0.4. But doesn't F22 have a higher version of the driver? This problem occurs when xorg-x11-drv-libinput is *not* installed, mind you. I and another user could reproduce it again today. Could you provide some debug information? Place breakpoints at XlibBackend::initialize(), XlibLibinputBackend::XlibLibinputBackend(), XlibSynapticsBackend::XlibSynapticsBackend() and XlibBackend::findTouchpad() in src/backend/x11/xlibbackend.cpp and check with xatom/condition is failing? I've not used gdb for much else than getting backtraces before, I'll probably need some hand-holding here. I'll go ask around, and get back to you. same here with plasma 5.2.95 in openSuse. xf86-input-synaptics 1.8.2 installed xf86-input-libinput 0.8.0 installed xf86-input-synaptics 1.8.2 installed libinput10 0.13 installed libinput-udev 0.13 installed Here is the steps to help with debugging: 1 debuginfo-install kcm_touchpad (or equivalent in non-Fedora systems) 2 gdb kcmshell5 3 b XlibSynapticsBackend::XlibSynapticsBackend(QObject *) 4 b XlibLibinputBackend::XlibLibinputBackend(QObject *) 5 b XlibBackend::initialize(QObject *) 6 r kcm_touchpad 8 (Inspect libinput_prop_tapping.atom(), condition at src/backends/x11/xlibbackend.cpp:326) Based on the condition at step 8, either Libinput driver or Synaptics driver is instantiated. If both are installed, Libinput should be instantiated. Please check these and let me know if you need additional help. The problem persists here after I upgraded to Plasma 5.3.0. Fedora 22, Plasma 5.3.0. It was okay when xorg-x11-drv-libinput was there. but after I removed it and had my laptop restarted, it complains "No touchpad found". Note I can confirm xorg-x11-drv-synaptics is already installed. Could you try to nuke the config and check if the issue is still reproducible? $ rm -f ~/.config/touchpadrc logout, login back. (In reply to Rajeesh K Nambiar from comment #16) > Could you try to nuke the config and check if the issue is still > reproducible? > $ rm -f ~/.config/touchpadrc > logout, login back. No it doesn't work. The issue persists. Arch, Plasma 5.3, doesn't work either; Edit to #18: fixed by installing xf86-input-libinput Edit to the last two: well, it kind of works, but just a few options (I cannot change speed, buttons and so on and so forth), so it is definitely not fixed. FYI, libinput has less features than (classic) synaptics, so it is expected that some features are not (yet) supported. First, there is no kcm_touchpad in Plasma 5. The correct command to get the debug packages installed is: sudo debuginfo-install plasma-desktop Following the steps in Comment 14, no useful output is produced on a system that has xorg-x11-drv-synaptics-1.8.2-2.fc22.x86_64 installed, but no xorg-x11-drv-libinput package installed. I will attempt again after reinstalling the libinput driver. [dan@g55 ~]$ gdb kcmshell5 GNU gdb (GDB) Fedora 7.9.1-13.fc22 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from kcmshell5...Reading symbols from /home/dan/kcmshell5...(no debugging symbols found)...done. (no debugging symbols found)...done. Missing separate debuginfos, use: dnf debuginfo-install kde-cli-tools-5.3.1-2.fc22.x86_64 (gdb) b XlibSynapticsBackend::XlibSynapticsBackend(QObject *) Function "XlibSynapticsBackend::XlibSynapticsBackend(QObject *)" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (XlibSynapticsBackend::XlibSynapticsBackend(QObject *)) pending. (gdb) b XlibLibinputBackend::XlibLibinputBackend(QObject *) Function "XlibLibinputBackend::XlibLibinputBackend(QObject *)" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 2 (XlibLibinputBackend::XlibLibinputBackend(QObject *)) pending. (gdb) b XlibBackend::initialize(QObject *) Function "XlibBackend::initialize(QObject *)" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 3 (XlibBackend::initialize(QObject *)) pending. (gdb) r kcm_touchpad Starting program: /usr/bin/kcmshell5 kcm_touchpad [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffdcc56700 (LWP 12634)] Breakpoint 3, XlibBackend::initialize (parent=parent@entry=0x0) at ../../../../kcms/touchpad/src/backends/x11/xlibbackend.cpp:320 320 { (gdb)(gdb) c Continuing. Breakpoint 2, XlibLibinputBackend::XlibLibinputBackend (this=0x889090, parent=0x0) at ../../../../kcms/touchpad/src/backends/x11/xlibbackend.cpp:271 271 XlibLibinputBackend::XlibLibinputBackend(QObject *parent) : (gdb) c Continuing. [Thread 0x7fffdcc56700 (LWP 12634) exited] [Inferior 1 (process 12628) exited normally] With xorg-x11-drv-libinput-0.11.0-1.fc22.x86_64 installed. Touchpad is found, but unconfigurable. (gdb) r kcm_touchpad Starting program: /usr/bin/kcmshell5 kcm_touchpad [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffdcc56700 (LWP 3902)] Breakpoint 3, XlibBackend::initialize (parent=parent@entry=0x0) at ../../../../kcms/touchpad/src/backends/x11/xlibbackend.cpp:320 320 { (gdb) c Continuing. Breakpoint 2, XlibLibinputBackend::XlibLibinputBackend (this=0x886d60, parent=0x0) at ../../../../kcms/touchpad/src/backends/x11/xlibbackend.cpp:271 271 XlibLibinputBackend::XlibLibinputBackend(QObject *parent) : (gdb) c Continuing. [Thread 0x7fffdcc56700 (LWP 3902) exited] [Inferior 1 (process 3898) exited normally] (gdb) Thanks for debugging attempt, but simply continuing steps wouldn't help :-) I was able to reproduce this issue today and debug the case and now we have a possible cause to chase, with upstream. Could you folks verify the output of "xlsatoms | grep -i tap" with just synaptics driver installed (i.e, without libinput driver)? You may need to install xorg-x11-utils package. with only synaptics (on my fedora 22 x86_64 laptop): $ xlsatoms | grep -i tap 256 Synaptics Tap Time 257 Synaptics Tap Move 258 Synaptics Tap Durations 270 Synaptics Tap Action 551 libinput Tapping Enabled *** Bug 348328 has been marked as a duplicate of this bug. *** Same thing on my Sabayon x86_64 laptop, with only x11-drivers/xf86-input-synaptics-1.8.2 installed; $ xlsatoms | grep -i tap 270 Synaptics Tap Time 271 Synaptics Tap Move 272 Synaptics Tap Durations 284 Synaptics Tap Action 518 libinput Tapping Enabled $ kcmshell5 --version kcmshell5 5.3.90 I have a potential fix. Fedora users please update the plasma-desktop package from the build here and report if it fixes the issue - http://koji.fedoraproject.org/koji/taskinfo?taskID=10197551 Created attachment 93325 [details]
Fix touchpad backend initialization
Patch against 5.3.1, fixing touchpad driver backend initialization.
Created attachment 93326 [details]
Fix touchpad backend initialization-v2
Updated patch.
Please try this patch and verify if it fixes the issue.
(In reply to Rajeesh K Nambiar from comment #28) > I have a potential fix. Fedora users please update the plasma-desktop > package from the build here and report if it fixes the issue - > http://koji.fedoraproject.org/koji/taskinfo?taskID=10197551 Installing that package, removing xorg-x11-drv-libinput, and installing xorg-x11-drv-synaptics solved the issue. I can customize all the touchpad settings in the Control Panel again. Thank you. Git commit 3f2e6bd31e0cd7355f95450cdc185e4d37ed2c16 by Rajeesh K Nambiar. Committed on 27/06/2015 at 11:58. Pushed by knambiar into branch 'master'. Fix touchpad backend initialization. Libinput driver, even when unistalled was leaving 'Libinput Tapping Enabled' atom active (xlsatoms | grep -i tap). Mutter/Clutter/Gtk+ were causing this, as noted in https://bugzilla.redhat.com/show_bug.cgi? id=1199825. This caused the non-existent libinput backend initialization resulting in 'No touchpad found' error even when synaptics driver was installed. Fix this by checking backend instantiation errors. Related: bug 349214 REVIEW: 124172 FIXED-IN: 5.4.0 M +13 -7 kcms/touchpad/src/backends/x11/xlibbackend.cpp http://commits.kde.org/plasma-desktop/3f2e6bd31e0cd7355f95450cdc185e4d37ed2c16 Will this be in a bugfix 5.3.x release before Fedora 23? This changes adds a couple of error messages requiring translations, so it will be available in 5.4.0 release. |