I’m a software developer who runs Scribophile, an online writing group for serious writers, Writerfolio, an online writing portfolio service for freelancers, and Standard Ebooks, an open source project that produces liberated ebooks for the true book lover.

Get a working touchpad on a 14″ Razer Blade running Linux/Ubuntu

The 14″ Razer Blade is, in my humble opinion, one of the best pieces of non-Apple hardware on the market today. The great news is that it also happens to run Ubuntu really well out-of-the-box. Nearly everything works (with the proviso that I haven’t tried suspend/hibernate, or using the Nvidia card). I say nearly everything because as of Ubuntu 15.04, the touchpad is detected as a mouse. That means it works, but only in the most basic way—no multitouch, multitap, or gestures.

The good news is that this is mostly fixed in kernel ≥ 4.0. Ubuntu 15.04 ships with kernel 3.19, so it won’t work out-of-the-box, but installing a new kernel is easy. Use the commands below to download and install kernel 4.0.1 for 64-bit Ubuntu 15.04 systems. You can also find kernel packages for newer kernels or different architectures/versions of Ubuntu.

wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.1-vivid/linux-headers-4.0.1-040001_4.0.1-040001.201504290935_all.deb wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.1-vivid/linux-headers-4.0.1-040001-generic_4.0.1-040001.201504290935_amd64.deb wget kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.1-vivid/linux-image-4.0.1-040001-generic_4.0.1-040001.201504290935_amd64.deb sudo dpkg -i linux-headers-4.0.1*.deb linux-image-4.0.1*.deb

After installing the new kernel and rebooting, you’ll find that multitouch and gestures now work fine. But you may also find that the physical mouse buttons only respond some of the time, or that your finger has to be on the touchpad for a physical click to register. Palm detection may also not be very good. This is because even though the system now has correct drivers for the touchpad, it still incorrectly identifies the touchpad as a clickpad. More good news though: these issues are also easily fixable!

synclient ClickPad=0 synclient PalmDetect=1

That should immediately take effect, and your touchpad will now be 100% functional.

The above two commands don’t stick after a reboot, though. To make them permanent, we have to create a short configuration file in /usr/share/X11/xorg.conf.d/ that your system will read on startup. You can do it with this one-liner:

echo -e "Section \"InputClass\"\n\tIdentifier \"touchpad catchall\"\n\tDriver \"synaptics\"\n\tMatchIsTouchpad \"on\"\n\tMatchDevicePath \"/dev/input/event*\"\n\n\tOption \"PalmDetect\" \"1\"\n\tOption \"ClickPad\" \"0\"\nEndSection" | sudo tee /usr/share/X11/xorg.conf.d/60-synaptics-options.conf &> /dev/null

Enjoy your working touchpad!

Thanks to Andrew Duggan for taking the time to work through this issue.

Comments

  1. Anonymous

    I have been playing around with Debian Jessie for the last 3 days, and nothing would get my touchpad to scroll (among other things).

    I upgraded the kernel after seeing your post here, then followed the rest of the instructions (literally copy/paste). Worked like a charm. Thank you so much.

  2. ZeuZ

    Hi, I tried your instructions with 4.2.0 in Gentoo but it didn’t work.

    Any clues? xev doesn’t show any activity from clicking in the touchpad, I require the buttons..

  3. NT

    At least on Ubuntu with the 4.0.5 kernel, I feel like the Hysteresis values are waaaay too high for the blade’s touchpad.

    The default values:
    HorizHysteresis = 23
    VertHysteresis = 23

    Both make the cursor feel like it’s stuck on either the vertical or horizontal plane while moving at low speeds (slowly draw a small circle on the touchpad and you’ll notice it draws a sqaure because the pointer stays glued to either the vertical or horizontal for far too long before changing.)

    It was driving me insane so I finally just dropped both to 0 and I’m no longer pulling my hair out when I try to make fine mouse movements.

    for the lazy:
    synclient HorizHysteresis = 0
    synclient VertHysteresis = 0

  4. netrunnr

    I just bought a Razer Blade 14″ and promptly installed linux mint 18.3 (xfce 64 bit) on it. the lack of palm detection was driving me crazy. this mostly fixed it. thanks!