Microsoft Surface Book 2 - ArchWiki

Jump to content
From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Stub (Discuss in Talk:Microsoft Surface Book 2)

Hardware | PCI/USB ID | Working?
--- | --- | ---
GPU (Intel) |  | Yes
GPU (Nvidia) |  | Yes
Wireless |  | Yes
Audio |  | Yes
Touchpad |  | Yes
Touchscreen |  | Yes
Camera |  | No
Card reader |  | Yes
Bluetooth |  | Yes

This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on Microsoft Surface Book 2 devices.

## Installation

The information in Boot loaders applies here. refind and systemd-boot work well.

### UEFI setup and disabling Secure Boot

Disabling Secure Boot is not necessary, but makes things easier.

Follow the manufacturer's directions for accessing UEFI setup:

1. Shut down your Surface and wait about 10 seconds to be sure it is off.
2. Press and hold the volume-up button on your Surface, and, at the same time, press and release the power button.
3. When you see the Surface logo, release the volume-up button. The UEFI menu will appear within a few seconds.

### Boot from USB

Booting from USB is possible by reordering boot devices in the UEFI setup.

## Graphics

### Drivers

The standard xf86-video-intel driver works with the Surface Book devices.

The Nvidia 1050 and 1060 cards in the Surface Book 2 Performance Base are recognized by the kernel and supported by nvidia and nvidia-dkms drivers.

Without the kernel (linux-surface), there was a bug which causes it to be effectively useless because when a load is put on the Nvidia graphics hardware, it immediately and severely throttles down to around 139MHz. The reason, as reported by nvidia-smi, is software thermal throttling. The cause is that, apparently, the fan cannot be controlled automatically, nor through nvidia-smi or nvidia-settings, even when the `Coolbits` option is set to 8.

### Console fonts

Because of the screen's resolution, the console font is barely readable - refer to Linux console#Fonts on how to change them.

Using terminus-font with 32pt looks good on Surface Book 2 on the vconsole (add `FONT=ter-m32n` to `/etc/vconsole.conf` after installing).

## Touchscreen

Only works in a Window Manager or Desktop Environment that has full support for it. It is recognized as a mouse click otherwise.

## Audio

Surface Book 2 devices exhibit a hissing noise at times. See Advanced Linux Sound Architecture#Disabling auto mute on startup for the fix.

## WiFi

Requires the installation of the linux-firmware-marvell package for the wireless network interface to be recognized by the kernel.

Since September 2018, Surface Book 2 WiFi may power off during use. When this happens, it is not visible with lspci and rebooting is a way to get it back on. However, this behavior can be prevented (temporarily) by installing iw and running the following command as root:

    # iw dev wlp1s0 set power_save off

To permanently fix the issue with NetworkManager, add this to your NetworkManager config. (Such as `/etc/NetworkManager/NetworkManager.conf`)

    [connection]
    wifi.powersave = 2
    [device]
    wifi.scan-rand-mac-address=false

## Keyboard base

Removal is a few seconds slower in Linux than in Windows, may cause touchscreen to stop working until reboot and may cause issues with dedicated graphics (if equipped).

## Hibernation

Hibernation with the qzed kernel only works when the touchscreen firmware loading is disabled (adding `i915.enable_guc=0` to the kernel parameters).

## Camera

Reportedly not working.

Categories:

- Microsoft
- Tablet PCs

Hidden category:

- Pages or sections flagged with Template:Laptop style