i have the exact same hardware, so i’ll throw in my 2c…
some of those issues are not my issues (i really dislike acceleration and always turn it off when possible.)
but the delay on two-finger-scrolling would drive me nuts, and i haven’t encountered it, nor have i noticed any pointer lag (likewise.)
this is an pretty stock ubuntu install, no weird drivers, no weird window managers, always perform all updates including those from lenovo and synaptics.
here’s the current xinput configuration for the device.
emb@inkpad:~$ xinput list-props 11
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (142): 0
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (270): 1
Device Accel Constant Deceleration (271): 1.000000
Device Accel Adaptive Deceleration (272): 1.000000
Device Accel Velocity Scaling (273): 12.500000
Synaptics Edges (274): 1574, 5368, 1350, 4504
Synaptics Finger (275): 25, 30, 0
Synaptics Tap Time (276): 180
Synaptics Tap Move (277): 252
Synaptics Tap Durations (278): 180, 180, 100
Synaptics ClickPad (279): 1
Synaptics Middle Button Timeout (280): 0
Synaptics Two-Finger Pressure (281): 282
Synaptics Two-Finger Width (282): 7
Synaptics Scrolling Distance (283): -114, -114
Synaptics Edge Scrolling (284): 0, 0, 0
Synaptics Two-Finger Scrolling (285): 1, 1
Synaptics Move Speed (286): 1.000000, 1.750000, 0.034880, 0.000000
Synaptics Off (287): 0
Synaptics Locked Drags (288): 0
Synaptics Locked Drags Timeout (289): 5000
Synaptics Tap Action (290): 0, 0, 0, 0, 1, 3, 2
Synaptics Click Action (291): 1, 3, 2
Synaptics Circular Scrolling (292): 1
Synaptics Circular Scrolling Distance (293): 0.100000
Synaptics Circular Scrolling Trigger (294): 0
Synaptics Circular Pad (295): 0
Synaptics Palm Detection (296): 1
Synaptics Palm Dimensions (297): 10, 200
Synaptics Coasting Speed (298): 20.000000, 50.000000
Synaptics Pressure Motion (299): 30, 160
Synaptics Pressure Motion Factor (300): 1.000000, 1.000000
Synaptics Resolution Detect (301): 1
Synaptics Grab Event Device (302): 0
Synaptics Gestures (303): 1
Synaptics Capabilities (304): 1, 0, 0, 1, 1, 1, 1
Synaptics Pad Resolution (305): 65, 44
Synaptics Area (306): 0, 0, 0, 0
Synaptics Soft Button Areas (307): 0, 0, 0, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (308): 28, 28
Device Product ID (266): 2, 7
Device Node (265): "/dev/input/event4"
the most relevant properties are
Device Accel Profile (270): 1
Device Accel Constant Deceleration (271): 1.000000
Device Accel Adaptive Deceleration (272): 1.000000
Device Accel Velocity Scaling (273): 12.500000
as you can see i have them set to be totally linear. i can’t remember if this was the default or if i tweked it at some point with xinput --set-prop 11 'Device Accel Constant Deceleration' <val>, &c.
tweaking the mix of initial velocity scaling, constant and adaptive deceleration should get you closer to the apple behavior, where an initial fast movement gives big travel, and subsequent deceleration gives you more accuracy. here’s more on that stuff: https://www.x.org/wiki/Development/Documentation/PointerAcceleration/
… and i think if you read through that document, you’ll agree that it’s a little unfair to accuse linux developers of not caring enough about this stuff. if anyhting the problem is that there are many options, and a lack of consensus about the desired behavior (so the default is very plain.) in apple-land, consensus isn’t an issue, everyone gets the same experience no matter how extreme.
…i would be shocked if you couldn’t find some people invested in matching apple trackpad behavior with xinput configs. linux is nice because you can do that if you want, or do something else if you want.