'Apple touchpad bcm5974' unresponsive after "palm: touch size exceeded" on 'Apple MacBookPro5,4 (mid 2009)' with 1.10.4 (Ubuntu 18.04), worked fine with 1.8.2 (Ubuntu 17.10)

Bug #1764097 reported by Mario Vukelic
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
libinput
Fix Released
Medium
libinput (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Report originally created by following https://wiki.ubuntu.com/DebuggingTouchpadDetection#In_case_at_least_one_of_the_Touchpad_features_work.2C_but_does_not_work_correctly_and_as_expected

Touchpad worked perfectly in Ubuntu 17.10, with libinput 1.8.2.

After upgrading to 18.04 (libinput 1.10.4) touchpad frequently becomes unresponsive during normal operation, during which he mouse cursor and scrolling does not work. Lifting the finger and starting again makes it work until the next trigger.

Triggered apparently by premature palm detection which misdetects a slightly larger finger area as a palm event. Hence easily reproducible by placing a finger slightly flat.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: xserver-xorg-input-synaptics (not installed)
ProcVersionSignature: Ubuntu 4.15.0-15.16-generic 4.15.15
Uname: Linux 4.15.0-15-generic x86_64
NonfreeKernelModules: wl nvidia
ApportVersion: 2.20.9-0ubuntu4
Architecture: amd64
BootLog:
 Gave up waiting for suspend/resume device
 /dev/sda4: clean, 1015626/39428096 files, 55279634/157701376 blocks
 Gave up waiting for suspend/resume device
 /dev/sda4: clean, 1026169/39428096 files, 54683366/157701376 blocks
CurrentDesktop: ubuntu:GNOME
Date: Sun Apr 15 12:07:31 2018
DistUpgraded: 2018-04-08 10:29:35,542 ERROR got error from PostInstallScript ./xorg_fix_proprietary.py (g-exec-error-quark: Failed to execute child process “./xorg_fix_proprietary.py” (No such file or directory) (8))
DistroCodename: bionic
DistroVariant: ubuntu
EcryptfsInUse: Yes
InstallationDate: Installed on 2012-09-15 (2037 days ago)
InstallationMedia: Ubuntu 12.04.1 LTS "Precise Pangolin" - Release amd64 (20120823.1)
MachineType: Apple Inc. MacBookPro5,4
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-15-generic root=UUID=1f4ef214-a70d-44ac-8515-2d4234f32e38 ro quiet splash vt.handoff=1
SourcePackage: xserver-xorg-input-synaptics
UpgradeStatus: Upgraded to bionic on 2018-04-08 (7 days ago)
dmi.bios.date: 06/15/09
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBP53.88Z.00AC.B03.0906151647
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-F22587A1
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookPro5,4
dmi.chassis.asset.tag: Asset Tag#
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-F22587A1
dmi.modalias: dmi:bvnAppleInc.:bvrMBP53.88Z.00AC.B03.0906151647:bd06/15/09:svnAppleInc.:pnMacBookPro5,4:pvr1.0:rvnAppleInc.:rnMac-F22587A1:rvrMacBookPro5,4:cvnAppleInc.:ct10:cvrMac-F22587A1:
dmi.product.family: MacBook Pro
dmi.product.name: MacBookPro5,4
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.91-2
version.libgl1-mesa-dri: libgl1-mesa-dri 18.0.0~rc5-1ubuntu1
version.libgl1-mesa-glx: libgl1-mesa-glx 18.0.0~rc5-1ubuntu1
version.xserver-xorg-core: xserver-xorg-core 2:1.19.6-1ubuntu3
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.10.5-1ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:18.0.1-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20171229-1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.15-2
xserver.bootTime: Sun Apr 15 11:10:46 2018
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:

xserver.version: 2:1.19.6-1ubuntu3

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :
Revision history for this message
Mario Vukelic (kreuzsakra) wrote :
Revision history for this message
Mario Vukelic (kreuzsakra) wrote :
Revision history for this message
Mario Vukelic (kreuzsakra) wrote :
summary: - 'Apple touchpad bcm5974' stops being reponsive until finger is lifted
- after moving cursor a bit in 'Apple MacBookPro5,4 (mid 2009)' after
- upgrading to 18.04 Beta 2
+ 'Apple touchpad bcm5974' stops being responsive after a few seconds of
+ continuous input in 'Apple MacBookPro5,4 (mid 2009)' after upgrading to
+ 18.04 Beta 2
summary: - 'Apple touchpad bcm5974' stops being responsive after a few seconds of
- continuous input in 'Apple MacBookPro5,4 (mid 2009)' after upgrading to
- 18.04 Beta 2
+ 'Apple touchpad bcm5974' is temporarily unresponsive after a few seconds
+ of continuous input in 'Apple MacBookPro5,4 (mid 2009)' after upgrading
+ to 18.04 Beta 2
description: updated
description: updated
description: updated
description: updated
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote : Re: 'Apple touchpad bcm5974' is temporarily unresponsive after a few seconds of continuous input in 'Apple MacBookPro5,4 (mid 2009)' after upgrading to 18.04 Beta 2

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

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

Identical issue here on MacBook Pro (13-inch, Mid 2009) aka model MacBookPro5,5 using Ubuntu 18.04 final release.

I can also attest that this issue does not only affect Ubuntu. Fedora 27 exhibits the same symptoms for me.

Do not know if it is related, but simply resting one finger on the touchpad spams evtest with a load of ABS_MT_WIDTH_MAJOR, ABS_MT_WIDTH_MINOR and ABS_PRESSURE events. It seems like it somehow 'chokes' up due to this.

Trying to click-and-drag is a 100% reliable way to make things lock up.

Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

Attached an example of evtest event spam when resting a finger on the touchpad for 10 seconds.

Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

Deceivingly similar issue, and one that I also encountered, in Fedora here: https://ask.fedoraproject.org/en/question/120258/macbook-touchpad-becomes-unresponsive/

And a fix here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-abb147f32e

It would be nice to have this resolved as it pretty much renders Ubuntu unusable in affected Macbooks. The issue is reproducible on the 18.04 “LiveCD”.

Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

The instructions the original reporter links to, for debugging touchpad issues in Ubuntu, is outdated. The way it seems to me, 18.04 Bionic Beaver uses the libinput drivers instead of synaptics by default. At least that is the case on the LiveCD. Therefore, this bug report is linked to the wrong component - understandable due to misleading documentation.

Furthermore, my initial analysis of the root cause was way off. The real issue is that the palm detection threshold for this particular model is set too low in libinput. Consequently, spurious palm detection events make the touchpad temporarily unresponsive. I've submitted a patch for this quirk upstream.

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

In my defense, the second paragraph seems to say that filing against xserver-xorg-input-synaptics is ok and bug triagers would assign it as needed. I really tried :) Thank you

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

Oh and is there a link to your upstream report, mailing list, or similar? Thanks

Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

I know you tried :). I'm not assigning blame here as I would've done the same based on the documentation available.

According to my earlier comments, I ran into the same issue on Fedora, reported it here https://bugzilla.redhat.com/show_bug.cgi?id=1575260 and got excellent support. One of the libinput devs caught it and helped me out.

I would suggest stepping through the same process as I did by following the comments on that report, but filing a bug directly at https://bugs.freedesktop.org/enter_bug.cgi?product=wayland&component=libinput as it is an upstream issue. On Ubuntu, however, you might have to install some of the libinput debugging tools separately.

If we're lucky, and as our hardware is really similar, the same palm detection threshold might work for you as well like this:

# MacBookPro5,4 (Mid 2009)
libinput:name:bcm5974:dmi:*:svnAppleInc.:pnMacBookPro5,4:*
 LIBINPUT_ATTR_PALM_SIZE_THRESHOLD=1000

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

I'm not using Wayland but X though, would it still be libinput?

Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

My understanding of the state of affairs is that while strictly a Wayland project (and hence categorized as such in their Bugzilla), libinput may also be used under Xorg with a separate wrapper driver. And that is what Ubuntu and many others are also doing.

Revision history for this message
Veli-Jussi Raitila (vjraitila) wrote :

But, naturally, I'm making assumptions about your particular setup. You can verify things by looking for a mention of 'libinput' in your Xorg startup logs.

Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

Indeed, running "sudo libinput debug-events --verbose" results in:

 event6 POINTER_MOTION +11.04s 5.07/ -9.23
 event6 POINTER_MOTION +11.05s 16.95/ -2.91
 event6 POINTER_MOTION +11.06s 13.15/ -4.05
event6 - palm: touch size exceeded
event6 - palm: palm detected (touch size)
event6 - touch-size: end touch
event6 - button state: from BUTTON_STATE_AREA, event BUTTON_EVENT_UP to BUTTON_STATE_NONE

affects: xserver-xorg-input-synaptics (Ubuntu) → libinput (Ubuntu)
Revision history for this message
Mario Vukelic (kreuzsakra) wrote :
summary: - 'Apple touchpad bcm5974' is temporarily unresponsive after a few seconds
- of continuous input in 'Apple MacBookPro5,4 (mid 2009)' after upgrading
- to 18.04 Beta 2
+ 'Apple touchpad bcm5974' unresponsive after "palm: touch size exceeded"
+ on 'Apple MacBookPro5,4 (mid 2009)' with 1.10.4 (Ubuntu 18.04), worked
+ fine with 1.8.2 (Ubuntu 16.10)
summary: 'Apple touchpad bcm5974' unresponsive after "palm: touch size exceeded"
on 'Apple MacBookPro5,4 (mid 2009)' with 1.10.4 (Ubuntu 18.04), worked
- fine with 1.8.2 (Ubuntu 16.10)
+ fine with 1.8.2 (Ubuntu 17.10)
Revision history for this message
Mario Vukelic (kreuzsakra) wrote :
Revision history for this message
Mario Vukelic (kreuzsakra) wrote :

Running "sudo libinput measure touch-size" gives, for a single finger, max sizes between 580 (finger tip) and 1900 (when I deliberately put the first phalanx down flat).

"Normal" finger placement size is approx 850 to 950.
It seems to detect a palm event above 800, and this reliably reproduces the problem.

description: updated
description: updated
Changed in libinput:
importance: Unknown → Medium
status: Unknown → Confirmed
Changed in libinput:
status: Confirmed → Fix Released
Changed in libinput (Ubuntu):
importance: Undecided → Medium
importance: Medium → High
status: Confirmed → Triaged
tags: added: fixed-in-libinput-1.11
Changed in libinput (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libinput - 1.11.1-1

---------------
libinput (1.11.1-1) unstable; urgency=medium

  * New upstream release. (LP: #1764097, #1746740, #1761365)
  * tests: Add a simple smoketest to check that linking to libinput
    works. Thanks, Simon McVittie! (Closes: #893391)
  * watch: Update upstream git repo location.
  * symbols: Updated.

 -- Timo Aaltonen <email address hidden> Thu, 21 Jun 2018 22:14:02 +0300

Changed in libinput (Ubuntu):
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.