You are not logged in.

#1 2026-02-23 14:10:11

mathys-lopinto
Member
Registered: 2026-02-23
Posts: 2

FTCS0038 Touchpad - "Touch jump detected and discarded" on Lenovo Idea

# FTCS0038 Touchpad - "Touch jump detected and discarded" on Lenovo IdeaPad Slim 5 16AHP9

## Summary

Intermittent "Touch jump detected and discarded" errors from libinput on a Focaltech FTCS0038 touchpad, causing ~1 second freezes during normal use and two-finger scrolling. The issue appears after a few minutes of use and worsens over time.

## System Information

- **Laptop**: Lenovo IdeaPad Slim 5 16AHP9 (83HX)
- **BIOS**: R0CN26WW (latest available)
- **OS**: Arch Linux
- **Kernel**: 6.18.9-arch1-2
- **Display Server**: X11
- **libinput version**: 1.30.1

## Hardware Details

### Touchpad

```
Device:           FTCS0038:00 2808:0106 Touchpad
Kernel:           /dev/input/eventX
Id:               i2c:2808:0106
Size:             114x70mm
Capabilities:     pointer gesture
```

- **Vendor**: Focaltech (HIDRAW:0x2808)
- **Firmware version**: 0x9f01
- **No firmware updates available** (verified via fwupd)
- **Bus**: I2C via AMD AMDI0010 controller (Synopsys DesignWare)
- **I2C address**: 0x0038

### dmesg output

```
[    8.190937] input: FTCS0038:00 2808:0106 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-FTCS0038:00/0018:2808:0106.0001/input/input5
[    8.190971] input: FTCS0038:00 2808:0106 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-FTCS0038:00/0018:2808:0106.0001/input/input6
[    8.191005] hid-generic 0018:2808:0106.0001: input,hidraw0: I2C HID v1.00 Mouse [FTCS0038:00 2808:0106] on i2c-FTCS0038:00
[    8.298200] input: FTCS0038:00 2808:0106 Mouse as /devices/platform/AMDI0010:00/i2c-0/i2c-FTCS0038:00/0018:2808:0106.0001/input/input9
[    8.298271] input: FTCS0038:00 2808:0106 Touchpad as /devices/platform/AMDI0010:00/i2c-0/i2c-FTCS0038:00/0018:2808:0106.0001/input/input10
[    8.298321] hid-multitouch 0018:2808:0106.0001: input,hidraw0: I2C HID v1.00 Mouse [FTCS0038:00 2808:0106] on i2c-FTCS0038:00
```

### Driver

```
hid-multitouch 0018:2808:0106.0001
```

No module parameters available (`modinfo hid-multitouch | grep parm` returns nothing).

### xinput config:

```
Section "InputClass"
    Identifier "touchpad"
    MatchIsTouchpad "on"
    Driver "libinput"
    Option "Tapping" "on"
    Option "NaturalScrolling" "true"
    Option "ScrollMethod" "twofinger"
    Option "ClickMethod" "buttonareas"
    Option "DisableWhileTyping" "false"
    Option "AccelSpeed" "0.2"
EndSection
```

## Bug Description

### Symptoms

1. After a few minutes of use, the touchpad starts experiencing "Touch jump" events
2. Each jump causes the cursor to freeze for approximately 1 second (but it can be more)
3. The issue occurs during both single-finger movement and two-finger scrolling
4. Frequency increases over time
5. libinput detects and discards the jumps, but the pause is still noticeable

### Error message

```
libinput error: event7 - FTCS0038:00 2808:0106 Touchpad: kernel bug: Touch jump detected and discarded.
```

After several occurrences:
```
libinput error: event7 - FTCS0038:00 2808:0106 Touchpad: WARNING: log rate limit exceeded (5 msgs per 24h). Discarding future messages.
```

This want message can occur in just 10 second of debug-event

### libinput debug-events output during bug

```
event7   POINTER_SCROLL_FINGER     3  +2.241s  vert 0.00/0.0* horiz 0.00/0.0* (finger)
libinput error: event7  - FTCS0038:00 2808:0106 Touchpad: kernel bug: Touch jump detected and discarded.
event7   POINTER_MOTION               +2.466s    0.00/  8.09 ( +0.00/+10.00)
event7   POINTER_MOTION            2  +2.473s    0.00/  8.09 ( +0.00/+10.00)
event7   POINTER_MOTION            3  +2.479s    0.00/  6.48 ( +0.00/ +8.00)
libinput error: event7  - FTCS0038:00 2808:0106 Touchpad: kernel bug: Touch jump detected and discarded.
event7   POINTER_MOTION            4  +2.723s    0.00/  0.80 ( +0.00/ +1.00)
libinput error: event7  - FTCS0038:00 2808:0106 Touchpad: kernel bug: Touch jump detected and discarded.
event7   POINTER_MOTION            5  +3.154s    0.00/  0.77 ( +0.00/ +1.00)
event7   POINTER_MOTION            6  +3.162s   -1.67/ 15.04 ( -2.00/+18.00)
event7   POINTER_MOTION            7  +3.168s   -0.98/ 15.73 ( -1.00/+16.00)
event7   POINTER_MOTION            8  +3.571s   -3.34/ -9.18 ( -4.00/-11.00)
libinput error: event7  - FTCS0038:00 2808:0106 Touchpad: kernel bug: Touch jump detected and discarded.
libinput error: event7  - FTCS0038:00 2808:0106 Touchpad: kernel bug: Touch jump detected and discarded.
```

## ACPI / DSDT Analysis

The DSDT shows the touchpad (TPD1) is configured at **400KHz** on the I2C bus:

```
Scope (_SB.I2CA)
{
    Device (TPD1)
    {
        Name (_HID, "FTCS0038")
        Name (_CID, "PNP0C50")
        Name (_UID, 0x05)
        Method (_CRS, 0, NotSerialized)
        {
            Name (RBUF, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x0038, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.I2CA",
                    0x00, ResourceConsumer, , Exclusive,
                    )
                ...
            })
        }
    }
}
```

`0x00061A80` = 400000 = 400KHz

The I2C controller is:
```
ACPI path: \_SB_.I2CA
HID: AMDI0010
Bus: i2c-0 (Synopsys DesignWare I2C adapter)
```

### Note: Other touchpad devices on same bus

The DSDT defines multiple touchpad devices on the same I2C bus, all at 400KHz:
- **TPD0**: ELAN06FA (0x0015) - 400KHz
- **TPD1**: FTCS0038 (0x0038) - 400KHz ← **active device**
- **TPD2**: SYNA2BA6 (0x002C) - 400KHz
- **TPD3**: GXTP5100 (0x005D) - 400KHz

## Troubleshooting Attempted

### 1. Disable While Typing → No effect
```bash
xinput set-prop 9 "libinput Disable While Typing Enabled" 0
```
Issue persists.

### 2. DSDT override: Force I2C bus to 100KHz → No effect
Modified DSDT to change TPD1 connection speed from `0x00061A80` (400KHz) to `0x000186A0` (100KHz). Successfully loaded via GRUB early_initrd CPIO. Confirmed loaded:
```
ACPI: DSDT ACPI table found in initrd [kernel/firmware/acpi/dsdt.aml][0x19a50]
```
**Result**: Touch jumps still occur. Cursor speed was reduced (expected at lower bus speed), but the fundamental issue remains.

### 3. libinput quirks
```bash
libinput quirks list /dev/input/event6
```
No quirks defined for this device.

### 4. Firmware update check
```bash
fwupdmgr get-updates
```
No firmware updates available for FTCS0038:00 2808:0106 (current firmware: 0x9f01).

### 5. Palm detection
No palm detection parameters exposed via xinput or libinput for this device.

## Related Issues

- **Arch Linux Forums**: [Lenovo Ideapad Slim 3 15IAH8 touchpad feels sluggish](https://bbs.archlinux.org/viewtopic.php?id=297092) - Similar symptoms with ELAN06FA touchpad, resolved by forcing I2C to 100KHz via kernel patch. However, this fix does NOT work for FTCS0038.
- **libinput documentation**: [Touchpad jumping cursor bugs](https://wayland.freedesktop.org/libinpu … rsors.html)
- **Kernel commit**: [bfd74cd1fbc0](https://github.com/torvalds/linux/commi … e199c2bffd) - Added ELAN06FA to force 100KHz list. FTCS0038 is not yet included and adding it does not resolve the issue.

## Expected Behavior

Touchpad should function without intermittent freezes and coordinate jumps, as it does under Windows on the same hardware.

## Additional Notes

- The touchpad works perfectly under Windows with no input lag or jumps
- The issue appears to be firmware-related: the touchpad occasionally sends aberrant coordinate data
- Unlike the ELAN06FA issue (resolved by I2C speed change), this FTCS0038 touchpad has a different root cause that is not related to I2C bus speed
- Please note that this topic is writen by Claude Opus 4.6 after he tried te help me resolve the issue

Offline

#2 Yesterday 04:26:47

xz-dev
Member
Registered: 2021-07-14
Posts: 3

Re: FTCS0038 Touchpad - "Touch jump detected and discarded" on Lenovo Idea

In my case, ASUS Vivobook S 16 M5606WA got same problem, recently

I had found a solution.

cat /etc/libinput/local-overrides.quirks

```
# FocalTech ASCF1201 Touchpad (ASUS Vivobook S 16 M5606WA)
#
# Hardware: FocalTech I2C-HID Precision Touchpad
# VID:PID:  0x2808:0x0231
#
# Palm detection tuning: The kernel patch (MT_CLS_WIN_8_NO_CONFIDENCE)
# disables the firmware's unreliable Confidence bit from being used for
# palm detection. This quirk configures libinput's own palm detection
# with thresholds that provide a good balance between rejecting palms
# and not interfering with normal touch operations.
#
# Reference: https://wayland.freedesktop.org/libinpu … uirks.html

[FocalTech ASCF1201 Touchpad]
MatchUdevType=touchpad
MatchBus=i2c
MatchVendor=0x2808
MatchProduct=0x0231
AttrPalmSizeThreshold=1000
```


See also: https://xzos.net/en/blog/focaltech-touchpad-linux-fix/

Last edited by xz-dev (Yesterday 05:04:45)

Offline

#3 Yesterday 15:45:17

mathys-lopinto
Member
Registered: 2026-02-23
Posts: 2

Re: FTCS0038 Touchpad - "Touch jump detected and discarded" on Lenovo Idea

Hello @xz-dev,
I have try this on my computer

```text
❯ cat /etc/libinput/local-overrides.quirks
[FocalTech FTCS0038 Touchpad]
MatchUdevType=touchpad
MatchBus=i2c
MatchVendor=0x2808
MatchProduct=0x0106
AttrPalmSizeThreshold=1000
```

But even with that i stall have similar issue, but that is stranger because sometime that still write an "Touch jump", sometime there are just nothing in `libinput debug-events` and other time the 2 finger scrool just moove the cursor the bug occur.

The uptime of my computer is 1h15 and i discover something crazy:

```bash
sudo modprobe -r i2c_hid_acpi && sudo modprobe i2c_hid_acpi
```

Just "reset" the bug for a little moment

Offline

Board footer

Powered by FluxBB