(could be a dupe of bug 212647?) Hey, I'm using a Dell XPS 15 9510 which is fairly new. The touchpad is detected as a PS/2 Mouse, which prevents very useful behaviors like two-finger scrolling and especially palm detection. That palm detection doesn't work is especially painful. I checked that it works perfectly on Windows. This is on Debian Bullseye, but the kernel is v5.13.6 and I built it myself.
Created attachment 298557 [details] cat /proc/bus/input/devices
Created attachment 298559 [details] Output of libinput list-devices
Created attachment 298561 [details] output of xinput when running in X
I just built and installed 5.13.13, same thing.
In debian's 5.10 kernel, the touchpad works perfectly. I'll attach some more logs.
Created attachment 298605 [details] kernel messages on 5.10
Created attachment 298607 [details] Output of libinput list-devices on 5.10
Created attachment 298609 [details] cat /proc/bus/input/devices on 5.10
Created attachment 298611 [details] kernel messages on 5.13
Created attachment 298613 [details] Output of libinput list-devices on 5.13
Created attachment 298615 [details] cat /proc/bus/input/devices on 5.13
So it's not a dupe of bug 212647, because they report that Debian's 5.10 doesn't work, but it works for me.
*** Bug 214263 has been marked as a duplicate of this bug. ***
After bisecting, I found that the culprit is: > b33752c300232d7f95dd9a4353947d0c9e6a0e52 is the first bad commit > commit b33752c300232d7f95dd9a4353947d0c9e6a0e52 > Author: Douglas Anderson <dianders@chromium.org> > Date: Fri Jan 15 09:06:37 2021 -0800 > > HID: i2c-hid: Reorganize so ACPI and OF are separate modules > > This patch rejiggers the i2c-hid code so that the OF (Open Firmware > aka Device Tree) and ACPI support is separated out a bit. The OF and > ACPI drivers are now separate modules that wrap the core module. > > Essentially, what we're doing here: > * Make "power up" and "power down" a function that can be (optionally) > implemented by a given user of the i2c-hid core. > * The OF and ACPI modules are drivers on their own, so they implement > probe / remove / suspend / resume / shutdown. The core code > provides implementations that OF and ACPI can call into. > > We'll organize this so that we now have 3 modules: the old i2c-hid > module becomes the "core" module and two new modules will depend on > it, handling probing the specific device. > > As part of this work, we'll remove the i2c-hid "platform data" > concept since it's not needed. > > Signed-off-by: Douglas Anderson <dianders@chromium.org> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > drivers/hid/Makefile | 2 +- > drivers/hid/i2c-hid/Kconfig | 32 ++++- > drivers/hid/i2c-hid/Makefile | 5 +- > drivers/hid/i2c-hid/i2c-hid-acpi.c | 143 +++++++++++++++++++ > drivers/hid/i2c-hid/i2c-hid-core.c | 252 > ++++++---------------------------- > drivers/hid/i2c-hid/i2c-hid-of.c | 143 +++++++++++++++++++ > drivers/hid/i2c-hid/i2c-hid.h | 22 +++ > include/linux/platform_data/i2c-hid.h | 41 ------ > 8 files changed, 379 insertions(+), 261 deletions(-) > create mode 100644 drivers/hid/i2c-hid/i2c-hid-acpi.c > create mode 100644 drivers/hid/i2c-hid/i2c-hid-of.c > delete mode 100644 include/linux/platform_data/i2c-hid.h Looking at this patch, I realized that the issue is actually just a missing module... And now this works on my 5.13.14 just fine! The missing module is CONFIG_I2C_HID_ACPI, in Device Drivers > HID > I2C HID Support > HID over I2C transport layer ACPI driver, which is off by default. Therefore I'm closing it as invalid.