-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Intel Precise Touch and Stylus Technology offloads the touch signal processing to GPU and enable more computational power to support advanced algorithms.
Intel developed the HID Driver for Linux kernel for Intel Precise Touch. The development is still in progress and has not yet been up streamed. This HID Driver was developed for Linux Kernel 4.4 and above.
$ make intelpt_defconfig
- Make sure “CONFIG_INTEL_MEI_ITOUCH=m” is set, after this regular kernel compile instructions can be followed.
We need to use specific GuC FW for IPTS, this FW comes within kernel repo within the following directory:
- ipts-linux/firmware/i915/skl_guc_ver4.bin
- ipts-linux/firmware/i915/skl_guc_ver4_3.bin
These files should end up in sysfs in the following location:
- /lib/firmware/i915/skl_guc_ver4.bin -> /lib/firmware/i915/skl_guc_ver4_3.bin
- /lib/firmware/i915/skl_guc_ver4_3.bin
If above files are missing, please add them manually and reboot. Best to check kernel logs if GuC FW loaded gracefully or not.
For more information
Note: for current release we need GuC version v4.3 only. OTC website has GuC v6.1 which will not work with this kernel!!
Intel Precise Touch uses Touch OpenCL kernel binaries provided by Touch Vendor. They are explained below table.
- Descriptor.bin: A HID descriptor file provided by vendor. The HID Driver appends the panel’s HID descriptor to information.
- iaPreciseTouchDescriptor.bin: A HID descriptor file. A bare minimum HID descriptor descripting the device. The HID Driver appends the panel’s HID descriptor to information.
- KernelSKL.bin: Touch Vendor provided OpenCL kernel includes touch algorithms.
- SFTConfig.bin: Touch Vendor provided configuration binary.
Each Touch vendor runs different OpenCL kernels. So for different machines these files needs to be updated. On IPTS supported platforms these files can be extracted from Windows OS. These files are located in:
*%Windir%\inf\PreciseTouch*
So binary names explained above can be different on different systems but fundamentally we need this 4 files: Vendor descriptor, iaDescriptor, Vendor kernel, vendor configuration file.
Kernel will look for these user space binaries in /itouch folder and to be able to try different vendor kernels using softlinks are safe:
- ln -sf /itouch/SKernelSKL.bin /itouch/vendor_kernel_skl.bin
- ln -sf /itouch/SFTConfig.bin /itouch/integ_sft_cfg_skl.bin
- ln -sf /itouch/Descriptor.bin /itouch/vendor_descriptor.bin
- ln -sf /itouch/iaPreciseTouchDescriptor.bin /itouch/integ_descriptor.bin
When RC6 is disabled, we observed some screen fragmentation but when RC6 is enabled this issue goes away.
Previously reported screen fragmentation issue is fixed by enabling RC6 in this release. After Display off and on iTouch stops working.