[libinput] Git-Bisect - Keyboard and Touchpad not accessable

regression
git-bisect
#1

Hi Community,

seems some of our members have issues with the keyboard after updating to libinput v1.9.1. This mostly happens when having linux49 installed as running kernel.

Therefore a lot of bugs got created:

https://bbs.archlinux.org/viewtopic.php?id=231455
https://bugs.freedesktop.org/show_bug.cgi?id=103561
https://bugs.archlinux.org/task/56207?project=1&cat[0]=2&string=libinput

What we found out so far:

Either downgrade to libinput 1.8.3 or blacklist module hp_wmi if you have issues with the keyboard or touchpad.

However, I can say the Spitfire is not affected by this. Since we had to create a new stable ISO we only had tested it on that hardware and our development machines.

Also there was no issue reported, when we added it to testing branch …

We have now created the following packages additional:

  • libinput-1.8: which includes the current v1.8 series with v1.8.4
  • libinput-git: which got updated to the current latest release available

If you are affected by this and willing to help out, you may do a git-bisect. Therefore you checkout the git repo and get some git commit values you may then test with following PKGBUILD:

pkgname=libinput
_pkgname=libinput
_commit=PLACE_GIT_COMMIT_SHA_HERE
pkgver=1.8.x
pkgrel=1
pkgdesc="Input device management and event handling library"
url="https://www.freedesktop.org/wiki/Software/libinput/"
arch=(i686 x86_64)
license=(custom:X11)
depends=('mtdev' 'systemd' 'libevdev' 'libwacom')
makedepends=('doxygen' 'graphviz' 'gtk3' 'meson' 'git')
optdepends=('gtk3: libinput debug-gui'
            'python-pyudev: libinput measure'
            'python-evdev: libinput measure')
provides=("libinput=$pkgver")
conflicts=('libinput')
source=(git://anongit.freedesktop.org/wayland/libinput)
sha1sums=('SKIP')

pkgver() {
  cd $_pkgname
  git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
}

build() {
	cd libinput
	meson build --prefix=/usr \
	      --buildtype=release \
	      --libexecdir=/usr/lib \
	      -Dtests=false
	ninja -C build
}

check() {
	cd libinput/build
	mesontest
}

package() {
	cd libinput
	DESTDIR="$pkgdir" ninja -C build install

	install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}

Paste me the offending commit. You may start with 401728a1574ef886ddb7fa19cd8ed196420d7931 which is v1.8.0.

6 Likes
Keyboard not working after upgrading system
Laptop not working anymore?
Touchpad issue on a laptop
[Stable Update] 2017-11-04 - Kernels, Gnome, Deepin, Mate, Mesa, Libreoffice
Dell XPS-15 Laptop's Touchpad config problem
[Stable Update] 2017-11-04 - Kernels, Gnome, Deepin, Mate, Mesa, Libreoffice
Touchpad issue on a laptop
[Testing Update] 2017-11-06 - Nvidia, MSM, AMDGPU, Deepin
[Stable Update] 2017-11-04 - Kernels, Gnome, Deepin, Mate, Mesa, Libreoffice
[Stable Update] 2017-11-04 - Kernels, Gnome, Deepin, Mate, Mesa, Libreoffice
[Testing Update] 2017-11-06 - Nvidia, MSM, AMDGPU, Deepin
Deepin - Laptop function keys and keyboard shortcuts flakey
Thinkpad T450 Track Point hard to control
#2

Here are some package for general testing:

v1.8.3
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.8.3-1-$(uname -m).pkg.tar.xz

v1.8.4
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.8.4-1-$(uname -m).pkg.tar.xz

v1.9.0
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.9.0-1-$(uname -m).pkg.tar.xz

v1.9.1
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.9.1-1-$(uname -m).pkg.tar.xz

v1.9.1.r14.gaaded3d
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.9.1.r14.gaaded3d-1-$(uname -m).pkg.tar.xz

v1.9.1.r19.gcad73f4
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.9.1.r19.gcad73f4-1-$(uname -m).pkg.tar.xz

Please tell us which are working and which not.

6 Likes
Keyboard not working after upgrading system
ATI Graphics card drivers - how to
Touchpad being detected as Logitech PS/2 Wheel Mouse
#3

How many people affected by this?

Second issue in stable after no test issues for any testing branch users, first SDDM now libinput.

Most testing branch users are on either 4.13 or 4.14 kernel, which could at least explain the libinput issue not being caught.

2 Likes
#4

Well, I’m on 4.9, have an HP and haven’t been affected either from SDDM nor libinput issues. I must congratulate @philm by the way these issues are being handled. It may not be the best/easier way to deal with it from a management point of view, but it certainly is easier for the user base not very technically oriented.

5 Likes
#5

I do not have a HP notebook - but I usually boot at least once into the last (current) LTS kernel and than switch to the latest (as soon as it is working for me). - and I was not affected by the last two problems that slipped through into stable.

So atm I am testing 4.9 and running 4.14 daily - further more I am one of the view (it seems) with full disk encryption, thus we caught (luckily it wasn’t me who was first) that mkinitcpio problem.

#6

I am affected by the problem, but unfortunately, the laptop is the main home computer… So I can not do the tests without risk of my family exiling me to the garage!! :grin: I’m sorry… :smirk:

Luckily the kernel 4.13 allows me to continue using my HP G62 laptop.

1 Like
#7

Me too. I try linux49 every now and then to see f has issues.

1 Like
#8

For testing I booted my amd netbook (xfce) with kernel 4.9 and got this “nsdelegate” error too. But system boots and works.

Edit: Same on lenovo, intel i3 2367m.

#9

I got the issue when I updated yesterday, I have a Compaq (from HP) laptop with the 4.4.96 kernel as from the 4.9 kernels I had some ACPI error messages. Anyway, I could solve it by connecting a USB keyboard and downgrade libinput to 1.8 version.

(Another subject: I also finally upgraded to kernel 4.13 which still showed me an ACPI error message refraining me from updating. About this, I blacklisted the module involved in the issue (sp5100_tco) as I could find on some posts, and the error messages disappeared and were replaced by other ones -_- I do not know what is best as I may have disabled Watchdog, I have not heard about it before and hope it is not that important, maybe it was already disabled when the first ACPI messages showed up.)

1 Like
#10

My both HP Laptops are concerned. too running 4.9. kernel

#11

The results of the testing philm requested is as follows:

1.83 : good
1.84 : good
1.90 : bad
1.91 : bad
1.91.r14 : bad

Note: Only the keyboard was not working. The touch pad worked on all versions of libinput listed above.

System:    Host: gazmo Kernel: 4.9.60-1-MANJARO x86_64 bits: 64 Desktop: KDE Plasma 5.11.2 Distro: Manjaro Linux
Machine:   Device: laptop System: Hewlett-Packard product: HP Pavilion dv7 Notebook PC v: 068C210002204710000622100 serial: N/A
           Mobo: Hewlett-Packard model: 1802 v: 10.56 serial: N/A BIOS: Hewlett-Packard v: F.13 date: 12/05/2011
Battery    BAT0: charge: 95.7 Wh 100.0% condition: 95.7/98.2 Wh (97%)
CPU:       Quad core Intel Core i7-2670QM (-HT-MCP-) cache: 6144 KB
           clock speeds: max: 3100 MHz 1: 983 MHz 2: 801 MHz 3: 826 MHz 4: 805 MHz 5: 833 MHz 6: 876 MHz
           7: 996 MHz 8: 856 MHz
Graphics:  Card: Intel 2nd Generation Core Processor Family Integrated Graphics Controller
           Display Server: x11 (X.Org 1.19.5 ) driver: intel Resolution: 1600x900@60.12hz, 1920x1200@59.95hz
           OpenGL: renderer: Mesa DRI Intel Sandybridge Mobile version: 3.3 Mesa 17.2.4
Audio:     Card Intel 6 Series/C200 Series Family High Definition Audio Controller driver: snd_hda_intel
           Sound: Advanced Linux Sound Architecture v: k4.9.60-1-MANJARO
Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller driver: r8169
           IF: eno1 state: up speed: 1000 Mbps duplex: full mac: 08:2e:5f:86:75:b3
           Card-2: Intel Centrino Wireless-N + WiMAX 6150 driver: iwlwifi
           IF: wlo1 state: down mac: 06:b0:5e:34:99:5d
           WAN IP: 199.249.230.32
           IF: enp0s29u1u5 ip-v4: N/A ip-v6-link: N/A
           IF: tun0 ip-v4: 10.4.12.40 ip-v6-link: fe80::3cbc:a41f:44f4:5be6
           IF: wlo1 ip-v4: N/A ip-v6-link: N/A
           IF: eno1 ip-v4: 192.168.1.89 ip-v6-link: fe80::a2e:5fff:fe86:75b3
Drives:    HDD Total Size: 750.2GB (8.1% used)
           ID-1: /dev/sda model: TOSHIBA_MK7575GS size: 750.2GB
Partition: ID-1: / size: 587G used: 57G (11%) fs: ext4 dev: /dev/sda5
           ID-2: swap-1 size: 0.02GB used: 0.00GB (0%) fs: swap dev: /dev/sda6
Sensors:   System Temperatures: cpu: 52.0C mobo: N/A
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 217 Uptime: 9 min Memory: 1487.1/7935.5MB Client: Shell (bash) inxi: 2.3.43
7 Likes
#12

@mezzo: If you’re willing to test it on your system by doing a git-bisect it would help everybody. So I try to explain it to you in simple words:

First save the following as PKGBUILD in a folder you may call build to do the tests:

pkgname=libinput
_pkgname=libinput
_commit=PLACE_GIT_COMMIT_SHA_HERE
pkgver=1.8.x
pkgrel=1
pkgdesc="Input device management and event handling library"
url="https://www.freedesktop.org/wiki/Software/libinput/"
arch=(i686 x86_64)
license=(custom:X11)
depends=('mtdev' 'systemd' 'libevdev' 'libwacom')
makedepends=('doxygen' 'graphviz' 'gtk3' 'meson' 'git')
optdepends=('gtk3: libinput debug-gui'
            'python-pyudev: libinput measure'
            'python-evdev: libinput measure')
provides=("libinput=$pkgver")
conflicts=('libinput')
source=(git://anongit.freedesktop.org/wayland/libinput)
sha1sums=('SKIP')

pkgver() {
  cd $_pkgname
  git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
}

build() {
	cd libinput
	meson build --prefix=/usr \
	      --buildtype=release \
	      --libexecdir=/usr/lib \
	      -Dtests=false
	ninja -C build
}

check() {
	cd libinput/build
	mesontest
}

package() {
	cd libinput
	DESTDIR="$pkgdir" ninja -C build install

	install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}

Then install git and base-devel group on your machine: sudo pacman -S git base-devel

That done you’re ready to start a git-bisect procedure. In a folder you like to be your base issue git clone git://anongit.freedesktop.org/git/wayland/libinput. Then change into that directory with cd libinput. Remember to have the libinput folder not within the build folder. Those have to be separate, else you may get problems with creating the package.

Now we have to start the git-bisect procedure with git bisect start. Since we know that the current version is bad we tell that git-bisect with git bisect bad. Then we say that v1.8.4 is known to be good with git bisect good 1.8.4.

This results in:

Bisecting: a merge base must be tested
[401728a1574ef886ddb7fa19cd8ed196420d7931] configure.ac: libinput 1.8.0

Now we replace PLACE_GIT_COMMIT_SHA_HERE with 401728a1574ef886ddb7fa19cd8ed196420d7931 in our PKGBUILD and build that package with makepkg -is.

Reboot your PC and test if it works. If so you go back to the libinput folder you do the git-bisect and tell it with git bisect good. Then the procedure generates a new shasum you may test with given PKGBUILD by changing _commit value to the new shasum. Repeat it as long as needed. Post the first bad commit and we may check with upstream what the issue might be.

You may check my log of a kernel git-bisect to compare your effort.

6 Likes
Laptop not working anymore?
#13

Kernel running before update 4.4.96

System
HP Elitebook 840 G2
Intel core i5-5300U 2.30GHz
15.6 GiB RAM
Current running kernel
4.9.60-1-MANJARO #1 SMP PREEMPT Thu Nov 2 13:08:20 UTC 2017 x86_64 GNU/Linux

pacman -Q libinput
libinput 1.9.1-1

No issue with KB or touchpad after upgrade/update. Package did not have to be held back on my system.

#14

sudo pacman -S base-devel gives me:
:: There are 26 members in group base-devel:
:: Repository core

  1. autoconf 2) automake 3) binutils 4) bison 5) fakeroot 6) file 7) findutils 8) flex 9) gawk 10) gcc 11) gettext 12) grep
  2. groff 14) gzip 15) libtool 16) m4 17) make 18) pacman 19) patch 20) pkg-config 21) sed 22) sudo 23) systemd 24) texinfo
  3. util-linux 26) which

Enter a selection (default=all): all
error: invalid number: all

Enter a selection (default=all):
warning: autoconf-2.69-4 is up to date – reinstalling
warning: automake-1.15.1-1 is up to date – reinstalling
warning: binutils-2.29.1-1 is up to date – reinstalling
warning: bison-3.0.4-3 is up to date – reinstalling
warning: fakeroot-1.22-1 is up to date – reinstalling
warning: file-5.32-1 is up to date – reinstalling
warning: findutils-4.6.0-2 is up to date – reinstalling
warning: flex-2.6.4-1 is up to date – reinstalling
warning: gawk-4.1.4-2 is up to date – reinstalling
warning: gettext-0.19.8.1-2 is up to date – reinstalling
warning: grep-3.1-1 is up to date – reinstalling
warning: groff-1.22.3-7 is up to date – reinstalling
warning: gzip-1.8-2 is up to date – reinstalling
warning: libtool-2.4.6+40+g6ca5e224-1 is up to date – reinstalling
warning: m4-1.4.18-1 is up to date – reinstalling
warning: make-4.2.1-2 is up to date – reinstalling
warning: pacman-5.0.2-2 is up to date – reinstalling
warning: patch-2.7.5-1 is up to date – reinstalling
warning: pkg-config-0.29.2-1 is up to date – reinstalling
warning: sed-4.4-1 is up to date – reinstalling
warning: sudo-1.8.21.p2-1 is up to date – reinstalling
warning: systemd-235.38-1 is up to date – reinstalling
warning: texinfo-6.5-1 is up to date – reinstalling
warning: util-linux-2.31-1 is up to date – reinstalling
warning: which-2.21-2 is up to date – reinstalling
resolving dependencies…
looking for conflicting packages…
:: gcc and gcc-multilib are in conflict. Remove gcc-multilib? [y/N] N
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: gcc and gcc-multilib are in conflict

Should I replace gcc-multilib with gcc ?

1 Like
#15

Never mind…gcc-multi-lib provides gcc

#16

Performed one build and marked it bad with the following results:

The merge base 401728a1574ef886ddb7fa19cd8ed196420d7931 is bad.
This means the bug has been fixed between 401728a1574ef886ddb7fa19cd8ed196420d7931 and [48e54894b32bac2eb4ecd87b99d12d7a31287d5d].

Let me know if there is anything else I can do.

Thanks.

1 Like
#17

@mezzo: you told me that v1.8.x series is fine. Now you tell me that even v1.8.0 is bad and therefore not working. Please test v1.8.0 on your end:

sudo pacman -U https://archive.archlinux.org/packages/l/libinput/libinput-1.8.0-1-$(uname -m).pkg.tar.xz

If it works please, start a new git-bisect:

cd libinput
git bisect reset
git bisect start
git bad
git good v1.8.0

v1.8.0 is commit 401728a1574ef886ddb7fa19cd8ed196420d7931.

#18

Please test if the newer build also works now:

v1.9.1.r19.gcad73f4
sudo pacman -U https://downloads.sourceforge.net/manjarodev/libinput-1.9.1.r19.gcad73f4-1-$(uname -m).pkg.tar.xz

#19

This version is not working.

Device: laptop System: HP product: OMEN by HP Laptop v: Type1ProductConfigId serial: N/A
           Mobo: HP model: 8257 v: 82.34 serial: N/A UEFI: Insyde v: F.38 date: 05/24/2017
#20

Hi,
so we need more testing users?, or a better way of testing a wider range of hardware?