BYD touchpad drivers

My Librem has finally arrived and I’m mostly very happy with it, save for the touchpad problems a few folks have raised.

I’m a bit of a Linux newbie and decided to pave over PureOS and install elementary OS (based on Ubuntu) as it provides some comfort to a transitioning Mac user!

Does anyone know of anything floating around that might at least allow me to disable tap to click? It would also be great to have two finger scrolling and disable when typing. I noticed that even on PureOS the touchpad seemed to ignore all settings (speed, tap to click etc.)

Hi Jack - your best bet for two-finger scroll in the short term is to look at Kyle Rankin’s DKMS module that adds a driver for the touchpad.

You’ll see some other threads that discuss the touchpad in Debian and Ubuntu that might be helpful.

There are a number of admin tools that might allow you to disable tap-to-click. I would look around a bit more in the control panel and see if there’s an option. I’d look at whether Gpointing or gsynaptics are installed / available after checking what controls are already part of the control panel. I’m not too familiar with elementary OS… I use Debian, which Ubuntu is based on.

Hi Jason, thanks for your response. I should have mentioned in my original post that I have already tried a few things, including Kyle’s DKMS module. When following the instructions there, I get this error:

Building module: cleaning build area.... make KERNELRELEASE=3.19.0-56-generic -C /lib/modules/3.19.0-56-generic/build M=/var/lib/dkms/psmouse/byd-0.2/build/src psmouse.ko....(bad exit status: 2) ERROR (dkms apport): binary package for psmouse: byd-0.2 not found Error! Bad return status for module build on kernel: 3.19.0-56-generic (x86_64) Consult /var/lib/dkms/psmouse/byd-0.2/build/make.log for more information. Build failed DKMS make.log for psmouse-byd-0.2 for kernel 3.19.0-56-generic (x86_64) Wed Mar 23 09:14:41 GMT 2016 make: Entering directory/usr/src/linux-headers-3.19.0-56-generic’
CC [M] /var/lib/dkms/psmouse/byd-0.2/build/src/psmouse-base.o
CC [M] /var/lib/dkms/psmouse/byd-0.2/build/src/synaptics.o
/var/lib/dkms/psmouse/byd-0.2/build/src/synaptics.c: In function ‘synaptics_report_mt_data’:
/var/lib/dkms/psmouse/byd-0.2/build/src/synaptics.c:933:2: error: too many arguments to function ‘input_mt_assign_slots’
input_mt_assign_slots(dev, slot, pos, nsemi, DMAX * priv->x_res);
In file included from /var/lib/dkms/psmouse/byd-0.2/build/src/synaptics.c:29:0:
include/linux/input/mt.h:121:5: note: declared here
int input_mt_assign_slots(struct input_dev *dev, int *slots,
make[1]: *** [/var/lib/dkms/psmouse/byd-0.2/build/src/synaptics.o] Error 1
make: *** [psmouse.ko] Error 2
make: Leaving directory /usr/src/linux-headers-3.19.0-56-generic' <code></code>

I have pretty much no idea what to make of this. I’m still just getting my head round what DKMS even is. :frowning:

Are you able to give a bit more detail on how I can check if those things are installed. I’ve had a good poke around the system settings in elementary and I have found the options for disabling tap to click etc, it’s just that the touchpad doesn’t seem to pay attention to any of those settings. I believe I read on another post somewhere that the reason for this is that by default the Liberm thinks the touchpad is a mouse.

You’re lucky your mouse even works. Mine froze up, was fine after a restart, and then froze up again the next day and restarts aren’t doing anything. (Using Debian, haven’t tried the dkms driver yet.)

Jack, it looks like you’re building the module for linux-3.19.x, and it might require linux 4.0.x or 4.1.x at minimum. It looks like the function input_mt_assign_slots() in linux changed, and psmouse-byd was not tested and made to work with the older variant. See if it’s possible to install and run a newer kernel with your distro, and try again :slight_smile:

1 Like

Oh my god Pierce, I could kiss you! This worked.

To give myself a meagre amount of credit, I imagined from the error message that upgrading the Kernel might sort this problem out. But I didn’t know if that was a thing (independently of distro), how easy it was etc.

So, upgrading the kernel on its own actually mostly fixed the touchpad. It had been a bit of a blunt instrument but after the kernel upgrade it started actually responding to settings (I could turn off tap to click, use natural scrolling). The upgrade also allowed me to install the drivers from Kyle’s GitHub repo. Unfortunately that doesn’t seem to have made two finger scrolling available, but the edge scrolling is a lot better (it’s fast depending on how I use it, whereas previously it was one slow speed).

For anyone else coming upon this, I followed the instructions here.

I upgraded to 4.0-vivid as I was a bit wary of the unstable 4.1 (I’ve now realised there are stable releases of 4.1…)

I might upgrade to 4.1, maybe that’ll give me two finger scrolling… Anyway, thanks again!

Forgive my ignorance, I realise now there’s a stable release of 4.5!

1 Like