The touchpad is an absolute device in relative mode. Being an absolute device, the relative coordinates get converted into absolute coordinates in the server and the whole mess of coordinate scaling, documented in dix/getevents.c, makes it dependent on the screen resolution.
Most recent attempt was reverted again in commit 9a19bf06b5b409fa0d5b5932e29cd4c5545052c5, from the commit message:
Reverting for two reasons:
* the scaling does not work on devices that don't advertise resolution, and
the default resolution used (100 units/mm) is higher than most devices,
resulting in a significant slowdown of the touchpads.
* the scaling is still affected by resolution changing. The patch worked
before acceleration but since it maps into resolution-dependent dx/dy
coordinates the acceleration may distort the movement after the fact. So the
same input data generates different movements depending on the resolution.
This can't easily be fixed for all affected devices as synaptics has its own
velocity calculation method whereas wacom doesn't. So anything in the server
won't work for both at the same time.
The real solution will have to be something that reverts some of the synaptics-specific acceleration code.
Some downstream bugs:
0a4cf80a00663ff3ce8e76baf0940782576efe13 "Drop touch events from the driver" is the first commit to get anywhere near fixing this.
the second part would be to initialize the axes as relative axes instead of absolute ones and then adjust the pointer acceleration to feel approximately the same as before.
Closing as WONTFIX. Changing to relative axes would affect pointer acceleration I'm not touching that in synaptics, it's tricky enough in libinput
*** This bug has been marked as a duplicate of bug 31636 ***
on Mar 29, 2017 at 11:04:41.
(provided by the Example extension).