Sailfish - Ein Erfahrungsbericht

SailfishX auf einem Xperia XA2

Auf die Firma Jolla und ihre Hard- bzw. Software wurde ich bereits im Jahr 2013 aufmerksam, als das erste Jolla Phone mit dem hauseigenen OS Sailfish auf den Markt kam und dies breit durch die Medien ging. SailfishOS basiert auf Mer, welches eine Fortführung von MeeGo ist. MeeGo sollte eigentlich (u.a.) in Nokias neuen Smartphones Verwendung finden, was allerdings durch den damaligen Kauf Nokias von Microsoft nicht mehr stattfand (das einzige MeeGo Gerät war das Nokia N9). Im Nachhinein betrachtet eine bedauerliche Entwicklung, denn was hätte aus Nokias bekanntlich guter Hardware mit diesem System werden können…

Hardware

Jolla selbst produziert seit längerer Zeit keine eigene Hardware mehr und ein Test auf einem 7 Jahre alten Gerät kam eher nicht in Frage. Stattdessen kann man nun alternativ unterstützte Hardware und eine SailfishX Lizenz für ca. 50€ erwerben. Nach Erfahrungsberichten in der Community, scheinen die Xperia Geräte von Sony eine gute Wahl zu sein, weshalb ich mich auch für ein XA2 entschied und die Meinung der Community insofern bestätigen kann.

Installation

Die Installation von SailfishX findet fast genauso wie bei einem Android Custom ROM statt. Benötigt wird hier nur fastboot bzw. die Android Tools um sich mit dem Gerät zu verbinden. Einziger Unterschied ist, dass noch ein Unlock-Key auf Basis der IMEI bei Sony abgefragt werden muss, welchen man vor der Installation angibt. Die eigentliche Installation (flashen) findet über ein Shellscript auf Kommandozeile statt, welches aufgerufen wird.
Übrigens ist die Lizenz anschließend an das Gerät gebunden (eigentlich auch an die Person). Ein Weiterverkauf der Lizenz ist also leider nicht möglich.

Design

Sailfish hob sich damals schon von der Masse ab und die Entwickler haben sich scheinbar einige Gedanken zur Bedienbarkeit eines Smartphones ohne Tasten gemacht. Das System war seiner Zeit voraus. Nach einem sehr guten Tutorial ist man eigentlich sofort in der Lage das UI bzw. die eingängige Gestensteuerung zu bedienen. Das Ganze ist dabei auch noch nett anzuschauen. Sailfish ist recht minimalistisch gehalten, was mir persönlich sehr gut gefällt. Der Ansatz laufende Apps auf dem Home-Screen statt im Hintergrund anzuzeigen ist zwar einzigartig, aber bestimmt auch Geschmackssache. Das System kommt von Haus aus mit einigen Themes, sogenannten Ambients, welche sich auch selber erstellen lassen. Über diese Funktion werden auch die Hintergrundbilder verwaltet bzw. geändert.

Sailfish Homescreen Hauptmenü Oberes Menü

Auswahl verschiender Ambients Mitteilungszentrale und Wetter-Widget Update Menü

Basissystem

Das Basissystem ist sehr aufgeräumt und kommt nur mit den notwendigsten bzw. gängigsten vorinstallierten Apps (Kalender, Kontakte, Taschenrechner, Kamera etc.). Von Bloatware ist hier natürlich keine Spur, das System kann individuell "aufgebaut" werden. Die Einstellungen sind übersichtlich und intuitiv aufgebaut. Ein "verirren" in den Unterpunkten, wie es mir manchmal bei Android erging, ist hier eher ausgeschlossen. Das System verhält sich in seiner Basis schnell und flüssig. Ruckler, Abstürze, Hänger gibt es hier selten bis gar nicht. Dies kommt nur manchmal (aber in meinem Fall fast gar nicht) bei den Android Apps vor. Die Telefonqualität, welche bei Smartphones gerne mal außer Acht gelassen wird, ist bei Sailfish in Kombination mit dem XA2 meines Erachtens sehr gut.
Auch die vorinstallierte Kamera macht einen soliden Eindruck. Zwar liefert diese nur 16MP, aber für den ein oder anderen Schnappschuss reicht dies vollkommen aus. Wer hier mehr rausholen möchte, kann natürlich auf Drittanbieterapps zurückgreifen. Beim Thema Sicherheit kann das Sailfish noch durch eine Vollverschlüsselung des Systems punkten, welche nach der Installation automatisch aktiv ist.
Ein nicht weiter analysierter Fehler scheint in den Energiesparoptionen zu stecken. Selbst wenn diese gänzlich deaktiviert sind, ist das Gerät nicht mehr nutzbar wenn der Akku unter 10% fällt. Scheinbar wird die CPU dennoch massiv gedrosselt.
Die Akkuleistung bewegt sich in einem normalen Rahmen. Ich kam auf ca. 1-2 Tage.

Foto mit der integrierten Kamera App Foto mit der integrierten Kamera App

Apps

Und hier kommen wir zu einem Vor- und gleichzeitig großen Nachteil bei SailfishX. Die native App-Unterstützung ist wie zu erwarten war vergleichsweise mau. Was mich wirklich erstaunt hatte, war das (nicht vorhandene) Angebot an nativen Webbrowsern. Der mitgelieferte Browser ist sehr langsam, was unter anderem an dem Unterbau liegt (Render-Engine Gecko mittels Qt5-Embedding) und es gibt nur sehr wenige Alternativen im Jolla-Store. Das Problem scheint länger bekannt zu sein und nur für das XA2 zu bestehen.

Sofern es native Apps gibt, sind diese allgemein entweder akzeptabel, oder nicht zumutbar. Das trifft bspw. auch auf die Mastodon App "Tooter" zu. Mir persönlich gefiel das durchsichtige Design nicht und die Bedienung war leider umständlich. Die Verfolgung von zusammenhängenden Toots und das Antworten auf solche ist enorm umständlich. Außerdem meinte Tooter mir nach einiger Zeit immer wieder alle Benachrichtigungen anzeigen zu müssen, auch solche die Tage zurücklagen. Wenn man Toot! unter iOS gewohnt ist, ist Tooter zweifelsohne ein enormer Rückschritt. Auch die populärste OSM App aus dem Jolla Store gehörte in diese Kategorie. Für das nötigste reicht es, wobei die Suche nach einigen Orten keinerlei Ergebnisse lieferte. Für Matrix gab es leider noch nicht einmal eine native App. Bei meinem Ausflug über ein paar Tage hatte ich am Ende lediglich nur noch zwei native alltägliche Apps installiert (KeePass, GhostCloud). Der Rest kam aus dem Android Store bzw. F-Droid.

Der integrierte Webbrowser Startseite des Jolla Stores Eine OSM App

Die Mastodon App Tooter Der F-Droid Store

SailfishX lebt nach meiner Meinung also von der Android App Unterstützung. Diese läuft dafür auch sehr gut. Apps wie Osmand sind tatsächlich performant. Bis der richtige Webbrowser gefunden war, dauerte es allerdings eine Weile, da Firefox Focus bspw. recht langsam ist. Schlussendlich erwies sich Firefox Preview sogar mit uBlockOrigin Addon als gut nutzbar (während Firefox for Android Beta noch das Gegenteil bewies).

Da es den Signal Messenger nativ nicht gibt und dies mein Hauptmessenger ist, musste auch dieser über den Android Store kommen. Signal funktionierte grundsätzlich zwar, aber ein Bug mit Nextcloud und CardDAV sorgt dafür, dass die Kontakte nicht synchronisiert werden. Spiele habe ich abgesehen von Shakes&Fidget, welches einigermaßen ok lief, nicht getestet.

Nextcloud

Seit kurzem hat Sailfish eine im System implementierte Nextcloud Unterstützung, was ein riesiger Pluspunkt ist. So lassen sich direkt Dinge wie Kontakte, Kalender, usw. systemseitig konfigurieren.
Einzig die Möglichkeit mehrere Bilder auf einmal hochzuladen funktioniert leider nicht. Hierfür muss man auf auf die native App GhostCloud zurückgreifen. Die integrierte Datensicherung des Systems, welche allerdings warum auch immer Medieninhalte ausschließt, kann ebenfalls mit Nextcloud out of the box realisiert werden.

Integrierte Kontoverwaltung Nextcloud Kontoeinstellungen

Datensicherung per Nextcloud Die App GhostCloud

Unterbau

Eine der größten Stärken wie bei allen Linux basierten Smartphones ist natürlich der Unterbau und die Möglichkeit diesen auch nutzen zu können. Unter Sailfish läuft ein vollwertiges Linux, dass sich theoretisch nach belieben anpassen lässt. Ein sehr gutes Beispiel ist hier die Nutzung eines eigenen DNS-Proxy.
Ein hilfreicher Tipp für die Nutzung der Linux Kommandozeile ist die native App ShellEx, mit welcher sich schnell Befehle absetzen lassen, welche man auch speichern kann. Das ist z.B. praktisch für die Android-Systemeinstellungen, über die man anders nich drankommt (der Punkt fehlt in den Einstellungen).
Seit Version Sailfish 3.3 wird übrigens auch Flatpak unterstützt.

Entwicklermodus Die integrierte Terminal App Die App ShellEx

Nach der Aktivierung der Remote-Verbindung ist der Zugriff auf Sailfish per SSH möglich:



Zusätzliche Software

Das Basissystem kommt stellenweise nur recht spartanisch daher. So fehlt bspw. wget.
Um zusätzliche Software installieren zu können kann man pkcon verwenden, oder zypper nachinstallieren. Für wget reicht aber pkcon vollkommen aus. Als zusätzliche Paketquellen eignet sich openrepos.net. Über diese Seite bin ich auf den User NielDK auf openrepos.net gekommen, in dessen Repo alles notwendige für wget vorhanden ist.

Nachdem man unter den Einstellungen Fremdsoftware erlaubt hat, muss der openrepos.net Hauptschlüssel importiert werden:

rpm --import https://sailfish.openrepos.net/openrepos.key

Das Repo kann man mit ssu hinzufügen und sollte sofort aktiviert (enabled) sein:

ssu addrepo openrepos https://sailfish.openrepos.net/NielDK/personal/main/

Mit "ssu repos" kann kontrolliert werden, ob das Repo im User-Bereich aktiv ist.
Die Installation von wget erfolgt dann nur noch mit

pkcon install wget

dnscrypt-proxy

Auf allen meinen Systemen läuft mittlerweile dieses kleine Stück Software. Umso erfreulicher fand ich es, dass dnscrypt-proxy ebenfalls auf Sailfish ohne größere Probleme installiert werden kann.

Benötigt wird die arm-Version von dnscrypt-proxy (Version 2.0.44 verlinkt). Voraussetzung für die Installation ist natürlich, dass der Entwicklermodus aktiv ist und man per SSH auf dem Gerät ist.

Vor der Installation bzw. Nutzung muss der vorhandene DNS Proxy connmand deaktiviert werden:

    touch /var/lib/environment/connman/nodnsproxy.conf

    echo "CONNMAN_ARGS=--nodnsproxy" > /var/lib/environment/connman/nodnsproxy.conf

Diese Arbeit übernimmt anschließend dnscrypt-proxy, was noch für die mobilen Verbindungen konfiguriert werden muss. Dies erfolgt über Datei /home/.system/var/lib/connman/settings.
Dort sollte in der [WiFi] Sektion folgende Zeile stehen:

Nameservers=127.0.0.1;

Damit die Einstellungen wirksam werden, kann man connmand mit

systemctl restart connman.service

neustarten.

Die Installation von dnscrypt-proxy unterscheidet sich ansonsten nicht zu anderen Linux basierten Systemen.
Nachdem man die Konfigurationsdatei (dnscrypt-proxy.toml) nach seinen Anforderungen angepasst hat, kann der Dienst installiert und gestartet werden.



Fazit

Ich bin seit 2009 iOS User, allerdings mit einer einjährigen Unterbrechung mit Cyanogen Mod. Ich gebe daher offen zu, dass ich in der Hinsicht ein absolutes Gewohnheitstier bin und einige Vorzüge von iOS genieße. Ein Smartphone ist nun einmal ein alltäglicher Gebrauchsgegenstand und muss oder sollte in manchen Situationen einfach funktionieren. Sailfish ist da nur durch die Android App Unterstützung einigermaßen nah dran. Ohne diese wäre Sailfish nur zum experimentieren und entwickeln geeignet. Einen kleinen bitteren Nachgeschmack hat Sailfish insofern, dass es nur in Teilen Open Source ist. Das kann natürlich an dem Android-System Layer liegen, aber auch an der Exchange Unterstützung, welche Jolla ebenfalls nur bei einem lizensierten SailfishX anbietet.

Ich werde das Gerät nicht weiterverkaufen, sondern mir Sailfish auch mit den nächsten Updates immer mal wieder anschauen. Vielleicht kommt irgendwann auch eine Abkehr von Apple - wer weiß es schon :)