VoodooSMBus / VoodooRMI

Synaptic Trackpad driver over SMBus/I2C for macOS
GNU General Public License v2.0
233 stars 19 forks source link

Thinkpad L14 Gen 1 - Tracking issues when swiping fast and tapping (maybe a rejection issue?) #115

Closed Caipe97 closed 2 years ago

Caipe97 commented 3 years ago

Describe the bug Using VoodooRMI in SMBUS mode on a Thinkpad L14 Gen 1, the touchpad tracking is inaccurate when swiping fast, and taps are usually rejected.

macOS Big Sur 11.2.2

doing a cat /proc/bus/input/devices on Linux I get this info from the touchpad:

I: Bus=0011 Vendor=0002 Product=0007 Version=01a1 N: Name="SynPS/2 Synaptics TouchPad" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input5 U: Uniq= H: Handlers=mouse0 event4 B: PROP=5 B: EV=b B: KEY=e520 10000 0 0 0 0 B: ABS=660800011000003

To Reproduce Steps to reproduce the behavior:

  1. Install VoodooPS2Controller
  2. Install VoodooRMI 1.3.3 with included VoodooSMBUS (disabling I2C kexts as in guide)
  3. Try to use the touchpad while swiping fast with one or many fingers

Expected behavior Tracking should be accurate and should not be rejected

Log log.txt I used the debug version of VoodooRMI to capture the log while doing the following gestures, aided by FingerMgmt:

Swiping to any direction with one finger: GIF-210509_173835

It works fine if the gesture isn't quick: ezgif-2-247df1e9929f

Tapping is also troublesome: ezgif-2-63da13105bba

Caipe97 commented 3 years ago

Update: Testing the Debug version VoodooRMI-1.3.2-NO_Z_NO_SHAPE from issue #100 seems to make the touchpad work normally. However, while using it I get huge power spikes (possibly because of the constant debugging messages).

Any insights?

1Revenger1 commented 3 years ago

Sorry that I haven't replied Is the newest version here any better? https://dortania.github.io/builds/?product=VoodooRMI&viewall=true The palm rejection should be reworked, with the conditions I removed in NO_Z_NO_SHAPE relaxed.

Caipe97 commented 2 years ago

I find that it works pretty good, though the touchpad tracking has become quite stuttery, still bearable tho... Could it be related to battery patching?

1Revenger1 commented 2 years ago

hrmm, it depends. If your using ACPIBatteryManager, and the _STA method for your battery includes a wait, it could be. If not, I honestly don't have any clues. Is it any better in the center vs the edges?

1Revenger1 commented 2 years ago

If you want to try another version of VoodooSMBus, you could try this VoodooSMBus.kext.zip This changes how interrupts work a bit, though I haven't really noticed any difference on my machine.

Caipe97 commented 2 years ago

I've tried the latest version and the cursor isn't still quite as smooth as with VoodooPS2. Tested version 1.3.5 from your link + your VoodooSMBus kext. I'm using SMCBatteryManager and my DSDT patch, I'll get back with details when I have the time. Gestures work perfectly. Definitely an improvement over what 1.3.3 was.

I found no difference between swiping in center or edges

1Revenger1 commented 2 years ago

Hrmm, I know that someone else at some point had run into a similar thing in Linux. Something to do with the reporting rate of the trackpad. I'm not sure if there's a way I can change reporting rate though, not super familiar with the F12 function.

1Revenger1 commented 2 years ago

VoodooRMI-1.3.4-DEBUG-Read-reportrate-bit.zip

I'd be interested to see what happens if you try both of those versions. For the first version, look under the properties of F01->PowerProperties in ioreg and see what the report rate bit is set to. The second version sets the bit to 1. No clue if that will change anything though.

Caipe97 commented 2 years ago

The first version gives this info in ioreg: imagen

These are all the available functions my touchpad supports, if you need a bit more context..: imagen

Going to test the second version...

Caipe97 commented 2 years ago

I've found no difference using any of the versions regarding improvements... What I found is that the tracking feels very much like using the Thinkpad nub/trackpoint (which I've always found "jumpier" than the main touchpad)