HOME

TheInfoList



OR:

Sailfish OS is a Linux-based
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
based on
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, n ...
, and
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
projects such as Mer as well as including a closed source UI. The project is being developed by the Finnish company Jolla. The OS first shipped with the original Jolla Phone in 2013 (its sale stopped in 2016, but it was supplied with software updates until the end of 2020), then the 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 A smartphone is a portable computer device that combines mobile telephone and computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities and extensive mobile operating systems, whic ...
and
tablet computers A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being compu ...
. Sailfish OS can be used for many kinds of devices.


History and development

The OS is an evolved continuation of the Linux
MeeGo MeeGo is a discontinued Linux distribution hosted by the Linux Foundation, using source code from the operating systems Moblin (produced by Intel) and Maemo (produced by Nokia). Primarily targeted at mobile devices and information appliances ...
OS previously developed by alliance of
Nokia Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finland, i ...
and
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 ser ...
which itself relies on combined
Maemo Maemo is a software platform originally developed by Nokia, now developed by the community, for smartphones and Internet tablets. The platform comprises both the Maemo operating system and SDK. Maemo played a key role in Nokia's strategy to c ...
and Moblin. The MeeGo legacy is contained in the Mer core in about 80% of its code; the Mer name thus expands to MEego Reconstructed. This base is extended by Jolla with a custom user interface and default applications. Jolla and MERproject.org follow a meritocratic system to avoid the mistakes that led to the MeeGo project's then-unanticipated discontinuation. The main elements for include: * Technically stronger OS core * Improved Android application compatibility * Support for ARM and Intel architectures, including the Intel Atom x3 processor, or any platform with kernel useable (settle-able) for MER core stack (also called middleware of Sailfish). * Design to provide visibility in the UI for digital content providers and to enable OS level integration for mobile commerce * Strong multitasking (one of the most important advantage of the OS and declared to be the best one on the market) * Strong privacy and personalization features * Enhanced user interface with new UI/UX features, including simpler swipe access to main functions, enhanced notifications and events views.


Software architecture

The and the Sailfish
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific ...
(SDK) are based on the
Linux kernel The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
and Mer. includes a multi-tasking graphical shell called "Lipstick" built with Qt by Jolla on top of the
Wayland display server protocol Wayland may refer to: Computers * Wayland (display server protocol), a graphical display system for Unix-like computers Fiction * Jace Wayland, a character in the ''Mortal Instruments'' book series * Wayland (''Star Wars''), a planet in the '' ...
. Jolla uses
free and open-source graphics device driver A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software licens ...
s but the Hybris library allows use of proprietary drivers for Android. Jolla's stated goal is for Sailfish to be open source eventually. can run some Android applications through a proprietary compatibility layer.


Targeted device classes

Sailfish is targeted at mobile devices, but since it inherited around 80% of MeeGo code, Sailfish can be used as a complete general-purpose Linux OS on devices including in vehicle infotainment (IVI), navigation, smart TV, desktops and notebooks, yachts, automotive, e-commerce, home appliances, measuring and control equipment, smart building equipment, etc. See use cases of original MeeGo to compare, and 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 Alpha (uppercase , lowercase ; grc, ἄλφα, ''álpha'', or ell, άλφα, álfa) is the first letter of the Greek alphabet. In the system of Greek numerals, it has a value of one. Alpha is derived from the Phoenician letter aleph , whi ...
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 Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by Innotek GmbH, which was acquired by S ...
for development, compiling and emulation purposes, in contrast to the
simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of Conceptual model, models; the model represents the key characteristics or behaviors of the selected system or proc ...
method. This technique allows compilation on the and full testing of developed software in the
virtual machine In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized h ...
, 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 In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit CPUs and ALUs are those that are based on processor registers, address buses, or data buses of that size. A ...
versions of
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
, 64-bit versions of
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, and
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
. 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 (Qt 5, QtQuick 2 etc.) and a closed source Sailfish Silica for the UI. Standard Linux APIs are provided by the Mer Core. Sailfish,
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All ...
and Plasma Active have been cooperating to share common APIs. When successful, this will make the platforms compatible on the API level. Sailfish Browser is the default web browser based on
Gecko Geckos are small, mostly carnivorous lizards that have a wide distribution, found on every continent except Antarctica. Belonging to the infraorder Gekkota, geckos are found in warm climates throughout the world. They range from . Geckos a ...
and using embedlite (also known as IPCLiteAPI), a lite-weight embedding API from Mozilla.


Software overview


UI supported human languages

Officially Jolla declares supporting the following 14 languages for the user interface: Danish,
German German(s) may refer to: * Germany (of or related to) **Germania (historical use) * Germans, citizens of Germany, people of German ancestry, or native speakers of the German language ** For citizens of Germany, see also German nationality law **Ge ...
,
English (UK) British English (BrE, en-GB, or BE) is, according to Oxford Dictionaries, "English as used in Great Britain, as distinct from that used elsewhere". More narrowly, it can refer specifically to the English language in England, or, more broadl ...
, Spanish,
French French (french: français(e), link=no) may refer to: * Something of, from, or related to France ** French language, which originated in France, and its various dialects and accents ** French people, a nation and ethnic group identified with Franc ...
,
Italian Italian(s) may refer to: * Anything of, from, or related to the people of Italy over the centuries ** Italians, an ethnic group or simply a citizen of the Italian Republic or Italian Kingdom ** Italian language, a Romance language *** Regional Ita ...
, 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. * 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 and 4.4 features 64 bit support on the Sony Xperia 10 II, plus a new sharing system. Releases are named after Finnish Unesco world heritage sites.


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.


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 versions are 4.1.2 "Jelly Bean" on the original Jolla phone; 4.4.4 "Kit-Kat" on the Jolla C, Jolla tablet and Xperia X; 8.1.0 "Oreo", 9 "Pie" and 10 (depending on the Sailfish OS release) on
Xperia XA2 The Sony Xperia XA2 is an Android smartphone manufactured and marketed by Sony. Part of the Xperia X series, the device was announced to the public along with the Xperia XA2 Ultra and Xperia L2 at the annual 2018 Consumer Electronics Show on ...
, Xperia 10 and Xperia 10 II. Problems can arise if these applications were built without following Android standards about controls, which might not display correctly and so become unusable. Sailfish OS uses Alien Dalvik, a
proprietary {{Short pages monitor *
Comparison of mobile operating systems This is a comparison of mobile operating systems. Only the latest versions are shown in the table below, even though older versions may still be marketed. About OS Advanced controls Accessibility features App ecosystem Browser ...
*
Hongmeng OS HarmonyOS (HMOS) () is a distributed operating system developed by Huawei to collaborate and interconnect with multiple smart devices on the Internet of Things (IoT) ecosystem. In its current multi-kernel design, the operating system selects s ...
* KaiOS *
Nokia Asha platform The Nokia Asha platform is a mobile operating system (OS) and computing platform designed for low-end borderline smartphones, based on software from Smarterphone which was acquired by Nokia. The platform inherits UI similarities mostly from MeeGo ...
*
Nokia X platform The Nokia X platform was a Linux-based mobile operating system and software platform originally developed by Nokia, and subsequently by Microsoft Mobile. Introduced on 24 February 2014, it was forked from Android and used on all the devices of ...


References


External links

*
SailfishOSwiki
a site hosting documentation
Building packages manually (including porting over existing applications that use a different build system)

Jolla website

OpenRepos.net

FlyingSheep on Sailfish
good reading for developers and porting from MeeGo Harmattan to {{Qt ARM operating systems Embedded Linux distributions Finnish brands Free mobile software Linux distributions MeeGo Mobile Linux Mobile operating systems Smartphones Software that uses QML X86-64 Linux distributions X86-64 operating systems