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, emulatingnot simulatingthe 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, Spanish, French, Italian, Norwegian, Polish, Portuguese, Finnish, Swedish, Russian, Chinese, and Chinese. 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
- Sailfish OS 1.0 versions were named after Finnish lakes.
- Sailfish OS 2.0 supports the Jolla Tablet with x86 platforms and featured a reworked touch based UI. Releases were named after Finnish rivers.
- Sailfish OS 3.0 and 4.0 features a slightly reworked UI. Releases are named after Finnish national parks.
- Sailfish OS 4.1, 4.2, 4.3, 4.4 and 4.5 features 64 bit support on the Sony Xperia 10 II, plus a new sharing system. Releases are named after Finnish Unesco world heritage sites.
| Software version | Initial release date | Name |
| v0.99.5 | 13 November 2013 | Haaganlampi |
| v0.99.6 | 11 November 2013 | Idörpottarna |
| v1.0.0 | 16 November 2013 | Kaajanlampi |
| v1.0.1 | 2 December 2013 | Laadunjärvi |
| v1.0.2 | 27 December 2013 | Maadajärvi |
| v1.0.3 | 27 January 2014 | Naamankajärvi |
| v1.0.4 | 11 March 2014 | Ohijärvi |
| v1.0.5 | 7 April 2014 | Paarlampi |
| v1.0.6 | Not released | Raatejärvi, was merged into v1.0.7 |
| v1.0.7 | 3 June 2014 | Saapunki |
| v1.0.8 | 3 July 2014 | Tahkalampi |
| v1.1.0 | 16 September 2014 | Uitukka, was labelled as "opt-in upgrade" |
| v1.1.1 | 14 December 2014 | Vaarainjärvi |
| v1.1.2 | 1 February 2015 | Yliaavanlampi |
| v1.1.3 | Not released | Åkanttrasket, was merged into v1.1.4 |
| v1.1.4 | 24 March 2015 | Äijänpäivänjärvi |
| v1.1.5 | Not released | Österviken, was dropped at release candidate stage |
| v1.1.6 | 27 May 2015 | Aaslakkajärvi |
| v1.1.7 | 24 June 2015 | Björnträsket |
| v1.1.9 | 18 August 2015 | Eineheminlampi |
| v2.0.0 | 19 October 2015 | Saimaa |
| v2.0.1 | 12 January 2016 | Taalojärvi |
| v2.0.2 | 13 May 2016 | Aurajoki |
| v2.0.3 | 6 July 2016 | Espoonjoki, OS version solely for the Turing Phone |
| v2.0.4 | 4 November 2016 | Fiskarsinjoki |
| v2.0.5 | 14 December 2016 | Haapajoki |
| v2.1.0 | 3 February 2017 | Iijoki |
| v2.1.1 | 15 May 2017 | Jämsänjoki |
| v2.1.2 | 20 September 2017 | Kiiminkijoki |
| v2.1.3 | 6 October 2017 | Kymijoki |
| v2.1.4 | 12 February 2018 | Lapuanjoki |
| v2.2.0 | 30 May 2018 | Mouhijoki |
| v2.2.1 | 31 August 2018 | Nurmonjoki |
| v3.0.0 | 29 October 2018 | Lemmenjoki |
| v3.0.1 | 2 January 2019 | Sipoonkorpi |
| v3.0.2 | 13 March 2019 | Oulanka |
| v3.0.3 | 23 April 2019 | Hossa |
| v3.1.0 | 15 July 2019 | Seitseminen |
| v3.2.0 | 24 October 2019 | Torronsuo |
| v3.2.1 | 5 December 2019 | Nuuksio |
| v3.3.0 | 1 April 2020 | Rokua |
| v3.4.0 | 22 September 2020 | Pallas-Yllästunturi |
| v4.0.1 | 3 February 2021 | Koli |
| v4.1.0 | 10 May 2021 | Kvarken |
| v4.2.0 | 25 August 2021 | Verla |
| v4.3.0 | 28 October 2021 | Suomenlinna |
| v4.4.0 | 15 March 2022 | Vanha Rauma |
| v4.5.0 | 2 February 2023 | Struven Ketju |
| v4.6.0 | 20 May 2024 | Sauna |
| v5.0.0 | 24 February 2025 | Tampella |