Friday, July 10, 2015

ZaReason Verix 547 Touchpad Freezes

This is another in my series of love notes to ZaReason's Verix 547 Linux-compatible laptop.  This time I'm working on some odd "pauses" or "freezes" in the behavior of the touchpad.

Every now and then, seemingly at random, I'll be moving the pointer with the trackpad and suddenly the pointer simply stops.  Clicking, swiping, dragging... nothing.  I can continue to type, so the keyboard is still active, but otherwise the trackpad is simply unresponsive.  Interestingly, if I switch away to a virtual terminal and come back, miraculously the touchpad is active again!

At first I thought it was related to the trackpad itself, which is:

$ xinput --list | grep Touch
⎜   ↳ SynPS/2 Synaptics TouchPad id=11   [slave  pointer  (2)]


$ cat /proc/bus/input/devices
...
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1
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=9
B: EV=b
B: KEY=6420 30000 0 0 0 0
B: ABS=260800011000003

...

So, a Synaptics part.  But I couldn't quite find anything that matched the exact behavior.  My weak Google-fu finally dropped me here:

https://devtalk.nvidia.com/default/topic/766166/elantech-touchpad-related-nvidia-driver-freeze/

It's not exactly the same environment - the author specifically calls out an ElanTech touchpad, but the behavior is smack on.  Naturally, this is an NVIDIA PRIME-/Optimus-related issue.  ::sigh::

Turns out this author helped identify a bug and it was fixed in an upstream Xorg release - but not the Xorg used in *ubuntu.  While my Xorg says it's 1.16.1 and the was applied to 1.16.0, apparently the patch didn't get accepted until a later release of 1.16.1 - comparing the release dates via 'X -version' showed me that.  Even xorg-edgers didn't have a later X release with the patched code.

A very kind soul packaged up a .deb with the patched xorg binaries and supplied them here:

http://askubuntu.com/questions/507744/touchpad-acting-weird-in-14-04-on-msi-cr70-2m/550603#550603

Long story short, I downloaded the .tar, extracted the .debs, and installed the ones that mattered.  (This user is obviously an X developer, as he had tons of debugging tools and virtualized X server tools installed.)  All I needed was xserver-common and xserver-xorg-core.

It worked!  The touchpad freeze is completely gone.  Thank you, friends!

Oh, and until I upgrade to Kubuntu 15.04, which comes with the fixed X, I put those two packages on hold in apt via:

echo "hold xserver-common" | dpkg --set-selections

This makes life easier when I'm doing upgrades and I might forget to uncheck the xorg packages.

OK, another laptop quirk knocked out!

No comments:

Post a Comment