Linux auf dem Surface Go — Installation & erste Eindrücke
Linux auf dem Surface Go — Installation & erste Eindrücke
Bevor irgendetwas installiert werden kann, braucht man einen bootfähigen USB-Stick. Der klassische Weg ist der den Ubuntu in der offiziellen Installationsanleitung beschreibt — ISO herunterladen, mit einem Tool wie Rufus oder balenaEtcher auf den Stick flashen, fertig.
Ich habe mich stattdessen für Ventoy entschieden. Ventoy präpariert den Stick einmalig, danach kann man beliebig viele ISO-Dateien einfach per Drag & Drop draufkopieren — kein erneutes Flashen. Da ich vorhatte mehrere Live-Systeme auszuprobieren, war das die praktischere Wahl. Dazu wird noch ein eigener Artikel folgen, aber kurz gesagt: Ventoy war bereits vorbereitet, die Ubuntu 24.04 LTS ISO einfach draufkopiert, fertig.
Warum Ubuntu — und warum nicht CachyOS
Mein erster Versuch war tatsächlich nicht Ubuntu. Ein Kollege aus dem Makerspace hatte CachyOS vorgestellt — eine Arch-basierte Distribution mit starkem Fokus auf Performance-Optimierungen. Durch Docker-Container hatte ich bereits Berührungspunkte mit Arch, und die Idee, auf dem kleinen Pentium Gold 4415Y jede mögliche Performance herauszuholen, war verlockend.
Das Problem: CachyOS und der linux-surface Kernel — der für vernünftigen Surface-Hardware-Support zwingend notwendig ist — ließen sich nicht gemeinsam zum Laufen bringen. Nach einigem Herumprobieren war klar: das ist keine sinnvolle Basis für dieses Projekt.
Also zurück zur Ausgangsfrage. Meine Kriterien waren:
- Debian-basiert, weil ich das von Raspberry Pi und Servern kenne
- Große Distribution wegen Community-Support und verfügbaren Paketen
- Wayland statt X11 — moderner Display-Server, bessere Touch-Integration
- linux-surface Unterstützung als harte Voraussetzung
Ubuntu 24.04 LTS erfüllt alles davon. Das linux-surface Projekt verwendet Ubuntu als primäre Zieldistribution und liefert fertige Pakete dafür. Außerdem kannte ich Ubuntu bereits oberflächlich. Die Entscheidung war schnell getroffen.
UEFI einrichten — Secure Boot und Boot-Reihenfolge
Bevor man vom USB-Stick booten kann, sind zwei Dinge im UEFI zu erledigen. Das UEFI auf dem Surface Go erreicht man indem man Volume Up gedrückt hält und dann Power drückt.
Secure Boot deaktivieren: Linux lässt sich zwar prinzipiell mit aktiviertem Secure Boot betreiben, aber in Kombination mit dem linux-surface Kernel und Ventoy ist das unnötige Komplexität. Einfacher ist es, Secure Boot im UEFI komplett zu deaktivieren. Der Eintrag findet sich unter Security → Secure Boot.
Boot-Reihenfolge anpassen: Standardmäßig bootet das Surface Go von der internen SSD. Da ich in Zukunft öfter mit verschiedenen Live-Systemen experimentieren möchte, habe ich USB dauerhaft an die erste Stelle gesetzt. Der Eintrag findet sich unter Boot Configuration. Wenn kein USB-Stick steckt, fällt das System automatisch auf die interne SSD zurück — das ist kein Problem.
Nach den Änderungen Exit → Restart und weiter.
Booten vom USB-Stick
Mit der geänderten Boot-Reihenfolge startet der Ventoy-Stick automatisch sobald er eingesteckt ist. Alternativ kommt man jederzeit einmalig ins Boot-Menü indem man Volume Down gedrückt hält und dann Power drückt — dort erscheint der Stick ebenfalls zur Auswahl.
Das Live-System — ein erster Eindruck
Vor der eigentlichen Installation habe ich kurz im Live-System herumgeschaut um zu sehen was funktioniert und was nicht.
Der erste Eindruck war: etwas träge. Das Live-System läuft komplett vom USB-Stick und hat keinen Swap — das merkt man. Als Vorschau auf das installierte System taugt es also nur bedingt.
Beim Hardware-Check gab es eine angenehme Überraschung: Das Type Cover hat sofort funktioniert — Tastatur und Touchpad beide ohne jegliche Konfiguration. Das war nicht selbstverständlich, Surface-Hardware gilt als schwierig unter Linux.
Weniger überzeugend war der Touchscreen. Er hat technisch funktioniert, aber das Gefühl war seltsam — träge, ungenau, nicht das was man von einem modernen Touch-Display erwartet. Der Surface Pen hat ebenfalls nicht wie erwartet reagiert. Beides ist bekannt und lösbar, aber dazu kommt es in einem späteren Artikel.
Die Displaygröße auf dem 10-Zoll-Screen ohne Skalierung war erwartungsgemäß winzig. Auch das ist lösbar.
Installation
Nichts Spektakuläres — der Standard-Ubuntu-Installer. Die relevanten Entscheidungen:
- Normale Installation mit Third-Party-Software und Updates während der Installation
- Disk löschen und Ubuntu installieren — kein Dual Boot, das Gerät gehört Linux
Nach Abschluss und Neustart als erstes ein vollständiges System-Update:
sudo apt update && sudo apt upgrade -y
sudo reboot
Fractional Scaling einrichten
Das 1800×1200 Display auf 10 Zoll ist scharf, aber ohne Skalierung ist alles unlesbar klein. GNOME unterstützt Fractional Scaling, versteckt die Option aber hinter einem experimentellen Flag:
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
Danach unter Einstellungen → Anzeigegeräte → Skalierung erscheinen Optionen jenseits von 100% und 200%. 150% oder 175% trifft den Sweet Spot für diesen Screen.
Hardware-Status nach Phase 1
| Hardware | Status |
|---|---|
| Type Cover Tastatur | ✅ Funktioniert |
| Type Cover Touchpad | ✅ Funktioniert |
| Touchscreen | ✅ Funktioniert (Feeling noch nicht optimal) |
| Display / Skalierung | ✅ Funktioniert |
| WiFi | ✅ Funktioniert |
| Surface Pen | 🔲 Noch nicht einsatzbereit |
| IR-Kamera / Face Login | 🔲 Braucht linux-surface Kernel |
| Audio | 🔲 Braucht linux-surface Kernel |
Die Basis steht — aber das eigentlich Wichtige kommt erst im nächsten Schritt: der linux-surface Kernel.