linux-surface/README.md

66 lines
2.5 KiB
Markdown
Raw Normal View History

# Linux Surface
2017-11-05 18:57:52 +00:00
Linux running on the Surface Book and Surface Pro 4. 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
* Docking/Undocking Tablet and Keyboard (for Surface Book)
### 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
2017-08-20 23:33:32 +00:00
1. Copy the files under root to where they belong:
 * $ sudo cp -R root/* /
2017-08-20 23:35:51 +00:00
2. Extract ipts_firmware.zip to /lib/firmware/intel/ipts/
2017-08-20 23:37:19 +00:00
* $ sudo mkdir -p /lib/firmware/intel/ipts
2017-11-01 23:34:51 +00:00
* $ sudo unzip ipts_firmware.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/
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
4 (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-03 23:51:05 +00:00
5. 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-03 23:51:05 +00:00
6. 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-03 23:51:05 +00:00
7. 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