UPDATE FOR FEDORA 31: https://medium.com/@TheBitStick/fedora-31-on-the-surface-go-f81dbb9fa91b

Setting up this thing has taken a few days and many hours of free time.

So here’s a tutorial of absolutely everything I did to setup this thing.

Photo by Yongma Seo on Unsplash

Get the ISO installed. Surfaci do not use MBR for USB Boot, but rather, ONLY GPT UEFI Boot. I don’t know any tool on Linux that allows you to create a GPT Bootable LiveCD, so you’ll have to grab a friend’s Windows PC and use Rufus to create a GPT USB of Fedora. It can be either Workstation or Silverblue. But make sure YOU HAVE AT LEAST 4GB OF SWAP. Get Wi-Fi Working. Download this binary driver on another computer and somehow get it on the Surface Go (either via USB or just using Ethernet and downloading it on the Surface Go). Place that binary in /usr/lib/firmware/ath10k/QCA6174/hw3.0/board.bin and delete /usr/lib/firmware/ath10k/QCA6174/hw3.0/board-2.bin. Then create /etc/modprobe.d/ath10k.conf and have options ath10k_core skip_otp=y in that file.

Note that you will have to do this every time firmware updates. :/ Download the Linux Surface Kernel. Someone (specifically Dorian Stoll “StollD”) is kind enough to provide a Gitlab Fedora Repo for builds of the Kernel from jakeday with some extra Fedora goodies. Follow the instructions on their Gitlab. Although skip the part where it asks to download the jakeday kernel, that is unnecessary. Enable Fastest Mirror and DeltaRPM. Just to make DNF better, add these two lines to /etc/dnf/dnf.conf

fastestmirror=true

deltarpm=true Enable Fractional Scaling on GNOME. 200% is HUGE and 100% is so small. I recommend 150%. Setup Fractional Scaling on GNOME/Wayland with this Gsettings command

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

If you prefer X11 (you don’t.), then use this command

gsettings set org.gnome.mutter experimental-features "['x11-randr-fractional-scaling']"

Then just logout. Install some cool fonts.

sudo dnf install google-noto-sans-fonts google-noto-serif-fonts google-noto-sans-mono-fonts lato-fonts Flatpak!

Awwww yeah

Flatpaks are AWESOME. And you should really use some. Only resort to traditional RPM/DNF if you can’t find something on Flathub.