thinkpadz13-haptic-linux-install
Building the Lenovo OEM driver for ThinkPad Z-series ELAN Haptic Pad functionality in Linux desktop OS
Prerequisites
- a Lenovo ThinkPad Z-series laptop (Z13 Gen 1 / Z16 Gen 1) running Ubuntu 20.04 or later, Fedora 37, or compatible derivative (for our example, I will be using Pop!_OS 22.04 LTS)
sudo
or administrator privileges
- an internet connection
1. Install dependencies for the application
- The “ELAN Haptic Pad Settings Tool” relies upon several Qt toolkit dependencies for rendering the GUI application itself, as follows per Lenovo’s documentation:
qt5-default
qtbase5-dev
qt5-make
- As of Ubuntu 21.04 and later,
qt5-default
does not exist in the apt repositories, however you can work around this by installing the following packages with sudo apt install
:
qt5-make
qtbase5-dev
qtbase5-dev-tools
qt-chooser
- The above 4 dependencies will compile and install the necessary libraries and binaries to proceed with building our application in lieu of the
qt5-default
package.
2. Acquire source code and prep the build environment
- Download the source code in “.zip” archive format from the Lenovo Support website
- Locate the downloaded .zip archive in your Downloads folder (or default download location)
- Create a temp directory for the build operation, copy the .zip archive inside of the temp directory, and then change directories into the temp (for our example, I will create a “.tmp” folder in my home directory:)
mkdir ~/.tmp && cp ~/Downloads/n3gg601w.zip ~/.tmp && cd ~/.tmp
- Unzip the .zip archive into its own folder:
unzip n3gg601w.zip
- Change directories into the unzipped folder:
cd N3GG601W
- Inside of this folder will be another .zip archive; unzip into its own folder:
unzip ehps-install-V-1-3.zip
(your version number may differ; at time of writing, version 1.3 is the latest available)
- Change directories into the newly unzipped folder:
cd ehps-install
- Inside the “ehps-install” directory, assign executable permissions to
install.sh
with the following command: chmod +x install.sh
- Run the installer script with sudo permissions:
sudo ./install.sh
- If successful, you should see the following output:
Elan Hapticpad Settings Install
Install Completed.
- Search your launcher or applications menu for “ELAN HapticPad Settings” and launch the application, entering your password when prompted
- With the application now open, verify you can toggle and change the settings per your preference:
- Toggle haptic feedback / adjust sensitivity using slider
- Adjust force for haptic “click”
- Toggle top TrackPoint buttons
- Adjust force for TrackPoint “click”
- The settings are immediately applied in the device firmware; close the application when done.
4. Credits
- Mark “MarkRHPearson” Pearson; Senior Software Engineer / Linux Developer, Lenovo; responsible for overseeing and testing the development of the ELAN HapticPad Settings application, and other Linux-facing integrations with Lenovo hardware.
- r/thinkpad; subreddit community dedicated to the love and education surrounding IBM / Lenovo ThinkPad devices
- r/linuxonthinkpad & r/linuxonthinkpads; subreddit communities dedicated to the spread of information and education related to running Linux on ThinkPad hardware
5. DISCLAIMERS - WIP
- This application uses the “Qt” toolkit, as opposed to the more common “GTK” toolkit used in the default GNOME desktop environments found in stock Ubuntu and Fedora; you may notice the application will not respect your preferrend Theme appearance (Light / Dark mode) as a result. This is by design. You may have better luck utilizing the KDE desktop or using Kubuntu or the Fedora KDE spin.
- This driver is designed solely for Lenovo ThinkPad devices utilizing the ELAN HapticPad technology; at the time of writing, only two devices support this application: Z13 Gen 1, and Z16 Gen 1. I will neither troubleshoot nor be held responsible for complaints regarding this application not working on devices outside of the current two Z-series models.
- If in doubt, please reference the MIT License.