A guide for the [Surface Pro 8](https://github.com/linux-surface/linux-surface/wiki/Surface-Pro-8). Based on https://github.com/linux-surface/linux-surface/wiki.
This guide is for [ArchLinux](https://archlinux.org/) and improves the instructions to be more structured and suited for the SP8.
* External keyboard, because Type Cover will not work without custom kernel
## Prepare
* If Windows is still on disk, boot into it and update everything, so Surface firmware gets updated
* Head into BIOS to _change boot order_ and disable _Secure Boot_
* Shut down device
* Press and hold _Volume up_ and in parallel hit power button once until boot logo appears
* Keep _Volume up_ pressed
* Disable Secure Boot entirely
* Change boot order by drag'n'drop USB Drive to first position, maybe uncheck all other options
## Install
Boot from USB drive and edit ISO live boot options to copy USB drive contents to RAM, because you need to plug in an external keyboard for installation
Proceed with install like you would usually do. [[KB/Linux/Desktop/ArchLinux/Install]] is an easy way with little configuration to get an install up and running.
Install the following packages, some of them are also in the [AUR](https://aur.archlinux.org/).
```shell
# the actual kernel and their headers
linux-surface
linux-surface-headers
# SP 8 is an Intel device
intel-ucode
# needed for later compiling modules
dkms
meson
```
### Make touchpad work and allow Type Cover during early boot (luks)
Touchpad will _not_ work out of the box. The SP8 needs a different touchpad module and the _proper_`iptsd`, not the one from the official linux-surface repository.
* For _ ithc_ to load properly, you need to edit kernel parameters in your `entries/....conf` file and add `intremap=nosid`. Add a `.conf` for the SP8 if not already present.
* You also need to edit the `MODULES` in your `/etc/mkinitcpio.conf` so that type cover will also work during early [encryption](https://github.com/linux-surface/linux-surface/wiki/Disk-Encryption) dialog
* Reboot, you should no longer need your external keyboard
### pen
Install `libwacom-surface` from the [AUR](https://aur.archlinux.org/).
### screen rotation
Install `iio-sensor-proxy`.
### 120hz display
Follow instructions [here](https://github.com/linux-surface/linux-surface/wiki/Surface-Pro-8#enable-120hz-and-solve-screen-flickering) to extract the EDID. Ensure you're in X.org.
Afterwards, your `entries/....conf` systemd-boot entry could look like