Arch Linux - Surface Book 3
I have installed Arch Linux on a Microsoft Surface Book 3 to use as my “focus” machine. This page outlines some things I’ve had to install and tweak.
Most everything works out of the box except the cameras. Suspend (which works inconsistently) also eats up 20%+ of the battery life overnight.
This is not a recommended laptop for running Linux.
Visual Studio Code hangs on launch
Had this issue.
Work around add to ~/.vscode-oss/argv.json
"password-store": "basic"
Toshy - Mac key bindings
Installed Toshy because apparently it works better with Wayland.
Install xremap-gnome for this to work on Wayland.
SSH Agent
Add this to ~/.bashrc
# ssh-agent modified from: https://wiki.archlinux.org/title/SSH_keys#ssh-agent
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
ssh-agent > "$XDG_RUNTIME_DIR/ssh-agent.env"
fi
if [[ ! -f "$SSH_AUTH_SOCK" ]]; then
source "$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null
fi
Realized that the timeout is set to 1 hour with the “-t 1h” flag. I removed this since it was annoying.
Jetbrains Mono, Apple and Microsoft fonts
Arch has this
sudo pacman -S ttf-jetbrains-mono apple-fonts ttf-ms-win11-auto
Set the default for Visual Studio Code: https://stackoverflow.com/questions/59776906/how-do-i-change-vs-code-settings-to-use-jetbrains-mono-font
Avahi
Install
sudo pacman -S avahi nss-mdns
Enable and start
sudo systemctl enable avahi-daemon.service
sudo systemctl start avahi-daemon.service
Enable hostname resolution. Modify line in /etc/nsswitch.conf
hosts: mymachines mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns
Brother HL-3170CDW printer
Install CUPS
sudo pacman -S cups
systemctl enable cups.service
systemctl restart cups.service
systemctl status cups.service
Install driver
yay -S brother-hl3170cdw
Add printer via CUPS Administration http://localhost:631/admin
Other
chromium
code
freetube
git
go
hugo
jq
rust
sudo
vim
Unresolved issues
i915 0000:00:02.0: [drm] ERROR Link Training Unsuccessful
dmesg output:
[ 861.301517] i915 0000:00:02.0: [drm] *ERROR* Link Training Unsuccessful
Similar to: https://github.com/NixOS/nixpkgs/issues/36392
Appears to be an issue with the dock and using a USBC to Display Port cable.
.. Switching from Gnome (Wayland) to Gnome Classic (X11) has resolved some annoying suspend issues.
Suspend is inconsistent
Tracking the issue: https://github.com/linux-surface/linux-surface/issues/1412