Sailfish OS


Sailfish OS is an operating system for mobile phones developed by Jolla. It is Linux-based with a proprietary compatibility layer for Android and custom user interface by Jolla.
The OS first shipped with the original Jolla Phone in 2013; while its sale stopped in 2016, it was supplied with software updates until the end of 2020. It also shipped with Jolla Tablet in 2015 and from other vendors licensing the OS. The OS is ported by community enthusiasts to third-party mobile devices including smartphones and tablet computers. Sailfish OS can be used for many kinds of devices.

History and development

The OS is an evolved continuation of the Linux MeeGo OS previously developed by alliance of Nokia and Intel which itself relies on combined Maemo and Moblin. This base is extended by Jolla with a custom user interface and default applications.
The User Interface is very much based on gestures and pulley menus.

Software architecture

The and the Sailfish software development kit are based on the Linux kernel and a standard Linux stack. includes a multi-tasking graphical shell called "Lipstick" built with Qt by Jolla on top of the Wayland display server protocol.
It uses standard Linux middleware like Systemd, Pulseaudio and Qt. Glibc is the included C Library. The first Jolla Phone in 2013 used Btrfs for the filesystem, afterwards Ext4 has been used. RPM is used as a package manager with PackageKit and Zypper for dependency resolving.
For connectivity ConnMan is used to manage network connections. wpa_supplicant is used for wifi while Bluez is used for Bluetooth. oFono is used for telephone calls with VoLTE available only for the Sony Xperia 10 II and III.
For command-line access, Dash from BusyBox is installed by default, while Bash is also available. For remote access, SSH can be enabled in the settings, while root access is also possible.
For development, there is GCC, LLVM, Autotools, Make and Meson. Included languages are Python, Ruby, Perl and Rust. For Game development, SDL is available. The default IDE is Qt Creator.
Jolla uses free and open-source graphics device drivers while the Hybris library allows use of proprietary drivers for Android.
Some key components of Sailfish OS have been licensed proprietary by Jolla from the start and ever since. Since September 2025 some closed parts of Sailfish OS have been open sourced, with the announcement that more parts are to be followed.
Firejail is used for security sandboxing of native applications since version 4.0.1 in 2021.
can run some Android applications through a proprietary compatibility layer. It is running in an LXC container since Sailfish OS 3.0.1 from January 2019.

Targeted device classes

Sailfish is targeted at mobile devices. Sailfish can be used as a complete general-purpose Linux OS on devices including in vehicle infotainment, navigation, smart TV, desktops and notebooks, yachts, automotive, e-commerce, home appliances, measuring and control equipment, smart building equipment, etc. See the Devices section for devices that run the.

Sailfish OS SDK

The SDK was announced at the Slush Helsinki conference in 2012, and the alpha was published in February 2013. The SDK, installation and coding tutorials are available for free download from the website despite the overall license not being open source.
Sailfish SDK uses Qt with VirtualBox for development, compiling and emulation purposes, in contrast to the simulation method. This technique allows compilation on the and full testing of developed software in the virtual machine, emulating – not simulating – the whole. This also separates development activities and side effects from everything else running on the host computer, leaving it undisturbed by developments and tests. According to Jolla, development with Sailfish SDK is development on itself; there are no differences between developed software appearance and behaviour in the SDK and on a device running.
The availability of source code to the SDK allows shaping and rebuilding to companies' or developers' specific needs, creating a context-specific environment that is set once and needs no preparation when the device is booted. The SDK runs on the operating systems Android, 32- and 64-bit versions of Linux, 64-bit versions of OS X, and Microsoft Windows. It can be used for compiling software for devices from Linux sources. Its general console/terminal mode follows a commonly used standard. Compatible binaries or libraries can also be used.

Application programming interfaces

uses open source Qt APIs and a proprietary Sailfish Silica for the UI. Standard Linux APIs are provided.
Sailfish Browser is the default web browser based on Gecko and using embedlite, a lite-weight embedding API from Mozilla. Uses proprietary components.

Software overview

UI supported human languages

Officially Jolla declares supporting the following 14 languages for the user interface:
Danish, German, English (UK), Spanish, French, Italian, Norwegian, Polish, Portuguese, Finnish, Swedish, Russian, Chinese (mainland), and Chinese (Hong Kong). For each of them, the OS has a dedicated keyboard. There are a few more languages which are unofficially supported by community freelancers not under control by Jolla, hence more than 20 languages are supported in total. Additional languages can be installed by skilled users due to the Linux architecture.

Public "Early access" for beta testers and developers

After positive experiences with pushing early updates to a small group of opt-in users for Sailfish Update 9 and for the connectivity hotfix, Jolla has allowed all interested parties to try a new version of about 1–2 weeks before official release, in a program called "Early access". It is expected to be useful for developers and technically minded users, and a step towards more community integration into the Sailfish release process, including improvement of quality by identifying critical issues which only show up in certain environments or device setups, before rolling the update out to the wider user audience. As an added bonus, it provides a window for developers to test their applications on new releases of.
In the long term it will help Jolla to establish a developer program with early release candidate access for registered developers, and to have more community involvement in platform development. The first detail Jolla is hoping to learn from this is how it can gather feedback from a large audience in a reasonable way.
Basic details about the early access update:
  • The early release access is meant primarily for advanced users and developers.
  • To sign up for the program there is a checkbox in the Jolla accounts profile page.
  • Installed early-access release cannot be downgraded. The only way to downgrade from early access releases is to do a factory reset after removing the sign up check from the user's account profile.
  • Early access releases should be considered "reasonably stable". Issues found during that period will either be fixed, or added to "known issues" on the release notes.
  • Signing up for the early access releases will not void warranty.

Version history

has three naming conventions: version number, update number and version name.
Software versionInitial release dateName
v0.99.513 November 2013Haaganlampi
v0.99.611 November 2013Idörpottarna
v1.0.016 November 2013Kaajanlampi
v1.0.12 December 2013Laadunjärvi
v1.0.227 December 2013Maadajärvi
v1.0.327 January 2014Naamankajärvi
v1.0.411 March 2014Ohijärvi
v1.0.57 April 2014Paarlampi
v1.0.6Not releasedRaatejärvi, was merged into v1.0.7
v1.0.73 June 2014Saapunki
v1.0.83 July 2014Tahkalampi
v1.1.016 September 2014Uitukka, was labelled as "opt-in upgrade"
v1.1.114 December 2014Vaarainjärvi
v1.1.21 February 2015Yliaavanlampi
v1.1.3Not releasedÅkanttrasket, was merged into v1.1.4
v1.1.424 March 2015Äijänpäivänjärvi
v1.1.5Not releasedÖsterviken, was dropped at release candidate stage
v1.1.627 May 2015Aaslakkajärvi
v1.1.724 June 2015Björnträsket
v1.1.918 August 2015Eineheminlampi
v2.0.019 October 2015Saimaa
v2.0.112 January 2016Taalojärvi
v2.0.213 May 2016Aurajoki
v2.0.36 July 2016Espoonjoki, OS version solely for the Turing Phone
v2.0.44 November 2016Fiskarsinjoki
v2.0.514 December 2016Haapajoki
v2.1.03 February 2017Iijoki
v2.1.115 May 2017Jämsänjoki
v2.1.220 September 2017Kiiminkijoki
v2.1.36 October 2017Kymijoki
v2.1.412 February 2018Lapuanjoki
v2.2.030 May 2018Mouhijoki
v2.2.131 August 2018Nurmonjoki
v3.0.029 October 2018Lemmenjoki
v3.0.12 January 2019Sipoonkorpi
v3.0.213 March 2019Oulanka
v3.0.323 April 2019Hossa
v3.1.015 July 2019Seitseminen
v3.2.024 October 2019Torronsuo
v3.2.15 December 2019Nuuksio
v3.3.01 April 2020Rokua
v3.4.022 September 2020Pallas-Yllästunturi
v4.0.13 February 2021Koli
v4.1.010 May 2021Kvarken
v4.2.025 August 2021Verla
v4.3.028 October 2021Suomenlinna
v4.4.015 March 2022Vanha Rauma
v4.5.02 February 2023Struven Ketju
v4.6.020 May 2024Sauna
v5.0.024 February 2025Tampella

Stop releases

When updating an installed Sailfish OS from an earlier release, for example after device factory reset, there are several stop releases which must not be skipped and have to be installed before continuing on the path to subsequent releases. These releases provide new functionality that is not compatible with previous releases and have to be traversed in order not to put the Sailfish OS installation into an unstable state.
Software versionRelease dateName
v1.0.2.527 December 2013Maadajärvi
v1.1.2.1625 February 2015Yliaavanlampi
v1.1.7.2831 August 2015Björnträsket
v1.1.9.3022 October 2015Eineheminlampi
v2.0.0.103 November 2015Saimaa
v2.0.5.622 November 2016Haapajoki
v2.2.0.297 June 2018Mouhijoki
v3.0.0.811 November 2018Lemmenjoki
v3.2.0.125 November 2019Torronsuo
v3.4.0.2413 October 2020Pallas-Yllästunturi
v4.0.1.4816 February 2021Koli
v4.1.0.2427 May 2021Kvarken
v4.2.0.2116 September 2021Verla
v4.3.0.1516 February 2022Suomenlinna
v4.4.0.7230 September 2022Vanha Rauma
v4.5.0.2529 February 2024Struven ketju
v4.6.0.1520 September 2024Sauna
v5.0.0.7130 October 2025Tampella

Porting

The Sailfish website publishes an online compendium of knowledge, links and instructions on porting issues.

Using Android software running on

In addition to its native applications, Sailfish can run some Android applications by installing them from an application store or directly through an APK file. Supported Android version is 4.1.2 on the original Jolla phone while Android 4.4.4 is supported on the Jolla C, Jolla tablet and Xperia X. Android 11 is supported on the Xperia XA2, Xperia 10, Xperia 10 II|Xperia 10 II] and Xperia 10 III with Sailfish 5.0. Android 13 is supported on the Jolla C2, Xperia 10 IV and Xperia 10 V with Sailfish 5.0.
Sailfish OS uses Alien Dalvik, a proprietary Android compatibility layer. It does not emulate Android, but instead implements its APIs by adapting the Android Open Source Project (AOSP) code to run as an application. Android applications can thus run at native speed without any perceivable slow-down. Sailfish can run both native Sailfish and Android software simultaneously, with the user switching between them on the fly.
Starting with Alien Dalvik 8.1, it uses LXC to improve security by better isolation, in the same way the open source Android compatibility layer Anbox is doing.

Hardware overview

can be used on any hardware with Linux-kernel support and compatible with the middleware. Community enthusiasts have ported to a number of devices this way. Instead of designation to a specific reference hardware platform, a VirtualBox implementation with the SDK is available for development on Linux, OS X and Windows operating systems. This virtual machine implementation contains the whole isolated from local resources and the local OS to enable convenient evaluation of the behaviour and performance of coded or ported software before deployment on real devices.

Jolla devices

  • Jolla Phone .
  • Jolla C2 Community Phone – Reference device designed for the Sailfish community. Delivery starting 2024. The hardware was created in collaboration with Reeder.
  • Jolla C Community Phone – Limited edition for the Sailfish OS community and developers. Announced in 2016. Not supported anymore.
  • Jolla Tablet – Crowdfunding project that did not deliver.
  • Jolla Phone – First Sailfish phone.

[|Devices] from other vendors licensing

Manufacturers can provide mobile equipment with a licensed, or as open source, or combining both and including their own or the operator's modifications and branding for specific markets or purposes.

Community enthusiasts' ports to devices from other vendors

Due to the relative ease of porting and the open source license, has also been unofficially ported to other 3rd-party devices. The Hardware Adaptation Development Kit for porters has been published and is free. These ports are mostly published on the Maemo and XDA Developers forums, and in the Mer wiki a list of the ports is compiled. Due to license restrictions, proprietary parts or extensions such as the Alien Dalvik compatibility layer for Android apps are not included. However they can be added, e.g. when a manufacturer or distributor turns it from the community version into an officially supported version for a particular device. From the originally more than 80 ports, there are about 19 ports that are still in active development – as of March 2019 – meaning they have been updated to Sailfish 3:
To display the ease of porting to other devices, Jolla showed created ports and community ports at events like the Mobile World Congress, Slush and FOSDEM:

OS development status

is promoted by Jolla and supported by the open Sailfish Alliance established in 2011, a group established to unite OEM and ODM manufacturers, chipset providers, operators, application developers and retailers. On 16 August 2012, the user interface was reported to be ready for release. Jolla's CEO Jussi Hurmola stated in a ZDNet interview, " ... Our UI is ready now, we haven't released it yet, we will save it for the product launch and the platform is getting up now so the project looks pretty nice".
The next day, Jolla's CEO Marc Dillon wrote on Twitter that the company had reached the first development target. Sailfish was debuted by the Jolla team, including a worldwide internet stream, as a demo of the OS, and the UI and SDK during the Slush event in Helsinki, Finland, on 21–22 November 2012. The alpha stage of SDK was published at the end of February 2013 and was made available for free download.
On 16 September 2013, Jolla announced that its OS had been made compatible with Android applications and hardware. The first telephone to use it was launched on 27 November 2013 at a pop-up DNA Kauppa shop in Helsinki. The first 450 telephones were sold at this event, while the rest of the preordered devices were shipped shortly after.
In August 2015, version 1.1.9 "Eineheminlampi" was released, which added the main elements of the revamped user interface.
was launched with the Jolla Tablet, and existing devices, both smartphones and tablets, from Jolla's official distribution channels are supported with upgrade to and following updates.
In May 2016 Jolla announced the Sailfish Community Device Program, supporting developers and members of community.

Aurora OS

Jolla staff met with members of the Russian technology community to break ground on the new software and promote, as part of Jolla's BRICS strategy. As a result of those efforts, on 18 May 2015 the Russian minister of communications Nikolai Nikiforov announced plans to replace Apple's iOS and Google's Android platforms with new software based on Sailfish. He intends it to cover 50% of Russian needs in this area during next ten years, in comparison to the 95% currently covered with western technology. The Russian version is currently being developed under the brand name Mobile OS "Aurora" , before 2019 as "Sailfish Mobile OS RUS". The Chinese multinational technology company Huawei was in talks with the Russian Ministry of Communications to install Aurora OS on tablets for Russia’s population census by August 2020.
Jolla has cut business ties with Russia in 2021.

Sailfish Alliance

Sailfish Alliance was the open alliance established in 2011 by Jolla company to support the MeeGo ecosystem with new products, services and business opportunities around or using Sailfish OS.
The alliance was seen as a competitor to other groups like Android's Open Handset Alliance.
The aim of the Alliance was to offer unique differentiation opportunities and sustainable competitive advantage for OEM and ODM manufacturers, chipset providers, operators, application developers, retailers and other interested in sides.

Sailfish Secure

Sailfish Secure was announced in 2015 as an open and secure mobile phone platform, based on Sailfish OS. It was introduced publicly in Barcelona, Spain at the Mobile World Congress on 2 March 2015 where plans for Sailfish Secure were presented.
It was based on a security-hardened version of Sailfish OS 2.0 and SSH's communication encryption and key management platform. It was developed by Jolla together with SSH Communications Security.