Changes: SAM: - Add support for Surface Book 3 in Surface HPS driver. The dGPU of the Surface Book 3 can now be turned on and off via the same mechanism already being used by the Surface Book 2. - Add SID devices for Surface Pro 6 with MSHW0111 ID. - Complete restructure of Surface Serial Hub driver internals. The old synchronous communication core has been replaced by a completely asynchronous implementation. - Misc. code improvements and clean-up. References: kernel: |
||
---|---|---|
.github | ||
configs | ||
patches | ||
pkg | ||
README.md | ||
setup.sh |
Linux Surface
Linux running on the Microsoft Surface devices. Follow the instructions below to install the latest kernel.
Supported Devices
- Surface Book
- Surface Book 2
- Surface 3
- Surface Go
- Surface Go 2
- Surface Laptop
- Surface Laptop 2
- Surface Laptop 3
- Surface Pro 3
- Surface Pro 4
- Surface Pro 2017
- Surface Pro 6
- Surface Pro 7
- Surface Studio
Features / What's Working
See the feature matrix for more information about each device.
Disclaimer
- For the most part, things are tested on a Surface Book 2. While most things are reportedly fully working on other devices, your mileage may vary. Please look at the issues list for possible exceptions.
Installation and Setup
We provide package repositories for the patched kernel and other utilities. Please refer to the detailed installation and setup guide. There, you may also find device-specific caveats.
If you want to compile the kernel yourself (e.g. if your distribution is not supported), please have a look at the wiki.
Additional Information
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).
- Using TLP can cause slowdowns, laggy performance, and occasional hangs if not configured properly! You have been warned.
- If you want to use hibernate instead of suspend, you need to create a swap partition or file, please follow your distribution's instructions (or here).
Support
If you have questions or need support, please use our Gitter Community!
For development related questions and discussions, please consider joining our IRC channel on freenode (freenode/##linux-surface
) or the equivalent Matrix bridge.