Create a Linux boot drive

  • Download the ISO from the Fedora KDE official site.
  • Use Ventoy to create a boot drive.
  • Surface Go 2 only has Type-C ports, so you may need a hub. It cannot boot from an SD card.

Install Linux

  • Shut down the Surface Go 2.
  • Hold the power button and volume up to enter UEFI. The interface is touch-capable, but you may still need a physical keyboard for installation.
  • Fedora supports Secure Boot, but it is recommended to disable it to avoid manual signing when installing drivers.
  • Set the boot order to the USB drive.
  • Boot and follow the installer. Choose to wipe the disk and install Fedora.
  • For Chinese input, install Fcitx5:
    • sudo dnf install fcitx5 fcitx5-chewing fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt fcitx5-qt6 fcitx5-configtool
  • Tip: Fedora enables zRAM by default. If the Surface Go has limited RAM, edit /etc/systemd/zram-generator.conf to increase SWAP size (MB).
    • [zram0]
    • zram-size = 8192

Install the linux-surface kernel

  • Follow the GitHub instructions. On Fedora, add the linux-surface repo to the system:
    • sudo dnf config-manager addrepo --from-repofile=https://pkg.surfacelinux.com/fedora/linux-surface.repo
  • Install the linux-surface kernel and reboot:
    • sudo dnf install --allowerasing kernel-surface iptsd libwacom-surface
  • Use uname -a to verify the kernel is switched; it should show linux-surface.
  • Fedora updates kernels frequently, so new kernels may override the linux-surface kernel. After installing the linux-surface packages, the linux-surface-default-watchdog.path service is enabled automatically to ensure linux-surface is used on boot.

Using the virtual keyboard on KDE

Enable it in System Settings → Keyboard → Virtual Keyboard. Note that this keyboard cannot be used with Fcitx5.

If you want a touch-only setup, install Plasma Mobile: sudo dnf install plasma-mobile (You can switch to the Plasma Mobile desktop on the login screen).