mirror of
https://github.com/systemd/systemd.git
synced 2026-08-12 22:17:19 +00:00
The Goodix GXTP5100 touchpad (HID bus 0x0018, vendor 0x27C6, product 0x01E9), found in the Lenovo ThinkBook 16 G7+ IAH and ThinkPad X9 15 Gen 1, has a kernel driver bug where ABS_PRESSURE (axis 24 / 0x18) is reported with min=0, max=0. This invalid axis range causes libinput to reject the device with: "kernel bug: ABS_PRESSURE has min == max (both 0)" The touchpad hardware itself is functional and reports valid ranges for all other axes: ABS_X: min=0, max=4149, resolution=31 ABS_Y: min=0, max=2147, resolution=27 ABS_MT_POSITION_X/Y: valid ranges Root cause: the kernel hid-multitouch driver applies a "GT7868Q report descriptor fixup" to this device (the HID descriptor is malformed and fails hid-generic probe with EINVAL). The fixup corrects most axes but leaves ABS_PRESSURE with an invalid 0:0 range. This hwdb entry overrides ABS_PRESSURE to a valid 0:255 range, allowing libinput to accept and initialize the device. Kernel version: 6.17.0-19-generic Device path: /sys/bus/hid/drivers/hid-multitouch/0018:27C6:01E9.0001
Files in this directory specify a description of hardware devices, in the form of mappings from modalias-like keys (which identify specific hardware devices) to udev properties. Files in this directory are not read by udev directly. Instead, man:systemd-hwdb(8) compiles them into a binary database. See man:hwdb(7) for an overview of the configuration file format, and man:systemd-udevd.service(8) for a description of the udev daemon. Use 'systemd-analyze cat-config udev/hwdb.d' to display the effective config.