Problem
On my Huawei MateBook X Pro running Ubuntu 26.04 LTS, the built-in touchpad would behave strangely immediately after logging in.
The touchpad would:
- Work normally for a few seconds.
- Freeze for several seconds.
- Start working again.
- Occasionally repeat the behavior during the initial startup period.
- Eventually work normally.
The problem occurred after Ubuntu started and was not a permanent touchpad failure.
I initially suspected USB autosuspend or general touchpad power management, but the problem turned out to be related to the Goodix touchpad firmware probing performed by fwupd.
Hardware and Software
My system:
Laptop: Huawei MateBook X Pro
OS: Ubuntu 26.04 LTS
Kernel: 7.0.0-30-generic
Touchpad: GXTP7863
Device ID: 27C6:01E0
Interface: I2C HID
The touchpad appears in libinput as:
Device: GXTP7863:00 27C6:01E0 Touchpad
Kernel: /dev/input/event4
Id: i2c:27c6:01e0
Capabilities: pointer gesture
Diagnosing the Problem
First, install the libinput command-line tools if necessary:
sudo apt update
sudo apt install libinput-tools
Then:
libinput list-devices
The important device was:
GXTP7863:00 27C6:01E0 Touchpad
I then checked the kernel messages:
sudo dmesg | grep -Ei 'i2c|hid|touchpad|elan|synaptics|goodix'
The important errors were:
i2c_designware i2c_designware.0: controller timed out
i2c_designware i2c_designware.0: timeout in disabling adapter
i2c_hid_acpi i2c-GXTP7863:00: failed to get a report from device: -110
At first this looked like an I2C HID or kernel problem.
However, checking the complete boot log revealed something more interesting.
The Important Discovery
The following message appeared at almost exactly the same time as the touchpad freeze:
fwupd: failed to add device ... using on goodixtp:
failed to setup: gtx8 read version failed:
failed to read cfg version:
failed get report:
ioctl error: Connection timed out [110]
This was followed by:
i2c_designware.0: controller timed out
The touchpad is a Goodix device, and fwupd was attempting to communicate with it using its goodixtp plugin.
This interaction caused the I2C communication with the touchpad to time out temporarily.
Solution
The solution was to disable the goodixtp plugin in fwupd.
Edit the fwupd configuration:
sudo nano /etc/fwupd/fwupd.conf
Add:
[fwupd]
DisabledPlugins=goodixtp
If the [fwupd] section already exists, don't create a second section. Just add:
DisabledPlugins=goodixtp
Then restart fwupd:
sudo systemctl restart fwupd
Finally, reboot:
sudo reboot
After rebooting, the touchpad should work normally without the initial freezing.
Verify the Fix
After reboot, check the boot log:
journalctl -b -k | grep -Ei 'i2c|hid|GXTP|touchpad|timeout'
You should no longer see the goodixtp firmware probing causing the I2C timeout.
You can also check whether fwupd is still trying to use the plugin:
journalctl -b | grep -i goodixtp
The important thing is that the touchpad no longer freezes during startup.
Why This Happens
The MateBook X Pro uses a Goodix touchpad connected through the system's I2C controller.
The Linux input stack sees it as:
GXTP7863:00 27C6:01E0
The normal communication path is approximately:
Touchpad
↓
Goodix GXTP7863
↓
I2C HID
↓
Intel DesignWare I2C controller
↓
Linux input subsystem
↓
libinput
↓
MATE desktop
During startup, fwupd can also attempt to communicate with the Goodix touchpad through its goodixtp plugin:
fwupd
↓
goodixtp
↓
Goodix GXTP7863
↓
I2C
On this MateBook configuration, that firmware probe can cause the I2C controller to time out:
i2c_designware.0: controller timed out
which results in:
i2c_hid_acpi:
failed to get a report from device: -110
The result is a temporarily unresponsive touchpad.
Disabling the goodixtp plugin prevents fwupd from performing that problematic probe.
Quick Fix After Reinstalling Ubuntu
For future reference, the essential fix is:
sudo nano /etc/fwupd/fwupd.conf
Add:
[fwupd]
DisabledPlugins=goodixtp
Then:
sudo systemctl restart fwupd
sudo reboot
Useful Diagnostic Commands
If the problem returns after a future Ubuntu installation, first identify the touchpad:
libinput list-devices
Look for:
GXTP7863:00 27C6:01E0
Then check:
journalctl -b | grep -Ei 'i2c|hid|GXTP|goodix|fwupd|timeout'
The key symptoms are:
GXTP7863:00 27C6:01E0
combined with:
i2c_designware.0: controller timed out
and:
fwupd ... goodixtp ...
If those appear together, disabling goodixtp is the first thing to try.
Final Configuration
The important configuration to remember is:
File:
/etc/fwupd/fwupd.conf
Setting:
[fwupd]
DisabledPlugins=goodixtp
This fixed the MateBook X Pro touchpad startup freezing issue for me on Ubuntu 26.04 LTS.
Top comments (0)