For quite some time I’m being haunted by an issue with my Thinkpad L390 Yoga, where my trackpad and trackpoint do not work properly. This issue is present under all OSs I have tested, including windows 10, so some underlying hardware issue seems plausible as well. However, everthing works perfectly fine under Ubuntu 16.04.
Using the trackpoint appears to crash the driver for both trackpad and trackpoint - at least neither of them work anymore afterwards. This happens under Windows with Elantech driver, as well as under any linux I’ve tried (except 16.04).
Without the elantech drivers, both trackpoint and trackpad work fine. Under windows it works if I just use the generic Microsoft driver and under linux it works with
modprobe psmouse proto=imps. However in both cases I lose a lot of functionality, e.g. gestures or palm rejection.
I actually suspect there is some hardware issue at play here, especially due to the fact that windows exhibits the same issue.
What I’ve tried so far
As I said, it works fine under Ubuntu 16.04. The device is listed properly under
/proc/bus/input/devices and does not crash when using trackpoint.
I: Bus=0011 Vendor=0002 Product=000e Version=0000 N: Name="ETPS/2 Elantech Touchpad" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input5 U: Uniq= H: Handlers=mouse1 event5 B: PROP=5 B: EV=b B: KEY=e420 10000 0 0 0 0 B: ABS=661800011000003 I: Bus=0011 Vendor=0002 Product=000e Version=0000 N: Name="ETPS/2 Elantech TrackPoint" P: Phys=isa0060/serio1/input1 S: Sysfs=/devices/platform/i8042/serio1/input/input6 U: Uniq= H: Handlers=mouse0 event4 B: PROP=21 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=3
So I know there is some kind of driver configuration that gets this hardware to run. I have tried downgrading my kernel to 4.4 under ubuntu 20.04 (as used by 16.04’s live version), but I couldn’t get that to work with some dependencies that have changed inbetween.
I have tried some Fedora version with a 4.4 kernel but that sadly did not fix the device.
Downgrading the full kernel is plenty overkill and really not an acceptable drawback anyway. I guess this is what we have kernel modules for. Unfortunately when talking about drivers, kernel modules, etc I’m reaching far beyond my level of understanding of linux.
So to bring it to a point, I’m asking this: What do I need to do to get the hardware support that is present under Ubuntu 16.04 to any arbitrary linux distro?