This repository is a collection of kernels and libs for the Microsoft Surface Pro 4. It's mainly for myself and this README will serve as a notes area for what is and is not working.
This is a pre-compiled kernel referenced in this reddit https://www.reddit.com/r/SurfaceLinux/comments/4vbzki/androidx86_with_the_new_ipts_driver. I believe it is based off of this github repository https://github.com/ipts-linux-org/ipts-linux. It is said to have touchscreen support, wifi fix and lid patches.
- Touchscreen with fingers and pen
- Touchscreen needs setup with windows binaries. (see bellow)
- Keyboard cover with touchpad
- Power, and Volume hard buttons
- Cannot resume once lid/keyboard is closed
- Touchpad doesn't work properly if keyboard cover is detached then reattached.
- "Adds one finger" actions that normally require one finger (including moving cursor) now take 2 fingers. Actions that require 2 fingers now require 3 fingers.
- Wifi fix
- lid patches
This is a kernel I compiled myself. It was cloned from this github repository https://github.com/jimdigriz/ipts-linux.
- Touchscreen only with pen
- Touchscreen needs setup with windows binaries. (see bellow)
- Keyboard cover with touchpad
- Power and Volume hard buttons
- Touchscreen does not work with fingers
- Cannot resume once lid/keyboard is closed
- Touchpad doesn't work properly if keyboard cover is detached then reattached.
- "Adds one finger" actions that normally require one finger (including moving cursor) now take 2 fingers. Actions that require 2 fingers now require 3 fingers.
These are the files needed to make the touchscreen work
These binaries are essential to getting the touchscreen to work. Copy all of them into /itouch. Add symbolic links.
sudo ln -s iaPreciseTouchDescriptor.bin /itouch/integ_descriptor.bin
sudo ln -s SurfaceTouchServicingSFTConfigMSHW0078.bin /itouch/integ_sft_cfg_skl.bin
sudo ln -s SurfaceTouchServicingDescriptorMSHW0078.bin /itouch/vendor_descriptor.bin
sudo ln -s SurfaceTouchServicingKernelSKLMSHW0078.bin /itouch/vendor_kernel_skl.bin
This is specific firmware form the IPTS Copy skl_guc_ver4.bin to /lib/firmware/i915/skl_guc_ver4.bin. Then add the symbolic link
sudo ln -s /lib/firmware/i915/skl_guc_ver4.bin /lib/firmware/i915/skl_guc_ver4_3.bin
To get the pen working it's best use wacom drivers. Copy all files into /usr/share/X11/xorg.conf.d or /etc/X11/xorg.conf.d. /usr/share/X11/xorg.conf.d may get overwritten during an update. Reference https://m.reddit.com/r/SurfaceLinux/comments/422la9/sp3_help_getting_pen_input_to_work_properly/.
- Pressure sensitivity
- Eraser
- Side button hold and tap for right click
- Eraser button
Xorg config to reduce disaply blinking on certains applications. Reference https://www.reddit.com/r/SurfaceLinux/comments/4t64zt/getting_the_sp4_running_with_ubuntu_1604/
Copy 20-intel.conf to /usr/share/X11/xorg.conf/d/