These are my notes for getting Linux working on the Surface Laptop 7 (ARM).
Based on the Ubuntu Concept image
Disclaimer: I have no experience with upstreaming patches, the patch review process, Linux coding conventions, etc. at all, so for now I'm just documenting everything here in the hope that more knowledgable people can help!
| Feature | Working? | Notes |
|---|---|---|
| NVMe | ✅ | |
| Graphics | ✅ | Requires firmware |
| Backlight | ✅ | |
| USB | Partially | USB-A and USB-C ports are working. Have not tested USB over Surface Connector |
| USB-C display output | ❓ | |
| Wi-Fi | ✅ | Requires kernel patch patches/0001-wifi-rfkill-hack.patch |
| Bluetooth | ✅ | #6 |
| Audio | ❌ | #2 |
| Touchscreen | ❌ | |
| Touchpad | ❌ | #5 |
| Keyboard | ✅ | |
| Lid switch/suspend | ✅ | #7 (comment) |
| Webcam | ❌ | #4 |
| RTC | ✅ | #8 |
Warning
Without installing the firmware, many hardware components will be broken!
Firmware blobs can be installed by running romulus-firmware-extract.sh as root. Requires internet access and msitools.
Attempting to boot the ubuntu-concept image will fail unless you specify the device tree in the GRUB config.
Press 'e' in grub when it shows the boot options and then replacing '$dtb' with 'devicetree /casper/x1e80100-microsoft-romulus13.dtb'"
There is an issue in the Firefox snap package that causes it to crash whenever you use the scroll wheel. The workaround is to switch to the .deb version.
I did so by following these instructions: https://askubuntu.com/a/1404401
- dwhinham for readme template and patches from Surface Pro 11: https://github.com/dwhinham/linux-surface-pro-11
- qzed from linux-surface: https://github.com/linux-surface/linux-surface
- everyone from the ubuntu-concept issue thread: https://bugs.launchpad.net/ubuntu-concept/+bug/2084951