linux-surface/README.md

72 lines
2.7 KiB
Markdown
Raw Normal View History

# Linux Surface
Linux running on the Surface Book, Surface Pro 4, Surface Pro 2017 and Surface Laptop. Follow the instructions below to install the latest kernel and config files.
### What's Working
2017-08-20 23:33:32 +00:00
* Keyboard (and backlight)
* Touchpad
* 2D/3D Acceleration
* Touchscreen
2017-10-20 20:28:57 +00:00
* Pen (if paired and multi-touch mode enabled)
2017-08-20 23:33:32 +00:00
* WiFi
* Bluetooth
* Speakers
* Power Button
* Volume Buttons
* SD Card Reader
* Cameras (partial support)
* Suspend/Hibernate
* Sensors (accelerometer, gyroscope, ambient light sensor)
* Battery Readings
2017-11-09 02:47:57 +00:00
* Docking/Undocking Tablet and Keyboard
### What's NOT Working
2017-08-20 23:33:32 +00:00
* Dedicated GPU (if you have a performance base on a Surface Book, otherwise onboard works fine)
* Cameras (not fully supported yet)
2017-11-03 23:51:05 +00:00
### Download Pre-built Kernel and Headers
Downloads for ubuntu based distros (other distros will need to compile from source in the kernel folder):
https://goo.gl/QSZCwq
2017-11-03 23:51:05 +00:00
You will need to download both the image and headers deb files for the version you want to install.
### Instructions
NOTE: For the ipts_firmware files, please select the version for your device.
v76 for the Surface Book
v78 for the Surface Pro 4
v79 for the Surface Laptop
v102 for the Surface Pro 2017
2017-11-09 02:47:57 +00:00
2017-08-20 23:33:32 +00:00
1. Copy the files under root to where they belong:
 * $ sudo cp -R root/* /
2017-11-09 02:47:57 +00:00
2. Extract ipts_firmware_[VERSION].zip to /lib/firmware/intel/ipts/
2017-08-20 23:37:19 +00:00
* $ sudo mkdir -p /lib/firmware/intel/ipts
2017-11-09 02:47:57 +00:00
* $ sudo unzip ipts_firmware_[VERSION].zip -d /lib/firmware/intel/ipts/
2017-11-03 23:51:05 +00:00
3. Extract i915_firmware.zip to /lib/firmware/i915/
* $ sudo mkdir -p /lib/firmware/i915
* $ sudo unzip i915_firmware.zip -d /lib/firmware/i915/
2017-11-06 18:15:44 +00:00
4. (Ubuntu 17.10) Fix issue with Suspend to Disk:
* $ sudo ln -s /lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -s /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service
2017-11-06 18:15:44 +00:00
5. (all other distros) Fix issue with Suspend to Disk:
* $ sudo ln -s /usr/lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -s /usr/lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service
2017-11-06 18:15:44 +00:00
6. Set permissions on mwifiex_pcie.sh script:
* $ sudo chown root /lib/systemd/system-sleep/mwifiex_pcie.sh
2017-10-23 20:27:01 +00:00
* $ sudo chmod 755 /lib/systemd/system-sleep/mwifiex_pcie.sh
2017-11-06 18:15:44 +00:00
7. Install the custom kernel and headers:
2017-10-24 00:45:41 +00:00
* $ sudo dpkg -i linux-headers-[VERSION].deb linux-image-[VERSION].deb
2017-11-06 18:15:44 +00:00
8. Reboot on installed kernel.
2017-10-24 00:45:41 +00:00
NOTE: If your network won't connect on the 4.14.x series, you need to apply the apparmor-fix-4.14.patch file in /etc/: $ cd /etc/ && sudo patch -p1 < /path/to/apparmor-fix-4.14.patch
2017-10-20 20:28:57 +00:00
### Donations Appreciated!
2017-11-05 18:57:52 +00:00
PayPal: https://www.paypal.me/jakeday42
2017-08-20 23:33:32 +00:00
Bitcoin: 1JkpbAJ41W6SUjH9vCRDpHNNpecjPK3Zid