The Synaptics touchpad on this laptop defaults to a shit basic ps/2 interface on Linux. HP in their infinite wisdom decided to not use an I2C touchpad even though the touchscreen does use i2c (hence why its consistently better feeling in both windows 11 and on linux). And perhaps worse is that by default the legacy ps/2 drivers fight with the RMI4 Protocol from working, so you get absolutely abhorrent trackpad behaviour
The best solution is to override the basic ps/2 fallback and force the kernel to use the RMI4 protocol over SMBus (InterTouch). Still not as good as a native I2C connection but this drastically reduces lag and makes multi-touch gestures in libinput-based compositors (like GNOME and Niri) SIGNIFICANTLY better.
- Open GRUB config file:
sudo micro /etc/default/grub - Find the line starting with
GRUB_CMDLINE_LINUX=and append the flags inside the quotes. It should look something like this:GRUB_CMDLINE_LINUX="rhgb quiet psmouse.synaptics_intertouch=1 i8042.nomux=1 i8042.nopnp=1" - Update GRUB Config:
- For Ubuntu/Debian/Mint:
sudo update-grub - For Fedora/RHEL/Arch:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg(or /boot/efi/EFI/...) idk the first ones what fedora use
- For Ubuntu/Debian/Mint:
- Open your current boot entry config file (usually located in /boot/loader/entries/ or /boot/efi/loader/entries/).
- Find the options line and append the flags to the end:
options root=... rw psmouse.synaptics_intertouch=1 i8042.nomux=1 i8042.nopnp=1 - reboot
ps: jfc
psmouse.synaptics_intertouch=1- Forces thepsmousedriver to route data through the SMBus/RMI4 connection instead of legacy PS/2.i8042.nomux=1 i8042.nopnp=1- Prevents the legacy PS/2 controller from actively multiplexing/probing the port, preventing IRQ collisions and lag.