linux-surface/README.md

77 lines
2.8 KiB
Markdown
Raw Normal View History

# Linux Surface
Linux running on the Surface Book, Surface Book 2, 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
2017-11-14 17:59:55 +00:00
For the ipts_firmware files, please select the version for your device.
2017-11-13 02:24:26 +00:00
* v76 for the Surface Book
* v78 for the Surface Pro 4
* v79 for the Surface Laptop
* v101 for Surface Book 2 15"
2017-11-13 02:24:26 +00:00
* v102 for the Surface Pro 2017
* v137 for the Surface Book 2 13"
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
6. Install the latest marvell firmware:
* git clone git://git.marvell.com/mwifiex-firmware.git
* sudo mkdir -p /lib/firmware/mrvl/
* sudo cp mwifiex-firmware/mrvl/* /lib/firmware/mrvl/
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-11-14 17:59:55 +00:00
### NOTES
If you are getting stuck at boot when loading the ramdisk, you need to install the Processor Microcode Firmware for Intel CPUs (usually found under Additional Drivers in Software and Updates).
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